Sipariş Durumu Gönderme¶
Sipariş durumunu değiştirdiğinizde (onay, hazırlama, teslim vb.) MuditaPOS'a bildirmeniz gerekir. MuditaPOS bu bilgiyi ilgili platforma iletir.
Endpoint¶
POST /internal/orders/status HTTP/1.1
Host: stage.pos.muditakurye.com.tr
Content-Type: application/json
X-Internal-Api-Key: <sizin-internal-key>
İstek Gövdesi¶
{
"providerOrderId": "63a1b2c3d4e5f6",
"platform": "GETIR",
"action": "VERIFY",
"previousStatus": "RECEIVED",
"reason": ""
}
Alanlar¶
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
providerOrderId |
string | ✅ | Platformun sipariş ID'si |
platform |
string | ✅ | Platform adı (GETIR, YEMEKSEPETI...) |
action |
string | ✅ | Yapılacak aksiyon (bkz. aşağı) |
previousStatus |
string | ❌ | Önceki durum (guard kontrolü için) |
reason |
string | ❌ | İptal/red nedeni |
Aksiyonlar¶
| Action | Açıklama | Kullanım |
|---|---|---|
VERIFY |
Siparişi onayla | Restoran kabul etti |
PREPARE |
Hazırlamaya başla | Mutfak hazırlığa başladı |
HANDOVER |
Kuryeye teslim et | Paket kuryeye verildi |
DELIVER |
Teslim edildi | Müşteriye ulaştı |
CANCEL |
İptal et | Sipariş iptal edildi |
REJECT |
Reddet | Restoran siparişi reddetti |
Yanıtlar¶
Başarılı¶
{
"status": "queued",
"statusUpdateId": "uuid-...",
"message": "Status update queued for dispatch"
}
Hata¶
Örnekler¶
Sipariş Onaylama¶
curl -X POST https://stage.pos.muditakurye.com.tr/internal/orders/status \
-H "Content-Type: application/json" \
-H "X-Internal-Api-Key: your-key" \
-d '{
"providerOrderId": "63a1b2c3d4e5f6",
"platform": "GETIR",
"action": "VERIFY",
"previousStatus": "RECEIVED"
}'
Kuryeye Teslim¶
curl -X POST https://stage.pos.muditakurye.com.tr/internal/orders/status \
-H "Content-Type: application/json" \
-H "X-Internal-Api-Key: your-key" \
-d '{
"providerOrderId": "63a1b2c3d4e5f6",
"platform": "GETIR",
"action": "HANDOVER"
}'
İptal Etme¶
curl -X POST https://stage.pos.muditakurye.com.tr/internal/orders/status \
-H "Content-Type: application/json" \
-H "X-Internal-Api-Key: your-key" \
-d '{
"providerOrderId": "63a1b2c3d4e5f6",
"platform": "YEMEKSEPETI",
"action": "CANCEL",
"reason": "Ürün stokta yok"
}'
Guard Kuralları¶
MuditaPOS, mantıksız durum geçişlerini engeller:
Sequence Guard
DELIVERaksiyonu ancakPREPAREveyaHANDOVER'dan sonra yapılabilirVERIFY'dan sonra tekrarVERIFYyapılamaz- İptal edilmiş siparişe durum güncellemesi yapılamaz
Timing Guard (Getir)
Getir platformunda sipariş onayından sonraki 60 saniye içinde PREPARE yapılamaz. MuditaPOS bu süreyi otomatik olarak yönetir — gönderilen güncelleme kuyrukta bekletilir.
Idempotency
Aynı sipariş için aynı aksiyonu tekrar gönderirseniz, mükerrer gönderim yapılmaz. Redis tabanlı idempotency koruması aktiftir.