Ürün Güncelleme

Var olan bir ürünün bilgilerini günceller. Kısmi güncellemedir: yalnızca gönderdiğiniz alanlar değişir, gönderilmeyen (ya da null gönderilen) alanlar olduğu gibi kalır.

PUT https://api.hizlisanalmarket.com/api/v1/products/{id} · İzin: products:write

{id} ürünün Hızlı Sanal Market kimliğidir. Bilmiyorsanız GET /products?sku=... ile bulun.

Gövde alanları

Hepsi isteğe bağlıdır.

Alan Tür Açıklama
name Metin (500) Ürün adı. Vitrin adresi (slug) değişmez.
price Ondalık KDV dahil satış fiyatı.
compareAtPrice Ondalık Üstü çizili fiyat (KDV dahil).
taxRate Ondalık KDV oranı, 0–100.
stockQuantity Ondalık Stok miktarı. Yalnız stok değişecekse Stok Güncelleme ucunu kullanın.
sku Metin (100) Yeni stok kodu. Başka bir üründe varsa SKU_EXISTS döner.
barcode Metin (100) Barkod.
categoryId GUID Mağazanın kendi kategorisi.
brandId GUID Mağazanın kendi markası.
unit Metin Satış birimi.
description Metin Açıklama (HTML).
shortDescription Metin (1000) Kısa açıklama.
images Metin listesi Eklenecek görsel adresleri. Var olan görseller silinmez, aynı adres ikinci kez eklenmez.
isActive Mantıksal true yayınlar, false taslağa alır.

Gönderilmeyen ya da null gönderilen alan değişmez. sku ve barcode boş metin ("") gönderilse de değişmez, yani bu uçla silinemez. description ve shortDescription ise boş metin gönderilirse boşaltılır. unit boş gönderilirse adet olur. Görseller yalnızca eklenir. Görsel silmek ya da sıralamak için yönetim panelini kullanın.

Örnek: fiyat ve açıklama güncelleme

curl -X PUT "https://api.hizlisanalmarket.com/api/v1/products/8f1c2a4e-3b5d-4c6e-9f70-1a2b3c4d5e6f" \
  -H "Authorization: Bearer hm_sk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "price": 229.90,
    "compareAtPrice": 299.90,
    "description": "<p>Bulaşık makinesinde ve mikrodalgada kullanılabilir.</p>"
  }'

Yanıt

{ "message": "Ürün güncellendi.", "productId": "8f1c2a4e-3b5d-4c6e-9f70-1a2b3c4d5e6f" }

Olası hatalar (400)

code Neden
PRODUCT_NOT_FOUND Ürün bu mağazada yok.
SKU_EXISTS Verilen stok kodu başka bir üründe kayıtlı.
CATEGORY_NOT_FOUND, BRAND_NOT_FOUND Kategori ya da marka bu mağazaya ait değil.
INVALID_PRICE, INVALID_QUANTITY, INVALID_TAX_RATE Negatif fiyat ya da stok; 0–100 dışında KDV.
NAME_REQUIRED, NAME_TOO_LONG, SKU_TOO_LONG, BARCODE_TOO_LONG, SHORT_DESCRIPTION_TOO_LONG Ad boş gönderildi ya da alan sınırı aşıldı.

Fiyat güncellemesinde gelen tutar KDV dahil kabul edilir. Ürün panelde KDV hariç fiyat girilecek şekilde ayarlanmışsa bu ayar KDV dahile döner. Fiyatın kendisi doğru kalır.