N11 API · Ürün ve katalog

N11 görev (task) takibi: task-details ile ürün sonucu okuma

N11'de ürün yükleme, güncelleme, fiyat-stok ve silme istekleri görev olarak çalışır. Sonuç, POST https://api.n11.com/ms/product/task-details/page-query isteğine taskId ve sayfalama bilgisi gönderilerek okunur. Yanıtın ana status alanı görevin bitip bitmediğini, skus.content altındaki her satır ise o ürünün SUCCESS ya da FAIL sonucunu ve nedenini verir.

POSThttps://api.n11.com/ms/product/task-details/page-queryGövde: taskId ve pageable (page, size).

Görev yaşam döngüsü

Bir görev servisinin ilk yanıtı her zaman aynı dört alanı içerir: id (görev numarası), type, status ve reasons. type, görevin türünü söyler:

typeHangi servis
PRODUCT_CREATEÜrün yükleme
PRODUCT_UPDATEÜrün bilgisi güncelleme
SKU_UPDATEFiyat-stok güncelleme
PRODUCT_DELETEÜrün silme

İlk yanıttaki status iki değer alır. IN_QUEUE, görevin işleme alındığını ve sonucun task detayından sorgulanacağını söyler; reasons alanında "X sku işlenmeye alındı" yazar. REJECT, görevin hiç işlenmediğini gösterir; nedeni reasons alanındadır.

Task detayının yapısı

İstek gövdesi iki alan içerir: taskId ve pageable. pageable içinde page ve size bulunur; dokümandaki örnekte page 0, size 1000 kullanılır.

Yanıtın üst seviyesinde taskId, createdDate, modifiedDate ve görevin genel status alanı yer alır. Genel durum üç değer alır:

  • PROCESSED: İşlem tamamlandı.
  • IN_QUEUE: İşlem sürüyor.
  • REJECT: Görev işleme alınmadı.

Ürün bazlı sonuçlar skus.content dizisindedir. Her satırda itemCode (ürünün stockCode değeri), status (SUCCESS ya da FAIL), reasons ve gönderilen değerleri gösteren sku bloğu bulunur. Fiyat-stok görevinde sku bloğu salePrice, listPrice, currencyType ve stock alanlarını içerir.

Doğru sorgulama düzeni

  • Görevi gönderdikten hemen sonra değil, birkaç saniye sonra sorgulayın.
  • Genel status IN_QUEUE ise artan aralıklarla tekrar sorun; PROCESSED olunca ürün satırlarını okuyun.
  • Ürünü stockCode ile değil itemCode ile eşleştirin; yanıttaki alan adı budur.
  • skus bloğu sayfalıdır. Büyük görevlerde totalPages alanına bakıp sonraki sayfaları da isteyin.
  • FAIL satırlarının reasons metnini saklayın; aynı hatanın tekrar edip etmediğini buradan izlersiniz.

SUCCESS, görevin o ürün için başarıyla işlendiğini söyler. Yeni yüklenen bir ürün bundan sonra da katalog onayına girebilir; yayında olup olmadığını ürün sorgulama servisindeki status alanından görürsünüz.

Sık yapılan hatalar

  • İlk yanıtı sonuç sanmak: IN_QUEUE başarı değildir; yalnız sıraya alınma onayıdır.
  • REJECT'i kontrol etmemek: Bazı istemciler HTTP 200 gördüğü için REJECT durumunu başarılı sayar. Yanıttaki status alanını her zaman okuyun.
  • Yanlış alan adı: Ürün satırları skus.content altındadır; kök seviyede content aramak boş sonuç verir.
  • Çok sık sorgu: Görev numarasını saniyede birkaç kez sorgulamak sonucu hızlandırmaz.
  • Görev numarasını saklamamak: Görev numarasını gönderdiğiniz ürünlerle birlikte kaydedin. Bir ürünün neden yüklenmediği sorulduğunda hangi görevle gittiğini bilirseniz nedeni task detayından yeniden okursunuz.

Görevleri otomatik izleyen bir döngü kurarken bir üst bekleme süresi belirleyin. Süre dolunca görevi belirsiz olarak işaretleyip ürünü ürün sorgulama servisiyle kontrol etmek, sonsuza kadar bekleyen kayıtları önler.

Sık sorulanlar

N11 görev sonucunu nasıl öğrenirim?

POST /ms/product/task-details/page-query isteğine taskId ve pageable gönderin. Genel durum üst seviyedeki status alanında, ürün sonuçları skus.content altındadır.

IN_QUEUE ile PROCESSED farkı nedir?

IN_QUEUE, görevin hâlâ işlendiğini; PROCESSED, işlemin tamamlandığını gösterir. PROCESSED olduktan sonra ürün satırlarında SUCCESS ya da FAIL sonucunu okursunuz.

Task detayında ürünü hangi alanla eşleştirmeliyim?

itemCode alanıyla. N11 dokümanına göre itemCode, ürünün stockCode değerini ifade eder.

Kaynaklar

İlgili N11 API konuları

Son güncelleme: 27.10.2026 · N11 API rehberinin tamamı

N11 entegrasyonunu kod yazmadan kurun

Saystok bu API'lerle stok, sipariş ve fiyatı sizin yerinize eşitler. 30 gün ücretsiz.