Skip to content

Sipariş durumu

http
GET /api/vendor/v1/orders/{orderId}

Bir teslimatın güncel durumunu ve geçmişini birlikte döndürür. Toplu sorgulama ya da "belirli bir tarihten sonra değişenler" biçiminde bir uç nokta bulunmaz. Durum bilgisi bildirimlerle iletilir; bu uç nokta, bildirim adresinizin erişilemez kaldığı dönemlerde aradaki farkı kapatmak içindir.

İstek

http
GET /api/vendor/v1/orders/e5a9f0d3-7c21-4b88-a06e-3f9182bd4471
Authorization: Bearer <token>

Sipariş oluşturulurken döndürülen orderId değerini kullanın. Kendi externalOrderId numaranız yanıtta yer alır, ancak sorgulama bu değerle yapılamaz.

Yanıt

json
{
  "success": true,
  "data": {
    "orderId": "e5a9f0d3-7c21-4b88-a06e-3f9182bd4471",
    "externalOrderId": "ADS-ORD-99213",
    "status": "Delivering",
    "courier": {
      "name": "Emre K.",
      "phone": "5307654321",
      "vehicleType": "Motosiklet"
    },
    "etaDropoffAt": "2026-08-04T19:14:00+03:00",
    "updatedAt": "2026-08-04T19:06:40+03:00",
    "events": [
      { "status": "Searching",  "at": "2026-08-04T18:42:14+03:00" },
      { "status": "Assigned",   "at": "2026-08-04T18:44:02+03:00" },
      { "status": "PickingUp",  "at": "2026-08-04T18:51:30+03:00" },
      { "status": "PickedUp",   "at": "2026-08-04T19:03:22+03:00" },
      { "status": "Delivering", "at": "2026-08-04T19:04:10+03:00" }
    ]
  }
}

events dışındaki alanlar, delivery.status_changed bildiriminin data bölümüyle aynı yapıdadır. Tek bir okuyucu her iki kaynağı da karşılar.

events alanı siparişin baştan sona durum geçmişini içerir. Restorandan gelen geçmişe yönelik soruların Hızlıyo'ya iletilmesine gerek kalmaması için eklenmiştir.

İstek limiti

Sipariş başına 10 saniyede bir istek

Limit sipariş bazındadır, hesap bazında değil. Aynı teslimatın arka arkaya sorgulanması, hesabınızda kalan hak ne olursa olsun 429 ile sonuçlanır.

Durum bilgisi bildirimlerle iletilir. Sorgulamayı yalnızca gerekçe oluştuğunda kullanın: destek talebi geldiğinde ya da kesinti sonrası aradaki farkı kapatırken. Zamanlayıcıya bağlamayın.

http
HTTP/1.1 429 Too Many Requests
Retry-After: 7
json
{
  "success": false,
  "message": "Bu sipariş için sorgu sıklığını aştınız. Durum değişikliklerini bildirimlerden takip edin.",
  "data": { "errorCode": "RATE_LIMITED", "retryAfterSeconds": 7 }
}

Durumlar

DurumNihai durumAçıklama
SearchinghayırKurye aranıyor
AssignedhayırKurye görevi üstlendi
PickingUphayırKurye restorana yöneldi
PickedUphayırPaket teslim alındı, bu aşamadan sonra iptal edilemez
DeliveringhayırKurye müşteriye yöneldi
DeliveredevetTeslimat tamamlandı
FailedevetTeslimat gerçekleşmedi, nedeni failureReason alanında yer alır
CancelledevetPaket teslim alınmadan iptal edildi

Nihai duruma ulaşan sipariş için başka bildirim iletilmez.

Kesinti sonrası uygulama

Bildirim adresiniz erişilemez kaldıysa geçmiş siparişlerin tamamını taramayın. Yalnızca sizin kayıtlarınızda hâlâ nihai duruma ulaşmamış olanları sorgulayın. Bir siparişin yaşam süresi bir saatten kısa olduğu için bu kayıtların sayısı düşüktür ve her biri tek istek gerektirir.

Hızlıyo Vendor API v1