Siparişler
/api/v1/orders — PUT
Bölüm başlığı “/api/v1/orders — PUT”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)
İstek gövdesi (application/json)
Bölüm başlığı “İstek gövdesi (application/json)”- ile işaretli alanlar zorunludur. Bilinmeyen alan 422 ile reddedilir.
OrderBatch
| Alan | Tür | Sınır | Anlamı |
|---|---|---|---|
items * | ApiOrder[] | en az 1, en çok 1000 | 1–1000 kayıt. |
ApiOrder
| Alan | Tür | Sınır | Anlamı |
|---|---|---|---|
external_id * | string | min 1, max 200 | Sitedeki sipariş kimliği. |
number | string | null | max 2000 | Müşterinin söylediği sipariş numarası; yoksa external_id. |
code | string | null | max 2000 | Alternatif sipariş kodu. |
status * | string | min 1, max 100 | Ham durum kısa adı (ör. processing). |
customer_name | string | null | max 2000 | Müşteri adı. |
email | string | null | max 2000 | E-posta (doğrulama için). |
phone | string | null | max 2000 | Telefon (arayanı tanımak için; şifreli saklanır). |
customer_id | string | null | max 2000 | Müşteri kimliği. |
payment_method | string | null | max 2000 | Ödeme yöntemi. |
payment_method_id | string | null | max 2000 | Ödeme yöntemi kimliği. |
shipping_method | string | null | max 2000 | Teslimat yöntemi. |
shipping_method_id | string | null | max 2000 | Teslimat yöntemi kimliği. |
shipping_city | string | null | max 2000 | Teslimat şehri/ilçesi. |
items | ApiOrderItem[] | en çok 500, varsayılan [] | Kalemler. |
total | number | string | ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$, varsayılan "0" | Toplam. |
currency | string | min 3, max 3, varsayılan "TRY" | Para birimi. |
carrier | string | null | max 2000 | Kargo firması. |
tracking_number | string | null | max 2000 | Takip numarası. |
tracking_status | string | null | max 2000 | Kargo durum kodu. |
tracking_url | string | null | max 2000 | Takip adresi. |
shipment_code | string | null | max 2000 | Gönderi kodu. |
channel | string | min 1, max 50, varsayılan "site" | site / trendyol / hepsiburada. |
flags | object | varsayılan {} | Sipariş işaretleri (ör. kurumsal, taksit, tax_free). |
coupons | string[] | en çok 20, varsayılan [] | Kullanılan kupon kodları (kupon “kullanıldı” olur). |
sepet_id | string | null | min 1, max 200 | Siparişe dönen sepetin dis_id’si. |
created_at * | string (date-time) | Oluşturma zamanı (ISO 8601; dilimsizse Türkiye saati). | |
modified_at | string (date-time) | null | Son değişiklik; yoksa şimdiki zaman. | |
completed_at | string (date-time) | null | Tamamlanma zamanı. |
ApiOrderItem
| Alan | Tür | Sınır | Anlamı |
|---|---|---|---|
name * | string | min 1, max 500 | Kalem adı. |
qty | integer | ≥ 0, varsayılan 1 | Adet. |
total | number | string | ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$, varsayılan "0" | Kalem toplamı. |
ref | string | null | max 2000 | Ürün item_ref. |
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"}]}'Yanıt 200
Bölüm başlığı “Yanıt 200”Şema: OrderResult
| Alan | Tür | Sınır | Anlamı |
|---|---|---|---|
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.
© 2026 Erusoft