Hatalar ve İdempotensi
Problem yanıtları, yeniden denemeler, hız sınırları ve yinelenen isteklerin önlenmesi.
Hatalar gerçek HTTP durumu ve request_id ile application/problem+json kullanır.
Oluşturma istekleri; 8–128 harf, rakam, ., _, : veya - karakterinden oluşan bir Idempotency-Key gerektirir. API yalnızca Key'in HMAC'ini ve istek parmak izini saklar.
- Aynı Key ve body ilk görevi döndürür.
- Aynı Key ile farklı body,
409 idempotency_conflictdöndürür. - İlk istek hâlâ çalışıyorsa
Retry-Afterile409 request_in_progressdöner. - Otomatik yeniden deneme içinde asla yeni Key üretmeyin.
Yaygın kodlar: invalid_api_key, invalid_api_key_rate_limited, api_key_expired, insufficient_scope, validation_error, unsupported_model, unsupported_parameter, input_url_not_allowed, insufficient_credits, payment_required, account_suspended, network_not_allowed, rate_limit_exceeded, concurrency_limit_exceeded, provider_unavailable ve service_unavailable.
Aynı istemci IP'sinden tekrarlanan geçersiz kimlik bilgileri sınırlandırılır. Hizmet yalnızca pepper uygulanmış IP parmak izini saklar ve yapılandırılan sınırdan sonra Retry-After ile invalid_api_key_rate_limited döndürür.
Ağ hatalarını, 429 ve 503 yanıtlarını backoff, aynı body ve aynı idempotency key ile yeniden deneyin. Provider sonucu doğrulanamazsa API körlemesine yeniden gönderimi bilinçli olarak reddeder ve eşzamanlılık kilidini süresi dolana veya görev uzlaştırılana kadar tutabilir.