Ana içeriğe geç

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

{
  "error": "integration not found for this provider restaurant"
}

Ö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

  • DELIVER aksiyonu ancak PREPARE veya HANDOVER'dan sonra yapılabilir
  • VERIFY'dan sonra tekrar VERIFY yapı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.