Ночной релиз, API падает, в ответ — голое `invalid_request`.
Для машины это ошибка. Для человека в 2:00 — квест без карты.
Хороший API-ошибочный ответ отвечает на 3 вопроса:
1) **Что сломалось?**
2) **Почему это случилось?**
3) **Что делать дальше?**
Плохой ответ:
`invalid_request`
Нормальный ответ:
```json
{
"type": "https://api.example.com/errors/invalid_request",
"title": "Invalid request",
"status": 400,
"detail": "Field 'email' is required.",
"instance": "/v1/users",
"trace_id": "8f3c..."
}
```
3 шага, чтобы поднять DX без боли:
- **Назови проблему явно.** Не “bad request”, а конкретное поле, лимит, причина.
- **Дай действие.** Что исправить: формат, обязательный параметр, retry-after, пример запроса.
- **Сделай ошибки предсказуемыми.** Один формат для всех endpoints. Стабильные коды. Никакой лотереи.
Почему это важно?
Потому что время до первого успешного вызова — это не метрика “для маркетинга”. Это реальный тест на вменяемость вашего API. Скучный, предсказуемый API — это комплимент. 🤝
Если хочешь, чтобы тебе меньше писали злые письма в поддержку — начни с ошибок, которые можно понять без кофейной дозы и шаманства.
Interview Lab
@InterviewLabPro
Ночной релиз, API падает, в ответ — голое `invalid_request`.
Этот пост опубликован в Telegram-канале Interview Lab. Подписаться можно по ссылке: @InterviewLabPro.