API
English

API referansı · Ürünler

Ürünü güncelle

Mevcut bir ürünün bilgilerini, varyantlarını ve özelliklerini gönderdiğiniz değerlerle baştan yazar. Görselleri ve ürün kodunu değiştirmez.

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

Bu çağrı kısmi güncelleme değildir; ürünün tamamını yeniden yazar. Zorunlu alanlar ve 00003 mesajları AddProduct ile aynıdır (ProductSourceId, CurrencyId, Price > 0, Code, Name, Category). Gönderilmeyen isteğe bağlı alanlar temizlenir: Barcode, Brand, Model, Subtitle, Code2, Mpn, SellerNote ve VariantName1–VariantName6 boşalır; TaxRate, MarketPrice, Volume, Width, Length, Height, Weight 0 olur; DispatchPeriod -1 olur; Description boşalır (UpdateProductDescription: false göndermediğiniz sürece). Önce GetProduct ile ürünü okuyup tüm alanları geri gönderin.

Yalnızca StockMount panelinde yönetilen bazı değerler de her güncellemede sıfırlanır: satış adedi (SoldCount), minimum satış fiyatı, ürün sayfası adresi, meta/SEO alanları, fatura adı ve garanti bilgisi. Güncellenen varyantların satış adedi de 0 olur.

Değişmeyenler: görseller (Images ve varyant görsel alanları yok sayılır; görseller için UpdateProductImages), Price2–Price5 ve ürün kodu (SetProductCode).

Ürün ProductId ile bulunur ve Code ürünün kaynaktaki mevcut kodu olmalıdır. Kod kaynakta hiç yoksa 70005 (Message: There is no product with the given ProductId), kod başka bir üründeyse Result: false ile 70004 (Message: Product code does not exist) döner. UpdateProductByCode: true gönderirseniz ProductId gerekmez; ürün ProductSourceId + Code ile bulunur, bulunamazsa 70005 döner. Bu iki hatada metin ErrorMessage değil Message alanındadır.

Durum stoktan yeniden hesaplanır: Quantity 1'den küçükse 3 (durdurulmuş / stok yok), değilse 2 (değişti). Böylece StopProduct ile durdurulmuş bir ürün, stoğu 0'dan büyük gönderildiğinde yeniden aktif olur.

Variants gönderirseniz varyantlar Code ile eşleştirilir: eşleşenler güncellenir, yeni kodlar görselsiz eklenir, listede olmayan mevcut varyantlar pasife alınır. Pasif varyantlar silinmez ve GetProduct yanıtında görünmeye devam eder. Variants boş veya gönderilmemişse varyantlara dokunulmaz. Specs gönderirseniz özellik listesinin tamamı değiştirilir; göndermezseniz mevcut özellikler kalır.

