Пятый фактор
Обсудить задачу
CRM, 1С и интеграции

Контрактные тесты API по OpenAPI

Собираем используемые методы, примеры запросов и ответов, обязательные поля, коды ошибок и варианты авторизации. Создаём или актуализируем описание OpenAPI, добавляем схемы данных, ограничения значений и понятные примеры.

Срок: 8 рабочих дней

Когда стоит обратиться

Обычно к нам обращаются в таких ситуациях:

  • После обновления серверной части мобильное приложение или личный кабинет получает поле другого типа и показывает ошибку.
  • Swagger существует, но описание отстаёт от реальных ответов, а партнёры уточняют формат данных в переписке.
  • Команды выпускают изменения независимо и узнают о несовместимости только на общем стенде либо на рабочем сайте.

Что именно мы сделаем

01

Собираем используемые методы, примеры запросов и ответов, обязательные поля, коды ошибок и варианты авторизации.

02

Создаём или актуализируем описание OpenAPI, добавляем схемы данных, ограничения значений и понятные примеры.

03

Подключаем автоматические проверки фактических ответов API по контракту и добавляем сценарии с корректными и ошибочными данными.

04

Встраиваем запуск в CI либо текущий процесс выпуска, чтобы несовместимое изменение сразу показывало метод, поле и причину.

05

Проводим контрольное изменение на тестовой версии, получаем ожидаемое предупреждение и передаём команде порядок обновления контракта.

Что входит в стоимость

29 900 ₽ за всю работу

Собираем используемые методы, примеры запросов и ответов, обязательные поля, коды ошибок и варианты авторизации. Создаём или актуализируем описание OpenAPI, добавляем схемы данных, ограничения значений и понятные примеры. Подключаем автоматические проверки фактических ответов API по контракту и добавляем сценарии с корректными и ошибочными данными.

Перед сдачей проверяем, что основные методы проходят проверку по схеме с рабочими примерами запросов и ответов. В комплект результата входят: актуальное описание API в формате OpenAPI; набор автоматических контрактных тестов с запуском перед релизом; отчёт об ошибке с методом, полем, ожидаемым и фактическим значением. Небольшие связанные уточнения, которые появляются во время работы, уже учитываем в стоимости.

Что будет готово

Материалы

Передадим вам

  • Актуальное описание API в формате OpenAPI.
  • Набор автоматических контрактных тестов с запуском перед релизом.
  • Отчёт об ошибке с методом, полем, ожидаемым и фактическим значением.
Проверка

Перед сдачей проверим

  • Основные методы проходят проверку по схеме с рабочими примерами запросов и ответов.
  • Контрольное несовместимое изменение останавливает проверку и показывает точную причину расхождения.
  • Команда получает понятный способ обновить контракт и подтвердить совместимость перед выпуском.

Как это выглядит на практике

Как ловим изменение ответа заказа

Типичная ситуация: после обновления серверной части мобильное приложение или личный кабинет получает поле другого типа и показывает ошибку. Сначала запрашиваем тестовый заказ через документированный метод API, затем сравниваем код ответа, обязательные поля и тип суммы со схемой OpenAPI, а в финале меняем тип одного поля на тестовой версии и запускаем проверку повторно.

  1. 01

    Запрашиваем тестовый заказ через документированный метод API.

  2. 02

    Сравниваем код ответа, обязательные поля и тип суммы со схемой OpenAPI.

  3. 03

    Меняем тип одного поля на тестовой версии и запускаем проверку повторно.

  4. 04

    Получаем отчёт с адресом метода и точным расхождением контракта.

Что понадобится для работы

От вас

  • Доступ к тестовой версии API и способу авторизации.
  • Текущее описание Swagger, коллекция запросов либо примеры интеграции.
  • Доступ к репозиторию и CI для подключения автоматического запуска.

Если у вас немного другая ситуация

Небольшие уточнения, которые помогают довести согласованный результат до рабочего состояния, уже учитываем в цене. Если по ходу работы появится отдельный крупный блок или понадобится платная лицензия, сначала обсудим варианты и стоимость. Расскажите о своей ситуации — подстроим план под неё.

