Новое обязательное поле в запросе сломало партнёров
В эндпоинт POST /v1/shipments добавили обязательный параметр warehouse_id, обновили Swagger-описание и выкатили в прод. Через час партнёрские интеграции массово получают 422 и перестают создавать отправления.
Какое утверждение верно?
- Новое обязательное поле в запросе — ломающее изменение: его вводят опциональным со значением по умолчанию либо в новой версии эндпоинта
- Добавление поля в запрос не ломает клиентов ни при каких условиях; ломающими считаются только изменения структуры ответа
- Достаточно обновить OpenAPI-спецификацию и разослать её партнёрам: клиенты подтянут новый контракт и начнут слать поле
- Нужно вернуть код 400 вместо 422: старые клиенты трактуют его как временную ошибку, повторяют запрос и продолжают работать
