Ürünleri toplu güncelle

PUT /sapigw/suppliers/{supplierId}/v2/products — PIM API · Ürünler

Ürünleri toplu aktar ile aynı işlemi yapar; aynı gövdeyi PUT ile göndermek isteyen istemciler içindir. Var olan ürünler SKU/barkod üzerinden güncellenir, olmayanlar yaratılır. Sonuç BatchRequestId ile takip edilir.

Parametreler

  • supplierId (path, string, zorunlu): CommerceLab'in size ilettiği tedarikçi kimliği. Bu ortamda tanımlı değilse istek 401 alır.
  • trustedSource (query, boolean): Firmada "güvenilir kaynak" zorunluluğu açıksa true gönderilmelidir; gönderilmezse istek işlenmeden reddedilir. Zorunluluk kapalıysa etkisizdir.
  • Tenant (header, string): Basic Auth ile birden fazla firmaya erişen kullanıcılarda firma kodu. Bearer token kullanılıyorsa gerekmez.

İstek gövdesi

  • items (object[], zorunlu): Aktarılacak SKU'lar; her eleman satılabilir tek bir ürün (barkod) temsil eder.
    • items.title (string): Ürün adı (ad, kısa açıklama ve SEO açıklaması olarak yazılır).
    • items.images (object[]): Ürün görselleri; sırası korunur.
      • items.images.url (string): Görselin herkese açık tam adresi.
      • items.images.updatedOn (string<date-time>): Görselin son güncellenme zamanı.
    • items.onSale (boolean): Satış durumu alanı; varsayılan eşlemede satış durumu salePrice > 0 ile belirlenir.
    • items.barcode (string, zorunlu): Ürünün varsayılan barkodu; tekil olmalıdır.
    • items.brandId (integer<int64>): Marka kimliği.
    • items.vatRate (number): KDV oranı (ör. 20).
    • items.quantity (number): Stok miktarı; varsayılan depoya yazılır.
    • items.brandName (string): Marka adı.
    • items.listPrice (number): Liste fiyatı.
    • items.salePrice (number): Satış fiyatı; 0'dan büyükse ürün satışta kabul edilir.
    • items.stockCode (string, zorunlu): SKU kodu; tekil olmalıdır.
    • items.attributes (object[]): Ürün nitelikleri. Nitelik adı (attributeName) veya kimliği (attributeId) ile gönderilir. Model Kodu adlı nitelik ürünün model kodunu belirler.
      • items.attributes.attributeId (integer<int64>): Nitelik kimliği; attributeName yoksa anahtar olarak kullanılır.
      • items.attributes.attributeName (string): Nitelik adı (ör. Renk, Beden). Adda / varsa - ile değiştirilir.
      • items.attributes.attributeValue (string): Nitelik değeri (metin).
      • items.attributes.attributeValueId (integer<int64>): Değer kimliği; attributeValue ve customAttributeValue yoksa kullanılır.
      • items.attributes.customAttributeValue (string): Serbest metin değer; attributeValue yoksa kullanılır.
    • items.categoryId (integer): Kategori kimliği; ürüne CategoryId niteliği olarak yazılır.
    • items.description (string): Ürün açıklaması (HTML olabilir).
    • items.currencyType (string): Para birimi kodu (ör. TRY).
    • items.productMainId (string, zorunlu): Option (renk) kodu; aynı renkteki bedenlerde aynı olmalıdır.
    • items.cargoCompanyId (integer<int64>): Kargo firması kimliği.
    • items.sourceFirstPrice (number): İlk (kaynak) fiyat; gönderilmezse listPrice kullanılır.
    • items.dimensionalWeight (integer<int64>): Desi.

Yanıtlar

  • 200: İstek alındı; alanların anlamı POST ile aynıdır.
  • 400: İstek gövdesi geçerli JSON değil veya alan tipleri uyumsuz.
  • 401: Kimlik doğrulanamadı veya supplierId bu ortamda tanımlı değil. Gövde boştur.
  • 500: Sunucu tarafında beklenmeyen hata.

200 yanıt alanları

  • Message (string): İstek kuyruğa alınamadıysa nedeni (ör. istek limiti aşıldı); başarılıysa null.
  • IsSuccess (boolean): İstek kuyruğa alındıysa true.
  • BatchRequestId (string): İşlem kimliği; sonucu sorgulamak için saklayın. Limit aşımında null.