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
Hangi durumda ne yapabilirsiniz
| Durum | İptal | Güncelleme (PATCH) | İleri tarih değişimi |
|---|---|---|---|
RECEIVED, QUEUED | Evet | Evet (adres, hazır olma, not, ileri tarih) | Evet |
OFFERED, ASSIGNED, AT_PICKUP | Evet | Evet (ileri tarih hariç) | Hayır |
PICKED_UP, EN_ROUTE, ARRIVED, RETURNING | Hayır · KURYE_ALDI | Hayır · KURYE_ALDI | Hayır |
DELIVERED, FAILED, CANCELLED, RETURNED | Hayır · SON_DURUM | Hayır | Hayı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
versionalanı her durum ya da alan değişikliğinde bir artar. Webhook'lar sırasız gelebilir; elinizdeki kayıttan küçükversiontaşıyan olayı yok sayın. updated_atson 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: truegönderirseniz (ya da kurye firması her siparişte PIN istiyorsa) yanıtta 4 hanelidelivery_pindö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}/proofsile 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.