Siparişi hazırlanıyor, kargoda, teslim edildi, iptal ya da iade durumuna geçirir. Kargo takip numarası da bu uçla yazılır.
PUT https://api.hizlisanalmarket.com/api/v1/orders/{id}/status · İzin: orders:write
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
status |
Metin | Evet | Yeni durum: preparing, shipped, delivered, cancelled ya da returned. Büyük/küçük harf farkı yok sayılır. |
trackingNumber |
Metin | Hayır | Kargo takip numarası (shipped için). |
shippingProvider |
Metin | Hayır | Kargo firmasının adı (shipped için). Örnek: "Yurtiçi Kargo". |
note |
Metin | Hayır | cancelled için iptal nedeni. Müşteriye giden iptal e-postasında görünür. |
status |
Hangi durumdan? | Etkisi |
|---|---|---|
preparing |
Processing |
Sipariş hazırlanıyor durumuna geçer. |
shipped |
Processing, Preparing |
Sipariş kargoya verilir. Müşteriye takip numaralı kargo e-postası gider. |
shipped (tekrar) |
Shipped (takip numarası yoksa) |
Takip numarası ve kargo firması sonradan eklenir, durum değişmez. Müşteriye kargo e-postası gider. |
delivered |
Shipped; mağaza teslimatı ve mağazadan teslim almada Processing, Preparing |
Teslim edildi. Kapıda ödemeli siparişte tahsilat da kaydedilir. Müşteriye e-posta gider. |
cancelled |
Delivered, Returned, PartiallyRefunded dışındaki her durum |
İptal edilir. Stok ve kullanılan kupon geri verilir. Ödemesi alınmış siparişin ödeme durumu "iade bekliyor" olur, para iadesini mağaza ayrıca yapar. Müşteriye iptal e-postası gider. |
returned |
Shipped, Delivered |
İade edildi. Ödemesi alınmışsa ödeme durumu "iade bekliyor" olur. Stok kendiliğinden eklenmez, çünkü dönen ürün satılabilir durumda olmayabilir. |
curl -X PUT "https://api.hizlisanalmarket.com/api/v1/orders/d2a7c9e4-5f13-4b8a-9c60-3e1f7a2b8d45/status" \
-H "Authorization: Bearer hm_sk_..." \
-H "Content-Type: application/json" \
-d '{
"status": "shipped",
"trackingNumber": "1234567890",
"shippingProvider": "Yurtiçi Kargo"
}'
{
"message": "Sipariş durumu güncellendi.",
"orderId": "d2a7c9e4-5f13-4b8a-9c60-3e1f7a2b8d45",
"status": "shipped"
}
Sipariş zaten istenen durumdaysa (preparing, delivered, cancelled, returned) istek başarılı döner. Hiçbir şey değişmez ve müşteriye ikinci e-posta gitmez. Ağ hatasından sonra isteği güvenle tekrarlayabilirsiniz. Müşterinin kendisi iptal ettiği bir siparişe cancelled göndermek de başarılı döner.
code |
Neden |
|---|---|
ORDER_NOT_FOUND |
Sipariş bu mağazada yok. |
INVALID_STATUS |
status tanınmayan bir değer. |
INVALID_STATUS_TRANSITION |
Sipariş şu anki durumundan istenen duruma geçemez. Örneğin kargoya verilmemiş sipariş delivered yapılamaz, teslim edilmiş sipariş iptal edilemez. |
PAYMENT_NOT_COMPLETED |
Kartla ödemesi henüz tamamlanmamış sipariş preparing, shipped ya da delivered yapılamaz. |
{
"error": "Sipariş kargoya verilemez.",
"code": "INVALID_STATUS_TRANSITION"
}
Havale/EFT ödemesinin onaylanması (AwaitingPayment → Processing) bu uçla yapılmaz. Havale onayını mağaza yönetici panelinden verir. Onaydan sonra sipariş updatedFrom ile çektiğiniz listede Processing olarak görünür.