Грешки
Грешките делат една обвивка (погледнете го прегледот). Разгранувајте ја логиката според code, запишувајте го meta.request_id во логот и сметајте го message за англиски текст наменет за луѓе.
Грешки на клиентот
Дел „Грешки на клиентот“| Код | Статус | Значење и што да направите |
|---|---|---|
validation_failed |
400 | Поле не ја поминало валидацијата. field го именува; details објаснува. Поправете го полето. |
bad_request |
400 | Барањето воопшто не може да се прочита: неисправен JSON, скршен тек Content-Encoding, прекинато тело. Нема поле за поправање; проверете го преносот. |
validation_error |
400 | X-Account-Id е испратено до крајна точка што го забранува (/auth/login, /auth/refresh, /auth/swap-company, /auth/logout). |
cursor_expired |
400 | Курсорот за пагинација е постар од 24 часа. Започнете го листањето одново. |
unauthenticated |
401 | Токенот недостасува или е неважечки. Освежете ја сесијата или проверете го клучот. |
invalid_signature |
401 | Потписот на вебхук не е потврден. Погледнете Вебхукови. |
forbidden |
403 | Токенот е важечки, но нема дозвола. |
account_context_mismatch |
403 | X-Account-Id не се совпаѓа со сметката на токенот. Претставата на клиентот за тековната компанија отстапила; прочитајте ја повторно од сесијата. |
not_found |
404 | Ресурсот не постои или припаѓа на друга сметка или сајт. API никогаш не ги разликува двата случаја. |
conflict |
409 | Конфликт на состојба: оптимистичко заклучување, ограничување за уникатност или акција што не е дозволена во тековната состојба (на пример запишување во споен разговор). |
idempotency_key_conflict |
409 | Idempotency-Key е повторно искористен со различно тело. |
payload_too_large |
413 | Телото го надминува ограничувањето за оваа фамилија крајни точки. |
unsupported_media_type |
415 | Погрешен Content-Type. |
unprocessable |
422 | Валиден JSON, но деловно правило го одбило (на пример термин за резервирање надвор од работното време). |
storage_quota_exceeded |
422 | Сметката го достигнала ограничувањето за складирање на својот план. details содржи used_bytes, quota_bytes и requested_bytes; ослободете простор или надградете го планот. |
rate_limited |
429 | Забавете. Почитувајте ги Retry-After и details.retry_after_seconds. |
Грешки на серверот
Дел „Грешки на серверот“| Код | Статус | Значење и што да направите |
|---|---|---|
internal_error |
500 | Неочекуван дефект. Обидете се уште еднаш, потоа контактирајте ја поддршката со request_id. |
upstream_unavailable |
502 | Портата воопшто не можела да го достигне сервисот. Краток повторен обид обично успева. |
service_unavailable |
503 | Планирано одржување или отворен прекинувач (circuit breaker). Обидете се повторно по заглавието Retry-After. |
ai_vendor_out_of_funds |
503 | Вашиот AI провајдер го одбил повикот од причини поврзани со наплатата (402 или 429 за квота од добавувачот). Надополнете ја сметката кај добавувачот; повторен обид нема да помогне. |
upstream_timeout |
504 | Сервисот не одговорил навреме. Обидете се повторно кога е присутно retry_after. |
Повторни обиди
Дел „Повторни обиди“Повторувајте ги 429, 502, 503, 504 и мрежните дефекти со експоненцијално одложување и испраќајте го истиот Idempotency-Key при повторниот обид, за запишувањето никогаш да не се примени двапати. Не повторувајте 4xx освен 429.