İptal
POST /api/vendor/v1/orders/{orderId}/cancelPaket kurye tarafından teslim alınmamışsa teslimatı iptal eder.
İstek
POST /api/vendor/v1/orders/e5a9f0d3-7c21-4b88-a06e-3f9182bd4471/cancel
Authorization: Bearer <token>
Content-Type: application/json{
"reason": "CustomerCancelled"
}reason | Kullanım koşulu |
|---|---|
CustomerCancelled | Müşteri siparişten vazgeçti |
RestaurantCancelled | Restoran siparişi karşılayamıyor |
AddressProblem | Adres hatalı ya da adrese ulaşılamıyor |
Other | Diğer — ayrıntıyı note alanına yazın |
Tüm nedenlerle birlikte en fazla 250 karakterlik bir note alanı gönderilebilir.
Yanıt
{
"success": true,
"message": "Sipariş iptal edildi.",
"data": {
"orderId": "e5a9f0d3-7c21-4b88-a06e-3f9182bd4471",
"status": "Cancelled",
"cancelledAt": "2026-08-04T18:49:11+03:00"
}
}Sınır: paketin teslim alınma anı
Paket kurye tarafından teslim alındıktan sonra iptal kabul edilmez:
{
"success": false,
"message": "Paketi kurye teslim aldı, artık iptal edilemez.",
"data": { "errorCode": "CANCEL_TOO_LATE", "status": "PickedUp" }
}Bu sınırın API üzerinden aşılması mümkün değildir. Kurye ürünle birlikte yola çıkmıştır; sonraki aşama restoran ile kurye şirketi arasında yürütülür.
Uygulama önerimiz: PickedUp durumu görüldüğü anda — ister bildirimden ister sorgudan — iptal düğmesini gizleyin ya da devre dışı bırakın. Sonuç vermeyeceği kesin olan bir düğmeyi göstermek, hiç göstermemekten daha olumsuz bir kullanıcı deneyimi oluşturur.
Faturalandırma
İptal edilen teslimatlar faturaya yansıtılmaz. Failed durumundaki teslimatlar da yansıtılmaz. Yalnızca Delivered durumundaki teslimatlar faturalandırılır.