API
English

API referansı · Ürünler

Ürün ekle

StockMount tipindeki bir kaynağa yeni ürün ekler; varyantları, görselleri ve özellikleri aynı çağrıda kaydeder. Yanıt yeni ürünün ProductId değeridir.

POST https://out.stockmount.com/api/Product/AddProduct
Veri değiştirir Ürün Paketi gerekir

Zorunlu alanlar şu sırayla kontrol edilir: ProductSourceId, CurrencyId, Price (0'dan büyük olmalı), Code, Name, Category. İlk eksik alanda 00003 döner ve ErrorMessage alanı belirtir: ProductSourceId is missing, CurrencyId is missing, Price is missing, Code is missing, Name is missing veya yalnızca Category. Herhangi bir varyantta VariantValueN doluysa üründe VariantNameN de zorunludur; yoksa VariantNameN is missing döner.

Kaynak hesabınızda bulunamazsa 70002 (Invalid Product Source), StockMount tipinde değilse 70003 (Invalid Product Source Type) döner. Ürünü yalnızca GetProductSources listesindeki kaynaklara ekleyebilirsiniz.

Code kaynak içinde benzersizdir ve birebir karşılaştırılır. Aynı kodlu ürün zaten varsa hiçbir şey değişmez ve yanıt {"Result": true, "Message": "Product code already exists", "ErrorCode": "70004", "Response": <mevcut ProductId>} olur. Yani Result: true tek başına ürünün eklendiğini göstermez; ErrorCode alanını da kontrol edin. Kaldırılmış DeleteProduct ile geçmişte silinen ürünlerin kodları da bu kontrolde sayılır.

UpdateProductByCode: true gönderirseniz ve kod kaynakta varsa, 70004 yerine mevcut ürün güncellenir (ekle veya güncelle). Bu durumda UpdateProduct kuralları geçerlidir: gönderilmeyen alanlar temizlenir ve görseller değişmez.

Başarılı eklemede Response yeni ürünün ProductId değeridir. Yeni ürünün durumu stok miktarından bağımsız olarak 1 (yeni) olur. ProductId, Status, Url, StoreId, CreationTime, Image, SoldCount ve SetProductQuantityFromVariants alanları bu çağrıda yok sayılır.

Görsel, varyant ve özellik kayıtları ürün satırı kaydedildikten sonra yapılır. Bunlardaki hatalar yanıta yansımaz; çağrı yine Result: true döner. Görsel yükleme başarısız olursa görsel boş adresle kaydedilir. Geçersiz Base64 verisi ise 99999 döndürür, ama ürün o anda zaten oluşmuştur; aynı isteği tekrarlarsanız 70004 alırsınız. Sonucu GetProduct ile kontrol edin.

Varyantlar ürün üzerindeki VariantName1–VariantName6 ve varyantlardaki VariantValue1–VariantValue6 ile tanımlanır (ör. VariantName1: Renk, VariantValue1: Siyah). Varyant Code alanı sonraki güncellemelerde eşleştirme anahtarıdır. Ürünün Quantity değeri varyant stoklarından hesaplanmaz; toplam stoğu kendiniz gönderin.

Bu çağrı pazaryerine özel kontrolleri yapmaz: barkod biçimi ve özel karakterler, zorunlu marka, izinli KDV oranları, webp görseller veya katalog onayı burada denetlenmez. Bu kontroller ürün bir pazaryerine gönderilirken yapılır ve sonucu StockMount panelinde görünür. 70012 ve 70014–70017 kodları bu çağrıdan dönmez.

Uzunluk sınırları veritabanı alanlarından gelir ve API tarafından kontrol edilmez; sınırı aşan metinler hata vermeden kesilir. Hata mesajları İngilizcedir.

Yalnızca paket hatasının (70018) mesajı Türkçedir.

Aktif Ürün Paketi olmayan hesaplar 70018 hatası alır; paket bilgisi doğrulanamazsa 99999 döner.

İstek alanları

Alan Tip Açıklama
ApiCode zorunlu string DoLogin ile aldığınız oturum kodu.
ProductSourceId zorunlu integer Ürünün bulunduğu StockMount tipindeki kaynak (GetProductSources). Hesabınızda yoksa 70002, StockMount tipinde değilse 70003 döner.
Code zorunlu string Ürün kodu (stok kodu). Kaynak içinde benzersizdir ve birebir karşılaştırılır. En fazla 50 karakter.
Name zorunlu string Ürün adı. En fazla 400 karakter.
Category zorunlu string Kategori adı (kimlik değil). Kaynakta yoksa otomatik oluşturulur. Mevcut adlar için GetProductCategories.
Price zorunlu number Satış fiyatı. 0'dan büyük olmalıdır; değilse 00003 (Price is missing) döner. 2 ondalık basamak saklanır.
CurrencyId zorunlu integer Para birimi kimliği (GetCurrencies; ör. 4 = TRY, 2 = USD, 3 = EUR). 1'den küçükse 00003 döner. API kimliğin varlığını doğrulamaz; geçerli bir kimlik gönderin.
Quantity integer Stok miktarı. Gönderilmezse 0. API negatif değeri reddetmez. Varyantlı üründe toplam stoğu kendiniz gönderin; varyant stoklarından hesaplanmaz.
MarketPrice number Piyasa (liste) fiyatı; genellikle Price değerinden yüksektir ve indirimi göstermek için kullanılır. Gönderilmezse 0.
TaxRate number KDV oranı, yüzde olarak (ör. 20). API izinli değer listesi uygulamaz. Gönderilmezse 0 kaydedilir.
Barcode string Ürün barkodu. En fazla 30 karakter. Biçim veya özel karakter kontrolü yapılmaz.
Brand string Marka. En fazla 30 karakter.
Model string Model. En fazla 30 karakter.
Code2 string İkinci ürün kodu. En fazla 50 karakter.
Mpn string Üretici parça numarası (MPN). En fazla 50 karakter.
Subtitle string Alt başlık. En fazla 400 karakter.
Description string Ürün açıklaması; HTML olabilir. Güvenli olmayan HTML (ör. script) temizlenir. Gönderilmezse boş kaydedilir.
UpdateProductDescription boolean Yalnızca UpdateProductByCode ile çağrı güncellemeye dönüştüğünde anlamlıdır: false ise mevcut açıklama korunur. Varsayılan true.
DispatchPeriod integer Kargoya teslim (hazırlık) süresi, gün. Gönderilmezse -1 (tanımsız).
Volume number Hacim / desi. Gönderilmezse 0.
Width number Genişlik. Gönderilmezse 0.
Length number Uzunluk. Gönderilmezse 0.
Height number Yükseklik. Gönderilmezse 0.
Weight number Ağırlık. Gönderilmezse 0.
SellerNote string Satıcı notu. En fazla 150 karakter.
Price2 number Ek fiyat alanı. Yalnızca ürün oluşturulurken kaydedilir; UpdateProduct bu alanı değiştirmez. Gönderilmezse 0.
Price3 number Ek fiyat alanı. Yalnızca ürün oluşturulurken kaydedilir; UpdateProduct bu alanı değiştirmez. Gönderilmezse 0.
Price4 number Ek fiyat alanı. Yalnızca ürün oluşturulurken kaydedilir; UpdateProduct bu alanı değiştirmez. Gönderilmezse 0.
Price5 number Ek fiyat alanı. Yalnızca ürün oluşturulurken kaydedilir; UpdateProduct bu alanı değiştirmez. Gönderilmezse 0.
VariantName1 string 1. varyant özelliğinin adı (ör. Renk). En fazla 30 karakter. Herhangi bir varyantta VariantValue1 doluysa zorunludur; yoksa 00003 (VariantName1 is missing) döner.
VariantName2 string 2. varyant özelliğinin adı (ör. Beden). En fazla 30 karakter. Herhangi bir varyantta VariantValue2 doluysa zorunludur; yoksa 00003 (VariantName2 is missing) döner.
VariantName3 string 3. varyant özelliğinin adı (ör. Beden). En fazla 30 karakter. Herhangi bir varyantta VariantValue3 doluysa zorunludur; yoksa 00003 (VariantName3 is missing) döner.
VariantName4 string 4. varyant özelliğinin adı (ör. Beden). En fazla 30 karakter. Herhangi bir varyantta VariantValue4 doluysa zorunludur; yoksa 00003 (VariantName4 is missing) döner.
VariantName5 string 5. varyant özelliğinin adı (ör. Beden). En fazla 30 karakter. Herhangi bir varyantta VariantValue5 doluysa zorunludur; yoksa 00003 (VariantName5 is missing) döner.
VariantName6 string 6. varyant özelliğinin adı (ör. Beden). En fazla 30 karakter. Herhangi bir varyantta VariantValue6 doluysa zorunludur; yoksa 00003 (VariantName6 is missing) döner.
Images object[] Ürün görselleri, en fazla 12 adet (fazlası yok sayılır). Sıra dizideki sıradır; Order alanı kullanılmaz.
Images[]. Url string Görsel adresi. Olduğu gibi kaydedilir; biçim, protokol veya webp kontrolü yapılmaz. // ile başlıyorsa başına http: eklenir. En fazla 400 karakter.
Images[]. Base64 string Url boşsa kullanılır: görsel StockMount görsel sunucusuna yüklenir ve http:// adresiyle kaydedilir. data: öneki olmadan ham Base64 gönderin. PNG ve JPEG tanınır; diğer veriler .png uzantısıyla kaydedilir.
Variants object[] Varyant listesi. ProductVariantId, CurrencyId, MinSalePrice ve Price2–Price5 alanları yok sayılır.
Variants[]. Code string Varyant kodu. Güncellemelerde varyant bu kodla eşleştirilir; dolu ve ürün içinde benzersiz gönderin. En fazla 50 karakter.
Variants[]. Barcode string Varyant barkodu. Baştaki ve sondaki boşluklar kırpılır. En fazla 30 karakter.
Variants[]. Quantity integer Varyant stoğu. Negatif değerler 0 olarak kaydedilir.
Variants[]. Price number Varyant fiyatı. Gönderilmezse 0 kaydedilir.
Variants[]. VariantValue1 string 1. varyant özelliğinin değeri (ör. Siyah). En fazla 100 karakter.
Variants[]. VariantValue2 string 2. varyant özelliğinin değeri (ör. M). En fazla 100 karakter.
Variants[]. VariantValue3 string 3. varyant özelliğinin değeri (ör. M). En fazla 100 karakter.
Variants[]. VariantValue4 string 4. varyant özelliğinin değeri (ör. M). En fazla 100 karakter.
Variants[]. VariantValue5 string 5. varyant özelliğinin değeri (ör. M). En fazla 100 karakter.
Variants[]. VariantValue6 string 6. varyant özelliğinin değeri (ör. M). En fazla 100 karakter.
Variants[]. ImageUrl string Varyant görselinin adresi. En fazla 200 karakter.
Variants[]. ImageBase64 string ImageUrl boşsa kullanılır: görsel StockMount görsel sunucusuna yüklenir. data: öneki olmadan ham Base64 gönderin.
Variants[]. Code2 string İkinci varyant kodu. En fazla 50 karakter. Boşsa varyantın dizideki sırası (0, 1, 2…) yazılır.
Variants[]. Mpn string Varyantın üretici parça numarası. En fazla 50 karakter.
Specs object[] Ürün özellikleri (ad–değer çiftleri).
Specs[]. Name string Özellik adı (ör. Materyal). En fazla 50 karakter.
Specs[]. Value string Özellik değeri (ör. Pamuk). En fazla 100 karakter.
UpdateProductByCode boolean true ise ve Code kaynakta zaten varsa, 70004 yerine mevcut ürün güncellenir (ekle veya güncelle). Varsayılan false.

Yanıt alanları (Response)

Alan Tip Açıklama
Response integer Yeni ürünün ProductId değeri. 70004 durumunda aynı kodlu mevcut ürünün kimliğidir.

Bu servisin hata kodları

KodNe zaman
70002 ProductSourceId hesabınızdaki bir kaynak değil (Invalid Product Source).
70003 Kaynak StockMount tipinde değil (Invalid Product Source Type).
70004 Kaynakta aynı Code ile ürün var. Result true döner, Response mevcut ProductId değeridir ve hiçbir şey değişmez.
70005 Kod kontrolü için ürünler okunamadı (iç okuma hatası; Message: Product could not be retreived).
70018 Hesabınızda aktif Ürün Paketi yok (ErrorMessage: Ürün entegrasyonu için aktif Ürün Paketi gereklidir.).
99999 Beklenmeyen bir hata oluştu. Ürün kaydedilemediğinde veya Base64 görsel çözülemediğinde de döner (ikinci durumda ürün oluşmuş olabilir).

Oturum hataları (00001, 00006) ve tüm kodlar için hata kodları.

İlgili servisler

Örnek istek

{
  "ApiCode": "API_CODE",
  "ProductSourceId": 1234,
  "Code": "TSHIRT-001",
  "Name": "Basic Pamuklu Tişört",
  "Category": "Tişört",
  "Price": 249.9,
  "MarketPrice": 299.9,
  "CurrencyId": 4,
  "TaxRate": 20,
  "Quantity": 30,
  "Barcode": "8690000000017",
  "Brand": "Örnek Marka",
  "Model": "BSC-01",
  "Description": "<p>%100 pamuk, regular fit.</p>",
  "DispatchPeriod": 2,
  "Volume": 1,
  "VariantName1": "Renk",
  "VariantName2": "Beden",
  "Images": [
    {
      "Url": "https://cdn.example.com/tshirt-001-1.jpg"
    },
    {
      "Url": "https://cdn.example.com/tshirt-001-2.jpg"
    }
  ],
  "Variants": [
    {
      "Code": "TSHIRT-001-BLK-M",
      "Barcode": "8690000000024",
      "Quantity": 10,
      "Price": 249.9,
      "VariantValue1": "Siyah",
      "VariantValue2": "M"
    },
    {
      "Code": "TSHIRT-001-BLK-L",
      "Barcode": "8690000000031",
      "Quantity": 20,
      "Price": 249.9,
      "VariantValue1": "Siyah",
      "VariantValue2": "L"
    }
  ],
  "Specs": [
    {
      "Name": "Materyal",
      "Value": "Pamuk"
    }
  ]
}

Örnek yanıt

{
  "Result": true,
  "Response": 987654
}

Deneyin

İstek tarayıcınızdan doğrudan out.stockmount.com adresine gider. ApiCode bu sitede saklanmaz; yalnızca bu sekme açıkken tutulur.

İstek göndermek için önce ApiCode alın.

Bu servis hesabınızdaki gerçek verileri değiştirir.

↑ ↓ ile gezinin, Enter ile açın, Esc ile kapatın.

Out API'ye bağlan

DoLogin çağrılır ve dönen ApiCode bu sekmede tutulur. API şifreniz bu siteye gönderilmez.