Стоимость работ 29 900 ₽ полная стоимость известна заранее
  1. 3 000 ₽после подписания договора через Диадок
  2. 26 900 ₽после выполнения, демонстрации и приёмки результата

Предоплата входит в общую стоимость. Оставшуюся сумму оплачиваете после демонстрации и приёмки готовой работы.

Часто спрашивают

Об этой услуге

Подойдёт ли работа для API без Swagger?

Да, начнём с фактических запросов, кода и примеров ответов. На их основе соберём OpenAPI-описание, которое станет общим контрактом для команды.

Чем контрактный тест отличается от обычного API-теста?

Обычный тест проверяет конкретный сценарий, а контрактный дополнительно следит за формой обмена: полями, типами, статусами и обязательными значениями.

Можно запускать проверку в GitLab или GitHub?

Да, подключим команду к используемому CI. Результат появится рядом с другими проверками релиза и покажет точное место несовместимости.

Как добавлять новые методы после запуска?

Передаём структуру схемы и примеры тестов. Новый метод добавляется в контракт вместе с примерами, после чего автоматически участвует в следующих проверках.

Цена и изменения по ходу работы

Цена на странице окончательная?

Да. Перед началом мы сверяем исходные данные и фиксируем результат в договоре. Указанная на странице сумма покрывает согласованную работу целиком, даже если её техническая реализация потребует больше времени, чем ожидалось при оценке.

Что означает резерв незапланированных работ?

Это уже включённый в цену запас времени на небольшие связанные уточнения заказчика, которые появляются после старта: например, добавить поле, изменить формат уведомления или учесть ещё одно условие обработки.

Резерв рассчитывается по формуле: стоимость услуги × 30% ÷ 1 500 ₽. Для услуги за 30 000 ₽ это 6 часов. Эти часы относятся только к дополнительным, заранее незапланированным уточнениям. Они не являются сроком проекта и не ограничивают время на основную работу: согласованный результат мы выполняем полностью.

Можно уточнять детали уже во время работы?

Да. Небольшие связанные изменения обычно помещаются во включённый резерв и не требуют доплаты. Если новая идея заметно меняет результат или превращается в самостоятельную задачу, сначала обсудим подход и стоимость. Любое решение согласуем до выполнения.

Начало работы и оплата

Как оформляются договор и оплата?

Подписываем договор через Диадок. Предоплата составляет 3 000 ₽ и входит в общую стоимость услуги. Остаток оплачивается после демонстрации и приёмки готового результата.

Когда начинается срок выполнения?

Срок отсчитывается после согласования задачи, получения необходимых доступов и материалов, подписания договора и поступления предоплаты. Конкретную дату старта и плановый день готовности подтверждаем перед началом.

Как учитываются платные лицензии и внешние сервисы?

До старта проверяем, нужны ли тарифы, лицензии, сертификаты или дополнительные ресурсы внешних систем. Если они потребуются, заранее покажем варианты и стоимость. По возможности аккаунты и лицензии оформляются сразу на заказчика.

Проверка результата и гарантия

Как принимается готовая работа?

Вместе проверяем согласованные сценарии на контрольных данных или тестовой копии, а затем демонстрируем результат. Для интеграций сверяем передачу данных и обработку ошибок, для сайта — работу нужных страниц и действий пользователя, для отчёта — расчёты и обновление данных.

Какая гарантия действует после сдачи?

На выполненные изменения действует гарантия 3 месяца. Если в изменённой нами части обнаружится ошибка нашей реализации, проверим и исправим её без дополнительной оплаты. Переданные материалы, настройки и код остаются у заказчика.

Следующий шаг

Опишите задачу

Расскажите, что происходит сейчас и какой результат хотите получить. Можно указать сайт, CMS, 1С, CRM, ERP или другую систему. Если подходящую услугу выбирать рано, просто опишите ситуацию — мы разберёмся и предложим следующий шаг.