Ürün Ekleme

Mağazada yeni bir ürün açar.

POST https://api.hizlisanalmarket.com/api/v1/products · İzin: products:write

Gövde alanları

Alan Tür Zorunlu Açıklama
name Metin (500) Evet Ürün adı.
price Ondalık Evet KDV dahil satış fiyatı. Negatif olamaz. Gönderilmezse 0 yazılır, bu yüzden mutlaka gönderin.
sku Metin (100) Hayır Stok kodu. Mağazada benzersiz olmalıdır. Gönderilmezse SKU-1A2B3C4D biçiminde bir kod üretilir.
barcode Metin (100) Hayır Barkod.
compareAtPrice Ondalık Hayır Üstü çizili fiyat (KDV dahil).
taxRate Ondalık Hayır KDV oranı, 0–100. Varsayılan 20.
stockQuantity Ondalık Hayır Başlangıç stoğu. Varsayılan 0.
unit Metin Hayır Satış birimi: adet, kg, lt gibi. Varsayılan adet.
categoryId GUID Hayır Mağazanın kendi kategorilerinden biri (Kategoriler).
brandId GUID Hayır Mağazanın kendi markalarından biri (Markalar).
description Metin Hayır Açıklama. HTML kullanılabilir.
shortDescription Metin (1000) Hayır Kısa açıklama.
images Metin listesi Hayır Görsel adresleri (https://...). İlki ana görsel olur.
isActive Mantıksal Hayır true ise ürün hemen yayınlanır (varsayılan). false ise taslak açılır.
slug Metin Hayır Vitrin adresindeki kısa ad. Gönderilmezse addan üretilir. Başka bir üründe varsa sonuna -1, -2 eklenir.

Örnek istek

curl -X POST "https://api.hizlisanalmarket.com/api/v1/products" \
  -H "Authorization: Bearer hm_sk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Seramik Kupa 350 ml",
    "sku": "KUPA-350",
    "barcode": "8690000000017",
    "price": 249.90,
    "compareAtPrice": 299.90,
    "taxRate": 20,
    "stockQuantity": 120,
    "categoryId": "3c9d2e71-6a40-4f5b-8e12-7b0a9c4d1e22",
    "brandId": "b4e8a1c3-2d7f-4a96-b051-6e3c8f0d2a19",
    "description": "<p>Bulaşık makinesinde yıkanabilir.</p>",
    "images": [
      "https://ornek-tedarikci.com/gorseller/kupa-350-1.jpg",
      "https://ornek-tedarikci.com/gorseller/kupa-350-2.jpg"
    ],
    "isActive": true
  }'

Yanıt

{ "id": "8f1c2a4e-3b5d-4c6e-9f70-1a2b3c4d5e6f" }

Dönen id değerini ürün güncelleme ve tekil stok uçlarında kullanabilirsiniz. Saklamak zorunda değilsiniz, ürünü stok koduyla da bulabilirsiniz.

Olası hatalar (400)

code Neden
SKU_EXISTS Bu stok kodu başka bir üründe kayıtlı. Ürün zaten açılmış olabilir. GET /products?sku=... ile kontrol edin, gerekiyorsa güncelleyin.
CATEGORY_NOT_FOUND categoryId bu mağazanın kategorisi değil.
BRAND_NOT_FOUND brandId bu mağazanın markası 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ş ya da alan sınırı aşıldı.
VALIDATION_ERROR name eksik, JSON bozuk ya da bir alanın türü yanlış (örneğin price için metin).

Ürün açma isteği tekrarlandığında ikinci bir ürün açılmaz, çünkü aynı stok kodu SKU_EXISTS hatası verir. Stok kodu göndermiyorsanız her istek yeni bir ürün açar. Bu yüzden ürünlerinize her zaman stok kodu verin.

Notlar

  • Kategori ya da marka mağazada yoksa önce kategori ve marka açma uçlarıyla açın. Bu uçlar aynı adla tekrar çağrıldığında mevcut kaydı döndürür.
  • Görseller gönderdiğiniz adreslerle kaydedilir. Adreslerin herkese açık ve kalıcı olması gerekir.
  • Varyantlı ürünler (beden, renk gibi) ve paket ürünler bu sürümde API ile açılamaz. Bunları yönetim panelinden açın.