Varyantlar

Varyant stok ve fiyat değişiklikleri varyant seviyesinde uygulanır.

Endpointler

PATCH/products/{product}/variants/{variant}/inventoryVaryant stok güncelle
PATCH/products/{product}/variants/{variant}/priceVaryant fiyat güncelle

Varyant API ne zaman kullanılır?

Bir ürün beden, renk veya başka seçeneklere göre varyantlara ayrılıyorsa stok ve fiyat değişiklikleri varyant seviyesinde yapılmalıdır.

Varyantlı üründe ürün seviyesinde Inventory veya Pricing endpointini kullanmak yerine ilgili variant endpointini kullanın.

Endpointler ve scope'lar

EndpointScopeAmaç
PATCH /products/{product}/variants/{variant}/inventoryinventory:writeTek varyant stok güncelle
PATCH /products/{product}/variants/{variant}/pricepricing:writeTek varyant fiyat güncelle

Path parametreleri

ParametreAçıklama
productVaryantın bağlı olduğu BYNovax ürün kimliği
variantGüncellenecek BYNovax varyant kimliği

Ürüne sonradan varyant ekleme

Varyant bilgilerini güncelleme

Varyantı pasifleştirme

Varyant stok güncelleme

Inventory endpointine JSON body içerisinde stock gönderilir. stock integer olmalı ve negatif olmamalıdır.

Bu işlem write operasyonudur; benzersiz Idempotency-Key gönderin.

PATCH /products/7314/variants/3623/inventory

{
  "stock": 8
}

Varyant fiyat güncelleme

Price endpointi ilgili varyantın satış fiyatını güncellemek için kullanılır. Göndereceğiniz fiyat alanlarını Pricing contract'ıyla uyumlu tutun.

Bu işlem de idempotent write olarak ele alınmalı ve Idempotency-Key kullanılmalıdır.

ERP eşleme önerisi

ERP sisteminizde yalnızca product ID değil variant ID eşlemesini de saklayın. Örneğin ERP'deki Mavi / XL seçeneğini BYNovax variant ID ile eşleştirin.

Stok değiştiğinde ürünün tamamını yeniden yazmak yerine yalnızca değişen varyantın inventory endpointini çağırın.

Sık hata

Ürün varyantlıysa ürün seviyesindeki stok veya fiyat endpointi 409 conflict üretebilir. Böyle bir durumda varyant seviyesindeki endpoint kullanılmalıdır.

Çalıştığını nasıl doğrularım?

  • Product ve variant ID doğru.
  • Credential gerekli inventory:write veya pricing:write scope'a sahip.
  • PATCH çağrısı başarılı dönüyor.
  • Aynı mantıksal retry için Idempotency-Key korunuyor.

Marketplace varyant contractı

KonuContract
Tenant authorityproduct ve variant credential mağazasında çözülür
LifecycleCreate / update / passive işlemleri products:write kullanır
Stok authorityVariant inventory endpointi kullanılır
Fiyat authorityVariant price endpointi kullanılır
RetryAynı logical write retry için aynı Idempotency-Key korunur
Code namespaceSKU ve barkod ürün + varyant mağaza namespace'i içinde benzersiz olmalıdır

ERP varyant state modeli

  • ERP tarafında BYNovax product_id ile birlikte variant_id eşlemesini de kalıcı saklayın.
  • Seçenek metni değişse bile mümkün olduğunda aynı BYNovax variant_id eşlemesini koruyun.
  • Katalog alanı değişikliğini variant lifecycle endpointine, stok değişikliğini inventory endpointine, fiyat değişikliğini pricing endpointine gönderin.
  • Varyant pasifleştirildiğinde eski sipariş satırlarının variant referanslarını silmeyin.
  • Cross-tenant product veya variant ID hiçbir zaman başka mağazayı güncellemek için kullanılmamalıdır.

Varyant hata / retry davranışı

DurumEntegrasyon davranışı
401Credential veya authentication header kontrol edin
403products:write, inventory:write veya pricing:write scope kontrol edin
404Product / variant ID credential tenant kapsamında mı kontrol edin
409Code conflict, varyant authority veya idempotency conflict kontrol edin
422Payload alanları ve veri tiplerini kontrol edin
TimeoutYeni mutation üretmeden aynı logical request'i aynı Idempotency-Key ile retry edin