Проверки JSON

Проверки JSON для API, а не только контроль статуса

Одного кода ответа 200 часто недостаточно. Если API формально отвечает, но возвращает неверные данные, пустой массив или сломанное поле, это тоже должно считаться проблемой.

Проверки JSON для мониторинга API в UpWatch
Зачем нужна отдельная страница про JSON-проверки
Коротко и по делу о том, что именно решает этот сценарий мониторинга.

Многие сбои не выглядят как классическое падение сервиса. Endpoint может продолжать отвечать, но возвращать некорректное состояние: неправильный флаг, пустой результат, неожиданное значение или частично сломанный объект.

Поэтому мониторинг API должен уметь проверять не только статус ответа и время отклика, но и конкретные поля JSON. Именно это позволяет ловить тихие сбои, которые иначе долго остаются незамеченными.

В UpWatch JSON-проверки работают как отдельный слой поверх HTTP-монитора. Можно проверять ожидаемое содержимое ответа и затем видеть в истории, какая именно проверка не прошла и что отличалось от ожидания.

Типовые сценарии
  • Проверка, что API возвращает status=ok или healthy=true.
  • Контроль, что массив данных не пустой и содержит ожидаемые элементы.
  • Проверка числовых значений: например, version, balance, queue size или другие поля.
  • Контроль флагов и полей состояния после релиза или изменений в интеграции.
  • Ловля частичных ошибок, когда код ответа 200, но бизнес-логика уже нарушена.
Что важно в работе
Не просто проверка по расписанию, а предсказуемая диагностика и понятное поведение сервиса.
Проверка смысла ответа
Можно отлавливать ситуацию, когда endpoint формально жив, но фактически уже возвращает неверные данные.
Expected / actual в деталях
Для сбоя важна не абстрактная ошибка, а понятное различие между ожидаемым и фактическим значением.
Связь с общей историей инцидента
JSON-проверки не живут отдельно: они попадают в ту же историю запусков и помогают разбирать проблему целиком.
Как настроить JSON-проверки
Практический порядок действий: что добавить, что проверить и куда отправлять уведомления.
Шаг 1
Выберите endpoint с JSON-ответом

Начните с API, где важен не только код ответа, но и конкретные данные внутри JSON.

Шаг 2
Определите критичные поля

Проверяйте status, healthy, version, count, queue size или другие поля, которые показывают реальное состояние.

Шаг 3
Задайте ожидаемые значения

Правило должно быть конкретным: какое поле проверяется и какое значение считается нормальным.

Шаг 4
Проверяйте expected и actual

При сбое важно видеть не только факт ошибки, но и различие между ожидаемым и фактическим значением.

Почему это важно для API-мониторинга
Практический смысл без маркетингового шума.

Когда команда ориентируется только на HTTP 200/500, она пропускает целый класс ошибок. Сервис может отвечать 200, но уже нарушать бизнес-сценарий. Для клиента это реальная проблема, хотя инфраструктурно всё выглядит живым.

JSON-проверки дают более честную модель контроля. Вы смотрите не только на транспортный уровень, но и на содержимое ответа, которое важно именно для вашего продукта.

Это особенно ценно для внутренних API, фоновых интеграций, сервисов с важными флагами состояния и сценариев, где “живой endpoint” ещё не означает “система работает правильно”.

Частые вопросы
Зачем JSON-проверки, если API возвращает 200?

Потому что 200 означает только успешный HTTP-ответ. Данные внутри ответа всё равно могут быть неверными.

Какие поля лучше проверять?

Поля, которые отражают здоровье сервиса или бизнес-логику: статус, флаги, количество элементов, версию, состояние очереди.

Можно ли использовать JSON-проверки после релиза?

Да. Это хороший способ поймать тихие ошибки, когда endpoint отвечает, но возвращает неправильные данные.

Связанные сценарии
Мониторинг API и HTTP-проверок

Базовый сценарий проверки endpoint-ов, методов запроса, заголовков и таймаутов, поверх которого работают JSON-проверки.

История проверок и запусков

Смотрите, какая именно JSON-проверка не прошла, чем expected отличается от actual и как проблема развивалась по запускам.

Инциденты и история мониторинга

Посмотрите, как последовательные ошибки JSON-проверок собираются в инцидент и связываются с общей картиной сбоя.

Добавьте к монитору проверки JSON
Контролируйте не только доступность API, но и корректность его ответа.