Sipariş Yaşam Döngüsü

Partner entegrasyonunda siparişler webhook ile itilmez; Web API üzerinden okunur, durum güncellenir ve fatura URL'si eklenir. Temel uç noktalar: Listele, Detay, Durum güncelle, Fatura.

Durum kodları

KodTürkçe etiketAPI adı
1Ödeme BekliyorAwaitingPayment
2HazırlanıyorPicking
3KargodaShipped
4Teslim EdildiDelivered
5İptal EdildiCancelled

Tipik akış

AwaitingPaymentPickingShippedDelivered. Herhangi bir aşamada Cancelled olabilir.

  1. Ödeme tamamlanınca veya onaylanınca 2 (Hazırlanıyor).
  2. Paket çıktığında 3 (Kargoda) + takip bilgisi.
  3. Teslimatta 4 (Teslim Edildi).
  4. İptalde 5 (İptal Edildi).

Kargo alanları

cargoCompany ve trackingNumber (veya cargo_company / tracking_number) genellikle durum 3 — Kargoda ile birlikte gönderilir. Yalnızca takip bilgisi de güncellenebilir; en az bir alan gerekir. Bkz. Sipariş Durumunu Güncelle.

Sorgulama stratejisi (polling)

Webhook yok: Web API v1 olay göndermez. Periyodik GET /orders kullanın — sayfa 0 tabanlıdır.
  • date_from / date_toYYYY-MM-DD veya datetime
  • startDate / endDate — Unix milisaniye (Trendyol uyumlu)
  • status — 1–5, veya tümü için 0
  • page / size — sayfalama (varsayılan boyut 30, en fazla 100)

Son başarılı senkron zamanından itibaren dar bir tarih penceresi tutmak gereksiz yükü azaltır. Kurallar için API Kuralları sayfasına bakın.

Fatura

Sevkiyattan sonra herkese açık bir fatura URL'si ekleyin (POST /orders/{id}/invoice). Dosya yükleme desteklenmez — yalnızca URL. Bkz. Sipariş Faturası.

İzinler

  • orders.read — listeleme ve detay
  • orders.write — durum / kargo güncelleme ve fatura işlemleri
Kapsam: Anahtarda yalnızca okuma varsa durum güncellemesi 403 döner. Anahtarları Yönetim → API bölümünden ayarlayın — Kimlik Doğrulama.

İlgili sayfalar

cURL
# 1) List picking orders (status=2), page is 0-based
curl -s -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" \
  "https://example.com/api/v1/orders?page=0&size=20&status=2&date_from=2026-06-01&date_to=2026-07-30"

# 2) Mark order 15 as shipped + cargo tracking
curl -s -X PATCH \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "status": 3,
    "cargoCompany": "Yurtiçi Kargo",
    "trackingNumber": "YT123456789"
  }' \
  "https://example.com/api/v1/orders/15"

# 3) Attach public invoice URL
curl -s -X POST \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "url": "https://example.com/fatura.pdf",
    "name": "Fatura"
  }' \
  "https://example.com/api/v1/orders/15/invoice"