API ve yapay zeka asistanları/Sınırlar ve hatalar

Sınırlar ve hatalar

API'nin istek sınırları ve hız sınırı başlıkları, her hata kodunun anlamı, değerlerin ve sayfaların nasıl çalıştığı.

İstek sınırları

SınırDeğer
Dakika başına60 istek
Gün başına10.000 istek

İkisi de hesabın tamamı için sayılır: tüm anahtarlarınız ve bağlı yapay zeka asistanlarınız birlikte.

  • Dakika sınırı sürekli dolar: her saniye bir istek hakkı geri gelir, 60'a kadar.
  • Günlük sınır takvim günü değil, 24 saatlik bir penceredir. X-RateLimit-Reset-Day başlığı pencerenin ne zaman bittiğini söyler.

Hız sınırı başlıkları

Geçerli bir anahtarla yapılan bir isteğe verilen her yanıt şunları içerir:

BaşlıkAnlamı
X-RateLimit-LimitDakika başına izin verilen istek sayısı (60)
X-RateLimit-RemainingŞu anda kalan istek sayısı
X-RateLimit-ResetDakika sınırı yeniden dolana kadar kalan saniye
X-RateLimit-Limit-DayGün başına izin verilen istek sayısı (10.000)
X-RateLimit-Remaining-DayBugün kalan istek sayısı
X-RateLimit-Reset-DayGünlük pencere bitene kadar kalan saniye

Bir sınıra ulaşıldığında yanıt, Retry-After başlığıyla birlikte 429 rate_limited olur: o kadar saniye bekleyin, ardından isteği yeniden gönderin.

Hata olsun ya da olmasın her yanıt ayrıca X-Request-Id içerir.

Bir hatanın yapısı

Hatalar standart “problem details” biçimine (application/problem+json) uyar:

{
  "type": "https://gloriads.com/docs/api/errors#invalid_request",
  "title": "Invalid request",
  "status": 400,
  "code": "invalid_request",
  "detail": "limit must be between 1 and 100.",
  "issues": [
    {
      "path": "limit",
      "code": "invalid_value",
      "message": "limit must be between 1 and 100."
    }
  ],
  "request_id": "req_8fK2mQ7xLp3nR9sT1vWy"
}
  • Betiğinizde code alanını test edin. Bu alan asla değişmez; detail ise insanlar için yazılır ve yeniden ifade edilebilir.
  • issues, geçersiz her parametreyi listeler. Yalnızca invalid_request hatasında görünür.
  • Destekle iletişime geçtiğinizde request_id değerini belirtin.

Hata kodları

invalid_request · 400 — Bir parametre geçerli değil: bilinmeyen bir değer, aralık dışında bir sayı ya da bize ait olmayan bir sayfa imleci. issues hangi parametre olduğunu ve nedenini söyler.

api_key_in_query · 400 — Anahtar URL'de gönderildi. Anahtarı Authorization başlığında gönderin ve o anahtarı iptal edin: bir günlüğe düşmüş olabilir.

unauthorized · 401 — Anahtar yok ya da anahtar yanlış veya iptal edilmiş. Yanıt, hangisi olduğunu bilerek söylemez.

subscription_inactive · 403 — Hesabın aboneliği sona erdi. Abonelik yeniden etkin olur olmaz API tekrar çalışır.

insufficient_scope · 403 — Anahtarın okuma izni yok. Bugün oluşturulan her anahtar okuyabilir; bu yüzden bu kodu hiç görmemeniz gerekir.

not_found · 404 — Bu yolda bir uç nokta yok ya da istediğiniz şey hesabınızda bulunmuyor. Başka bir hesaba ait bir şey de aynı yanıtı alır.

method_not_allowed · 405 — API salt okunur olduğu için yalnızca GET isteklerine yanıt verir. Allow başlığı neyi kabul ettiğini listeler.

amazon_not_connected · 409 — /targets, /ads ve /reports/streaming-tv Amazon'u sorduğunuz anda okur, ancak Amazon Ads bağlı değil ya da yeniden bağlanması gerekiyor. Gloriads'te Ayarlar → Amazon Ads sayfasından düzeltin.

rate_limited · 429 — Bir sınıra ulaşıldı. Retry-After içindeki saniye kadar bekleyin.

internal_error · 500 — Bizim tarafımızda bir şey başarısız oldu. Daha sonra tekrar deneyin; sorun devam ederse bize request_id değerini gönderin.

amazon_unavailable · 502 — Amazon /targets, /ads veya /reports/streaming-tv isteğine yanıt vermedi ya da Streaming TV raporunu hazırlayamadı. Birkaç dakika sonra tekrar deneyin.

timeout · 504 — Yanıt 30 saniyeden uzun sürdü. Tek seferde daha az veri isteyin.

Değerler ve sayfalar

  • null, “mevcut değil” anlamına gelir, asla sıfır anlamına gelmez.
  • Uzun listeler sayfalar halinde gelir. limit sayfa boyutunu belirler: 1 ile 100 arasında (varsayılan 50), kampanyalar ve reklam grupları için ise en fazla 1.000 (varsayılan 100). has_more değeri true olduğunda, sonraki sayfayı almak için next_cursor değerini cursor olarak geri gönderin.
  • Bir sayfa limit değerinden kısa olabilir: bir filtre az satır tuttuğunda olur (tek bir kampanyanın reklam grupları). has_more değeri false olana kadar next_cursor değerini izlemeye devam edin.