BetakuryeGeliştirici

Kavramlar

Sipariş yolculuğu

Bir teslimatın durumları, her durumu kimin tetiklediği ve hangi durumda neyi değiştirebileceğiniz.

Kurye aranıyor · QUEUED

Sipariş atama sırasında. İleri tarihli siparişte (scheduled_for) atama teslim anından firmanın ayarı kadar (varsayılan 30 dk) önce başlar.

Tetikleyen: Sistem · Webhook: delivery.created · delivery.queued

Üst sıra: olağan yolAlt sıra: iptal, teslim edilememe, iadeYeşil kenarlı: son durum

Hangi durumda ne yapabilirsiniz

DurumİptalGüncelleme (PATCH)İleri tarih değişimi
RECEIVED, QUEUEDEvetEvet (adres, hazır olma, not, ileri tarih)Evet
OFFERED, ASSIGNED, AT_PICKUPEvetEvet (ileri tarih hariç)Hayır
PICKED_UP, EN_ROUTE, ARRIVED, RETURNINGHayır · KURYE_ALDIHayır · KURYE_ALDIHayır
DELIVERED, FAILED, CANCELLED, RETURNEDHayır · SON_DURUMHayırHayır

Paket kuryeye verildikten sonra değişiklik ve iptal yalnız kurye firması üzerinden yapılır; yanıt 409 KURYE_ALDI döner.

Koordinatsız sipariş

dropoff.lat/lng göndermezseniz sipariş RECEIVED durumunda kalır. Betakurye adresi kendi adres servisinde arar ve adayları dropoff.candidates alanına yazar; kurye firması ya da restoran doğru adayı seçer. Siz de koordinatı PATCH /v1/deliveries/{id} ile gönderebilirsiniz. Koordinat gelince sipariş QUEUED olur ve delivery.updated olayı gider. En hızlı yol koordinatı baştan göndermektir.

İleri tarihli teslimat

scheduled_for müşterinin istediği teslim anıdır (en çok 7 gün ileri). Sipariş o ana kadar QUEUED kalır ve kuryeye teklif edilmez; atama teslim anından kurye firmasının ayarı kadar (varsayılan 30 dakika) önce başlar. Teklif çıkmadan önce PATCH ile değiştirip kaldırabilirsiniz (null = hemen); sonrasında 409 PLAN_DEGISEMEZ.

Sıra ve sürüm

  • Her teslimatın version alanı her durum ya da alan değişikliğinde bir artar. Webhook'lar sırasız gelebilir; elinizdeki kayıttan küçük version taşıyan olayı yok sayın.
  • updated_at son değişiklik zamanıdır; imleçli liste bu sırayla döner.

Teslim kanıtı

  • Konum: kurye teslim adresine kurye firmasının sınırından (varsayılan 150 m) uzaksa “teslim edildi” kaydedilmez. Sahte konum bildiren telefonla teslim yapılamaz.
  • PIN: require_pin: true gönderirseniz (ya da kurye firması her siparişte PIN istiyorsa) yanıtta 4 haneli delivery_pin döner. Müşteriye iletin; takip sayfasında da görünür. Kurye kodu girmeden teslim edemez, kurye kodu hiçbir yerde görmez.
  • Fotoğraf: kurye kapıda fotoğraf çekebilir (firma zorunlu da tutabilir). GET /v1/deliveries/{id}/proofs ile alırsınız.

Teslim edilemezse

Kurye müşteriye ulaşamazsa iki yol vardır: paket restorana geri götürülür (RETURNING → RETURNED) ya da firmanın gösterdiği yere bırakılır (FAILED). Sebep her iki durumda failure_reason alanında. İade ve başarısız teslimde kontör düşmez.