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:
| type | Hangi servis |
|---|---|
| PRODUCT_CREATE | Ürün yükleme |
| PRODUCT_UPDATE | Ürün bilgisi güncelleme |
| SKU_UPDATE | Fiyat-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ı