Başarılı güncellemede Response ürünün ProductId değeridir ve ürün, listelendiği aktif mağazalar için senkronizasyon kuyruğuna alınır. Bu çağrı 70013 (değişiklik yok) döndürmez; değerler aynı olsa da kayıt yeniden yazılır. Kategori otomatik oluşturma, uzunluk sınırları ve HTML temizliği AddProduct ile aynıdır.

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.
ProductId integer Güncellenecek ürünün kimliği. UpdateProductByCode true değilse zorunludur; 1'den küçükse 00003 döner (ErrorMessage: ProductId is missing).
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ün kaynaktaki mevcut kodu. Ürünü doğrulamak için kullanılır; kodu bu çağrıyla değiştiremezsiniz (SetProductCode). 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. Durum bu değere göre yeniden hesaplanır (1'den küçükse 3, değilse 2).
MarketPrice number Piyasa (liste) fiyatı; genellikle Price değerinden yüksektir ve indirimi göstermek için kullanılır. Gönderilmezse 0. UpdateProduct içinde gönderilmezse 0 olur.
TaxRate number KDV oranı, yüzde olarak (ör. 20). API izinli değer listesi uygulamaz. Gönderilmezse 0 kaydedilir. UpdateProduct içinde gönderilmezse 0 olur.
Barcode string Ürün barkodu. En fazla 30 karakter. Biçim veya özel karakter kontrolü yapılmaz. UpdateProduct içinde gönderilmezse temizlenir.
Brand string Marka. En fazla 30 karakter. UpdateProduct içinde gönderilmezse temizlenir.
Model string Model. En fazla 30 karakter. UpdateProduct içinde gönderilmezse temizlenir.
Code2 string İkinci ürün kodu. En fazla 50 karakter. UpdateProduct içinde gönderilmezse temizlenir.
Mpn string Üretici parça numarası (MPN). En fazla 50 karakter. UpdateProduct içinde gönderilmezse temizlenir.
Subtitle string Alt başlık. En fazla 400 karakter. UpdateProduct içinde gönderilmezse temizlenir.
Description string Ürün açıklaması; HTML olabilir. Güvenli olmayan HTML (ör. script) temizlenir. Gönderilmezse boş kaydedilir. UpdateProductDescription false ise mevcut açıklama korunur.
UpdateProductDescription boolean false gönderirseniz açıklama değiştirilmez. Varsayılan true.
DispatchPeriod integer Kargoya teslim (hazırlık) süresi, gün. Gönderilmezse -1 (tanımsız). UpdateProduct içinde gönderilmezse -1 olur.
Volume number Hacim / desi. Gönderilmezse 0. UpdateProduct içinde gönderilmezse 0 olur.
Width number Genişlik. Gönderilmezse 0. UpdateProduct içinde gönderilmezse 0 olur.
Length number Uzunluk. Gönderilmezse 0. UpdateProduct içinde gönderilmezse 0 olur.
Height number Yükseklik. Gönderilmezse 0. UpdateProduct içinde gönderilmezse 0 olur.
Weight number Ağırlık. Gönderilmezse 0. UpdateProduct içinde gönderilmezse 0 olur.
SellerNote string Satıcı notu. En fazla 150 karakter. UpdateProduct içinde gönderilmezse temizlenir.
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. UpdateProduct içinde gönderilmezse temizlenir.
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. UpdateProduct içinde gönderilmezse temizlenir.
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. UpdateProduct içinde gönderilmezse temizlenir.
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. UpdateProduct içinde gönderilmezse temizlenir.
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. UpdateProduct içinde gönderilmezse temizlenir.
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. UpdateProduct içinde gönderilmezse temizlenir.
Variants object[] Varyant listesi. Gönderirseniz varyantlar Code ile eşleştirilir: eşleşenler güncellenir, yenileri görselsiz eklenir, listede olmayan mevcut varyantlar pasife alınır. Boş veya gönderilmemişse varyantlara dokunulmaz. Görsel alanları (ImageUrl, ImageBase64) 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[]. 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. Gönderirseniz mevcut özellik listesinin tamamı bununla değiştirilir; gönderilmezse mevcut özellikler kalır.
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 ProductId gerekmez; ürün ProductSourceId + Code ile bulunur. Bulunamazsa 70005 döner. Varsayılan false.

Yanıt alanları (Response)

Alan Tip Açıklama
Response integer Güncellenen ürünün ProductId değeri.

Bu servisin hata kodları

KodNe zaman
70002 ProductSourceId hesabınızdaki bir kaynak değil.
70003 Kaynak StockMount tipinde değil.
70004 Code kaynakta başka bir ürüne ait (Result: false, Message: Product code does not exist).
70005 Code kaynakta yok (ör. ürün kodu değiştirilmeye çalışıldı) veya UpdateProductByCode ile ürün bulunamadı (Message: There is no product with the given ProductId).
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 kaydı güncellenemediğinde de döner.

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

İlgili servisler

Örnek istek

{
  "ApiCode": "API_CODE",
  "ProductId": 987654,
  "ProductSourceId": 1234,
  "Code": "TSHIRT-001",
  "Name": "Basic Pamuklu Tişört",
  "Category": "Tişört",
  "Price": 229.9,
  "MarketPrice": 299.9,
  "CurrencyId": 4,
  "TaxRate": 20,
  "Quantity": 25,
  "Barcode": "8690000000017",
  "Brand": "Örnek Marka",
  "Model": "BSC-01",
  "Description": "<p>%100 pamuk, regular fit.</p>",
  "DispatchPeriod": 2,
  "Volume": 1,
  "VariantName1": "Renk",
  "VariantName2": "Beden",
  "Variants": [
    {
      "Code": "TSHIRT-001-BLK-M",
      "Barcode": "8690000000024",
      "Quantity": 5,
      "Price": 229.9,
      "VariantValue1": "Siyah",
      "VariantValue2": "M"
    },
    {
      "Code": "TSHIRT-001-BLK-L",
      "Barcode": "8690000000031",
      "Quantity": 20,
      "Price": 229.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.