Hata formatı

API hataları standart JSON formatında döner:
{
  "message": "İstek yetkilendirilemedi.",
  "code": "unauthorized"
}
Validasyon hatalarında alan bazlı açıklamalar bulunur:
{
  "message": "Gönderilen bilgiler geçersiz.",
  "errors": {
    "email": ["Geçerli bir e-posta adresi girin."]
  }
}

Sık HTTP kodları

KodAnlamıNe yapmalısınız?
400Geçersiz istekParametreleri kontrol edin.
401Eksik veya hatalı tokenToken header’ını ve key durumunu kontrol edin.
403Yetki veya tenant uyuşmazlığıScope, origin ve tenant eşleşmesini kontrol edin.
404Kayıt bulunamadıID, slug veya cart token doğru mu kontrol edin.
422Validasyon hatasıResponse içindeki errors alanını kullanıcıya gösterin.
429Rate limit aşıldıKısa süre bekleyip tekrar deneyin.
500Sunucu hatasıRequest ID ile Hemen Mağaza ekibine iletin.

Rate limit başlıkları

Rate limit uygulanan endpointlerde aşağıdaki header’lar dönebilir:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 42
X-RateLimit-Reset: 1760000000
Remaining değeri sıfıra yaklaşırsa yeni istekleri yavaşlatın.

Retry önerisi

429, geçici ağ hatası veya webhook delivery hatalarında exponential backoff kullanın:
1. deneme: hemen
2. deneme: 30 saniye sonra
3. deneme: 2 dakika sonra
4. deneme: 10 dakika sonra
Sipariş oluşturma gibi yazma operasyonlarında idempotency anahtarı kullanmanız önerilir.
Idempotency-Key: order-frontend-8f1f7c

Güvenlik notları

  • Token’ı public GitHub reposuna koymayın.
  • Browser uygulamalarında sadece storefront key kullanın.
  • Yönetim scope’ları olan token’ları server-side saklayın.
  • * scope’unu canlı dış vitrine vermeyin.