Tek istekte en fazla 1.000 ürünün stoğunu ve/veya fiyatını günceller. ERP, muhasebe ya da depo yazılımından düzenli stok ve fiyat senkronu için önerilen uç budur:
productId) ya da barkod veya stok kodu ile bulur. Kendi sisteminizde kimlik saklamanız gerekmez.POST https://api.hizlisanalmarket.com/api/v1/products/stock-price · İzin: stock:write
{
"items": [
{ "barcode": "8690000000017", "quantity": 25 },
{ "sku": "KUPA-350", "price": 229.90, "compareAtPrice": 299.90 },
{ "productId": "8f1c2a4e-3b5d-4c6e-9f70-1a2b3c4d5e6f", "quantity": 0, "price": 199.90 }
]
}
| Alan | Tür | Açıklama |
|---|---|---|
items |
Liste | Güncellenecek kalemler. En az 1, en fazla 1.000. |
items[].productId |
GUID | Ürün kimliği (isteğe bağlı). |
items[].barcode |
Metin | Barkod (isteğe bağlı). |
items[].sku |
Metin | Stok kodu (isteğe bağlı). |
items[].quantity |
Ondalık | Yeni stok miktarı. Gönderilmezse stok değişmez. Negatif olamaz. |
items[].price |
Ondalık | Yeni KDV dahil satış fiyatı. Gönderilmezse fiyat değişmez. |
items[].compareAtPrice |
Ondalık | Yeni üstü çizili fiyat (KDV dahil). Gönderilmezse değişmez. |
Her kalemde productId, barcode ya da sku alanlarından en az biri bulunmalıdır.
Her kalem için sırayla şunlar denenir:
productId verildiyse ve ürün varsa o ürün kullanılır. Bulunamazsa sonraki adıma geçilir. Böylece ürün silinip yeniden açıldığında eskiyen kimlik kalemi bozmaz.barcode verildiyse barkodu eşleşen ürün.sku verildiyse stok kodu eşleşen ürün.Barkod ve stok kodu birebir aynı yazılmalıdır (büyük/küçük harf dahil). Aynı barkod ya da stok kodu birden fazla üründe kayıtlıysa yanlış ürünü güncellememek için o kalem başarısız sayılır.
İki kalemli bir istek için örnek yanıt (biri güncellendi, biri bulunamadı):
{
"updated": 1,
"failed": 1,
"skipped": 0,
"results": [
{
"productId": "8f1c2a4e-3b5d-4c6e-9f70-1a2b3c4d5e6f",
"sku": "KUPA-350",
"barcode": "8690000000017",
"success": true,
"error": null,
"stockSkipped": false,
"stockStatus": null,
"stockQuantity": null,
"note": null
},
{
"productId": null,
"sku": "KUPA-500",
"barcode": null,
"success": false,
"error": "Ürün bulunamadı (barkod/stok kodu).",
"stockSkipped": false,
"stockStatus": null,
"stockQuantity": null,
"note": null
}
]
}
| Alan | Açıklama |
|---|---|
updated |
En az bir değişikliği uygulanan kalem sayısı. |
failed |
Ürünü bulunamayan ya da değeri geçersiz kalem sayısı. |
skipped |
Yalnız stok gönderilen, ama stoğu elle girilemeyen bir ürüne (paket ya da dijital) denk gelen kalem sayısı. Bu kalemlerde hiçbir şey değişmez. |
results |
Kalemlerin sırasıyla sonuçları. |
results[].success |
Kalem işlendi mi. |
results[].error |
Başarısız kalemde neden. |
results[].stockSkipped |
Stok gönderildi ama uygulanmadı. Ürün paketse stockStatus derived, dijitalse not-tracked olur. stockQuantity ürünün güncel (hesaplanan) stoğunu, note açıklamayı verir. Kalemdeki fiyat yine uygulanır. |
updated, failed ve skipped toplamı kalem sayısına eşittir.
code |
Neden |
|---|---|
EMPTY_ITEMS |
items boş ya da gönderilmedi. |
TOO_MANY_ITEMS |
1.000'den fazla kalem. Listeyi parçalara bölün. |
failed kalemlerin error metinlerini kaydedin. Bunlar çoğunlukla mağazada olmayan ya da barkodu iki üründe kayıtlı ürünlerdir.