API и интеграции

Передать заявки через webhook

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

Обновлено 22.08.2026
Время чтения 15 мин
Сложность Средний
Цель инструкции

Принять один подписанный webhook без дублей и безопасно обработать повтор.

Короткий маршрут

Что вы сделаете

Откройте нужный шаг сразу или идите по порядку. Проверка результата остаётся в самой инструкции.

  1. 01 События
  2. 02 Настройка платформы
  3. 03 Минимальная обработка
  4. 04 Ответы и повторы
  5. 05 Ошибки

Результат: ваша система примет событие платформы, проверит его и не создаст дубль при повторной доставке.

События

  • application.created — новая заявка.
  • application.updated — изменились данные.
  • application.status_changed — изменился статус.
Выбор трёх событий заявки для своей системы
Подключайте только события, которые обработчик действительно различает.

Настройка платформы

  1. Подготовьте публичный HTTPS-адрес, принимающий POST-запросы.
  2. Откройте вкладку Webhook и выберите «Своя система: JSON».
  3. Укажите адрес без токена в query string.
  4. Выберите события.
  5. Создайте отдельный секретный ключ.
  6. Проверьте предпросмотр данных запроса и выполните тест.
Настройки секретного ключа и сопоставления полей webhook платформы
Секретный ключ проверяется на сервере получателя. Никогда не выводите его в лог целиком.

Минимальная обработка

POST /hooks/appsmax HTTP/1.1
Content-Type: application/json
X-Appsmax-Event: application.created

{
  "event": "application.created",
  "application": { "id": 123 }
}

Фактические поля и алгоритм проверки берите из контракт исходящих webhook. Не угадывайте подпись по старому примеру.

Ответы и повторы

Результат Что вернуть Что произойдёт
Данные приняты 2xx Доставка считается успешной
Временная перегрузка 408, 429 или 5xx Платформа может повторить доставку
Постоянная ошибка запроса другой 4xx Автоматический повтор не обещается

Публичный контракт фиксирует до пяти попыток и интервалы 60, 300 и 900 секунд. Семантика — at least once. Используйте событие, application.id и текущее состояние для идемпотентности.

Webhook-журнал платформы с результатом доставки
После теста проверьте событие, время, HTTP-статус и маскированный адрес.

Ошибки

  • 415 — обработчик не принимает JSON.
  • 413 — ограничение размера тела слишком низкое.
  • 401/403 — проверка секретного ключа или подписи не прошла.
  • 5xx — не возвращайте успех до фактического принятия данных.

Отключение

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

Нужна помощь с запуском?

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