Сервис возвращает 200 OK с описанием ошибки в теле ответа
Подрядчик прислал описание метода создания заявки. При неверном ИНН сервис отвечает так:
HTTP/1.1 200 OK
{
"success": false,
"error": "Некорректный ИНН"
}
Почему такой контракт стоит оспорить на этапе согласования?
- Проблема в русском тексте ошибки: сообщения в API должны передаваться только на английском языке
- Так делать нельзя технически: спецификация HTTP запрещает возвращать тело ответа вместе с кодом 200, поэтому такой ответ не разберёт ни одна стандартная библиотека
- Ответ занимает лишний трафик — при ошибке тело возвращать не нужно, достаточно кода состояния
- Клиенты, мониторинг и прокси считают ответ успешным: ошибка не попадёт в метрики и алерты, а каждый интегратор будет разбирать её по-своему
