Головна/Довідник/Коди помилок ENУКРРУС API-довідник (ReDoc) ↗

Коди помилок

Кожен error.code, коли він трапляється і що з ним робити.

Розгалужуйтесь по error.code. Він стабільний. message для людей і може бути переформульований.

{ "error": { "code": "language_not_found",
             "message": "Unknown language code: 'xx-YY'",
             "details": { "language": "xx-YY" } } }

Публічний API

language_not_found — 404

Код не збігся ні з канонічним кодом, ні з аліасом, і скорочення теж нічого не знайшло.

Робіть: залогуйте сире значення. Це або одрук на боці відправника, або тут потрібен аліас — див. Додати мову. Якщо ви класифікуєте, а не резолвите, беріть /v1/normalize: він віддає known: false з 200.

Не робіть ретраїв. Відповідь не зміниться, доки хтось не відредагує каталог.

details.language несе надіслане вами значення.

provider_not_found — 404

Жоден код провайдера, коротка назва чи легасі service_name не збіглися.

Робіть: перевірте актуальний перелік у GET /v1/providers. Легасі-назви консолі зареєстровані як аліаси, тож якщо service_name з animated-spoon не спрацював — провайдера тут справді немає; див. Providers and Vendors.

language_unsupported — 409

Провайдер і мова існують; пара зафіксована як неробоча.

409, а не 404, бо обидва названі ресурси реальні — відмовлено саме їхній комбінації, а викликач, що вічно ретраїть той самий 404, робив би хибний висновок.

Робіть: оберіть іншого провайдера для цієї мови. GET /v1/languages/{code}/providers показує, хто її візьме.

Info

/v1/resolve віддає це в тілі Ендпоінт повертає 200 із supported: false і code: null, а не кидає помилку, тож викликач може залогувати пару й піти далі без обробки винятків. Форма 409 з'являється там, де непідтримувана пара — це жорсткий збій.

validation_error — 422

Некоректний запит: неправильний тип, відсутній параметр або батч понад 500 пар.

details.fields перелічує кожну проблему з її розташуванням.

payload_too_large — 413

Тіло понад 256 КБ. Розбийте батч.

internal_error — 500

Необроблений виняток. Повідомлення навмисно узагальнене: несподіваний виняток може нести DSN або рядок даних, тож він іде в лог, а не до вас.

Робіть: один ретрай із бекофом, потім повідомте з X-Correlation-Id із заголовків вашої відповіді.

service_unavailable — 503

Від /health/ready, коли база недосяжна або каталог порожній (міграції пройшли, сід — ні).

Тільки адмінка

Код Статус Значення
unauthorized 401 Немає дійсної сесії адміна
csrf_invalid 403 Токен відсутній або застарів — перезавантажте сторінку
admin_unavailable 503 ADMIN_PASSWORD_HASH / ADMIN_SECRET_KEY не налаштовані
conflict 409 Аліас зайнятий, або видаляєте мову, у якої ще є мапінги
not_found 404 Невідома сутність

Далі