İçeriğe geç

Siparişler

PUT/api/v1/orders

Siparişleri toplu yaz

external_id’ye göre upsert. Kayıtlı sürümden eski modified_at taşıyan gönderim yazılmaz (unchanged); sıra dışı gelen istek yeni veriyi ezmez. Durumlar ham kısa ad olarak saklanır (wc- öneki atılır); firmanızın durum tanımlarında olmayanlar unmapped_statuses içinde döner. Telefon ve e-posta asistanın sipariş doğrulaması için saklanır; telefon şifrelenir.

  • Kimlik doğrulama: Authorization: Bearer rz_live_…
  • Kapsam: ingest:orders
  • Paket özelliği: yok (her pakette açık)
  • Idempotency-Key: isteğe bağlı (tekrar denemeler için önerilir)
  • ile işaretli alanlar zorunludur. Bilinmeyen alan 422 ile reddedilir.

OrderBatch

AlanTürSınırAnlamı
items *ApiOrder[]en az 1, en çok 10001–1000 kayıt.

ApiOrder

AlanTürSınırAnlamı
external_id *stringmin 1, max 200Sitedeki sipariş kimliği.
numberstring | nullmax 2000Müşterinin söylediği sipariş numarası; yoksa external_id.
codestring | nullmax 2000Alternatif sipariş kodu.
status *stringmin 1, max 100Ham durum kısa adı (ör. processing).
customer_namestring | nullmax 2000Müşteri adı.
emailstring | nullmax 2000E-posta (doğrulama için).
phonestring | nullmax 2000Telefon (arayanı tanımak için; şifreli saklanır).
customer_idstring | nullmax 2000Müşteri kimliği.
payment_methodstring | nullmax 2000Ödeme yöntemi.
payment_method_idstring | nullmax 2000Ödeme yöntemi kimliği.
shipping_methodstring | nullmax 2000Teslimat yöntemi.
shipping_method_idstring | nullmax 2000Teslimat yöntemi kimliği.
shipping_citystring | nullmax 2000Teslimat şehri/ilçesi.
itemsApiOrderItem[]en çok 500, varsayılan []Kalemler.
totalnumber | string^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$, varsayılan "0"Toplam.
currencystringmin 3, max 3, varsayılan "TRY"Para birimi.
carrierstring | nullmax 2000Kargo firması.
tracking_numberstring | nullmax 2000Takip numarası.
tracking_statusstring | nullmax 2000Kargo durum kodu.
tracking_urlstring | nullmax 2000Takip adresi.
shipment_codestring | nullmax 2000Gönderi kodu.
channelstringmin 1, max 50, varsayılan "site"site / trendyol / hepsiburada.
flagsobjectvarsayılan {}Sipariş işaretleri (ör. kurumsal, taksit, tax_free).
couponsstring[]en çok 20, varsayılan []Kullanılan kupon kodları (kupon “kullanıldı” olur).
sepet_idstring | nullmin 1, max 200Siparişe dönen sepetin dis_id’si.
created_at *string (date-time)Oluşturma zamanı (ISO 8601; dilimsizse Türkiye saati).
modified_atstring (date-time) | nullSon değişiklik; yoksa şimdiki zaman.
completed_atstring (date-time) | nullTamamlanma zamanı.

ApiOrderItem

AlanTürSınırAnlamı
name *stringmin 1, max 500Kalem adı.
qtyinteger≥ 0, varsayılan 1Adet.
totalnumber | string^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$, varsayılan "0"Kalem toplamı.
refstring | nullmax 2000Ürün item_ref.
Terminal window
curl -s -X PUT "$RZ_API/api/v1/orders" \
-H "Authorization: Bearer $RZ_KEY" -H "Content-Type: application/json" \
-H "Idempotency-Key: siparis-98765-v3" \
-d '{"items": [{"external_id": "98765", "number": "98765", "status": "processing",
"customer_name": "Ayşe Yılmaz", "phone": "05321234567", "email": "[email protected]",
"items": [{"name": "Kablosuz Kulaklık X2", "qty": 1, "total": "1899.90", "ref": "1234"}],
"total": "1899.90", "currency": "TRY", "carrier": "Örnek Kargo", "tracking_number": "123456789012",
"created_at": "2026-09-24T10:15:00+03:00", "modified_at": "2026-09-24T12:00:00+03:00"}]}'

Şema: OrderResult

AlanTürSınırAnlamı
inserted *integer
updated *integer
unchanged *integer
unmapped_statuses *string[]
{
"inserted": 1,
"updated": 0,
"unchanged": 0,
"unmapped_statuses": []
}

Hata durumları: 401, 403, 404, 413, 422, 429 — bkz. Hatalar ve sınırlar.