Вступить в клуб →
средняявопросИнтеграции и REST API

В обязательном поле спецификации приходит null: чья это ошибка

В спецификации OpenAPI указано:

Client:
  type: object
  required: [id, inn, email]
  properties:
    id: { type: string }
    inn: { type: string }
    email: { type: string }

В проде выясняется: у клиентов-физлиц ИНН часто отсутствует, и поставщик присылает "inn": null. Приёмный сервис падает на разборе, интеграция встаёт.

Что должен был сделать аналитик при проектировании контракта?

  • Убрать inn из обязательных полей и не описывать этот случай отдельно: раз поле может отсутствовать, дальнейших уточнений не требуется
  • Выяснить у бизнеса, для каких категорий клиентов ИНН отсутствует, отразить это в контракте (необязательность или допустимость null) и описать поведение принимающей стороны для такого случая
  • Договориться, что принимающий сервис игнорирует любые несоответствия спецификации и обрабатывает данные как получится
  • Оставить контракт как есть и потребовать от поставщика присылать пустую строку вместо null: пустая строка проходит проверку обязательного поля, приёмная сторона не падает, и менять спецификацию не придётся

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела