BetakuryeGeliştirici

Başvuru

Hatalar ve sınırlar

Bütün hatalar aynı biçimde döner: makinenin okuyacağı code ve kullanıcıya gösterilebilecek Türkçe message.

Biçim

Hata yanıtı
{
  "error": {
    "code": "KURYE_ALDI",
    "message": "Paket kuryede; iptal için kurye firmasını arayın"
  }
}

Kararı code'a göre verin; message değişebilir. Doğrulama hatasında details hangi alanın neden reddedildiğini taşır.

Kodlar

HTTPcodeAnlamı
400DOGRULAMAGövde şemaya uymuyor; details alanında hangi alan ve neden
400ESLEME_KODU_GEREKLIYeni restoran için pairing_code gönderilmedi
400ESLEME_KODU_GECERSIZEşleme kodu yanlış, kullanılmış ya da süresi dolmuş
400IMLEC_GECERSIZsince imleci çözülemedi; imleçsiz yeniden isteyin
401invalid_clientclient_id ya da client_secret hatalı (jeton isteğinde)
401KIMLIK_YOK · SURESI_DOLDU · GECERSIZ · OTURUM_GECERSIZJeton yok, süresi dolmuş, bozuk ya da kimlik kapatılmış: yeni jeton alın
403YETKI_YOKBu uç kimliğiniz için değil
404BULUNAMADI · MAGAZA_YOKKayıt yok ya da size ait değil (başkasının kaydı da 404 döner)
409IDEMPOTENCY_CAKISMAAynı Idempotency-Key farklı gövdeyle gönderildi
409EXTERNAL_REF_TEKRARBu restoranda aynı external_ref ile teslimat var; details.delivery_id mevcut teslimatın kimliği
409MAGAZA_PASIFRestoran askıda ya da kapalı; kurye firmasıyla görüşün
409KURYE_ALDIPaket kuryede; iptal/değişiklik kurye firmasından
409SON_DURUMTeslimat zaten bitmiş (teslim, iptal, başarısız, iade)
409PLAN_DEGISEMEZTeklif çıktıktan sonra ileri tarih değiştirilemez
409BASKA_POSRestoran başka bir entegratöre bağlı
409ABONELIK_SINIRIEn çok 5 aktif webhook adresi
410TAKIP_KAPANDITakip bağlantısının süresi doldu (teslimden 2 saat sonra)
422HIZMET_DISITeslim adresi kurye firmasının hizmet alanı dışında; details = { road_km, max_km }. Yeniden denemeyin, adresi düzeltin
415—Content-Type application/json değil
429HIZ_SINIRIİstek sınırı aşıldı; retry-after kadar bekleyin
500SUNUCU_HATASIBeklenmeyen hata; aynı isteği geri çekilmeyle yeniden deneyin (Idempotency-Key ile güvenli)

Sınırlar

NeSınır
POS jetonuyla gelen istekler (entegratör başına)Dakikada 1.200 istek; sayaç sunucunuzun IP adresine değil entegratör kimliğinize bağlı
Jetonsuz ve panel istekleri (IP başına)Dakikada 300 istek
POST /oauth/tokenDakikada 30 (IP başına): jetonu 30 dakika saklayıp yeniden kullanın
GET /v1/public/tracking/{anahtar}Dakikada 60
Webhook adresiKimlik başına 5 aktif
Liste (limit)İstek başına en çok 200 kayıt
Sipariş kalemiEn çok 200 kalem
Teslim fotoğrafıSipariş başına 3, her biri en çok 1,5 MB

Her yanıtta x-ratelimit-limit, x-ratelimit-remaining ve x-ratelimit-reset (saniye) başlıkları gelir; 429'da retry-after.

Yeniden deneme

  • Ağ hatası, 429, 5xx: üstel geri çekilmeyle (1 sn, 2 sn, 4 sn… en çok 1 dk) yeniden deneyin. Sipariş oluşturmada aynı Idempotency-Key'i gönderin; ikinci teslimat açılmaz.
  • 401: bir kez yeni jeton alıp tekrar deneyin; yine 401 ise kimlik kapatılmış olabilir.
  • 4xx (401 ve 429 dışı): yeniden denemeyin; isteği düzeltin.