Skip to content

Kimlik doğrulama

İstekler kısa ömürlü bir token ile doğrulanır. Gizli anahtar yalnızca token almak için kullanılır ve normal isteklerde iletilmez.

Neden sabit anahtar kullanılmıyor

Sabit API anahtarı her istekte ağ üzerinden taşınır. Anahtarın ele geçirilmesi hâlinde, durum fark edilip anahtar iptal edilene kadar erişim sürer. Token yöntemi bu riskin iki boyutunu da sınırlar: anahtar saatte yalnızca bir kez iletilir, ele geçirilen token ise en geç bir saat içinde geçersiz olur.

Token alma

http
POST /api/vendor/v1/token
Content-Type: application/json

{
  "clientId": "istemci-kimliginiz",
  "clientSecret": "hzl_live_..."
}
json
{
  "success": true,
  "data": {
    "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
    "tokenType": "Bearer",
    "expiresIn": 3600
  }
}

Diğer tüm çağrılarda aşağıdaki başlık gönderilir:

http
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

Token'ı saklayın, süresi dolmadan yenileyin

Teslimat kaybına yol açan başlıca hata

Sipariş gönderimi sırasında token'ın süresi dolarsa istek 401 ile sonuçlanır ve Hızlıyo bu isteği yeniden denemez. Sorunun kaynağı araştırılırken paket beklemede kalır.

Token'ı, geçerlilik süresi dolmadan beş dakika önce yenileyin. 401 yanıtının gelmesini beklemeyin.

Her siparişten önce yeni token alınması gereksiz bir gidiş-dönüş oluşturur ve saatte 60 isteklik limite takılmanıza yol açar. Bu limite yaklaşıyorsanız token saklanmıyor demektir.

401 yanıtının değerlendirilmesi

İki farklı sorun aynı HTTP kodunu döndürür. WWW-Authenticate başlığı ve errorCode alanı hangisinin geçerli olduğunu belirtir.

http
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer error="invalid_token", error_description="expired"
errorCodeAnlamıYapılması gereken
TOKEN_EXPIREDToken'ın süresi dolmuşYeni token alın, isteği bir kez daha gönderin
INVALID_CREDENTIALSAnahtar hatalı, iptal edilmiş ya da hesap kapalıİşlemi durdurun. Yeniden deneme sonuç vermez, bizimle iletişime geçin

TOKEN_EXPIRED sonrasında isteğin yeniden gönderilmesi doğrudur ve bu karar size aittir. Bu durum, Hızlıyo'nun başarısız bir siparişi arka planda yeniden denemesiyle karıştırılmamalıdır; Hızlıyo böyle bir deneme yapmaz.

Anahtarın korunması

  • Anahtarı mobil uygulamada, tarayıcı tarafında çalışan kodda veya sizin denetiminizde olmayan bir cihazda tutmayın. Anahtarın yeri sunucudur.
  • POS yazılımınızı kullanan restoranlarla paylaşmayın.
  • Ele geçirildiğinden şüpheleniyorsanız anahtarı yenileyin. Yenileme sonrasında elinizdeki token bir saat daha geçerli kalır; hizmet kesintisi oluşmaz.
  • Şüphe oluştuğu anda, en geç 24 saat içinde bize bildirin. Anahtar ivedilikle kapatılır.

Ortamlar

OrtamAnahtar ön ekiAdres
Testhzl_test_https://gw-dev.hizliyo.com/api/vendor/v1
Canlıhzl_live_https://gw.hizliyo.com/api/vendor/v1

Önce test anahtarı tanımlanır. Canlı anahtar, kontrol listesi tamamlandıktan sonra verilir.

Bağlantı güvenliği

TLS 1.2 ve üzeri zorunludur. Daha eski bir sürümle kurulan bağlantı, istek işlenmeden önce kesilir. HTTP yanıtı alınmadan kopan bağlantılarda ilk kontrol edilmesi gereken nokta TLS yapılandırmasıdır.

Hızlıyo Vendor API v1