320appsДля бизнеса в MAX

Что хотите запустить?

Создать аккаунтВойти в кабинет
← Все способы подключения

Исходящий webhook · JSON · HTTPS

Событие ушло. Квитанция осталась.

Webhook — это автоматическая отправка данных после выбранного события. 320apps передаст сведения о заявке вашей системе: подготовьте получателя, отправьте один тест и проверьте обе стороны.

Исходящие webhook доступны с тарифа «Автоматизация» · 1 000 ₽/мес. Нужны публичный HTTPS-адрес и доступ владельца организации. Настройку получателя выполняет ваш разработчик; отправку и журнал берёт на себя 320apps.

ЛЕНТА ДОСТАВКИ№ 320–01

  1. Событиеновая заявка
  2. ПодписьHMAC-SHA-256
  3. Получательваш HTTPS
  4. КвитанцияHTTP 2xx
Путь
один адрес
Контроль
тест + журнал
Смысловая схема, не интерфейс

Выберите повод

Три рабочих события. Не больше, чем нужно.

Каждая лишняя отправка — лишние данные и лишняя обработка у получателя.

  1. 01Новая заявкаapplication.created

    Создать запись у получателя.

  2. 02Статус изменёнapplication.status_changed

    Продвинуть уже известную запись.

  3. 03Данные измененыapplication.updated

    Обновить нужные поля.

Одна линия · пять контрольных точек

Не включайте поток раньше контрольной доставки.

На каждом шаге есть признак готовности. Если его нет, переходить дальше рано.

  1. 01
    АДРЕС И СОБЫТИЯ

    Назначьте одного получателя.

    Выберите «Своя система (JSON)», укажите отдельный публичный HTTPS-адрес и отметьте только нужные события.

    • Адрес не содержит логин, пароль или секрет.
    • Локальные и частные сети не принимаются.
    • Настройка действует для всей организации.
    • Снимите отметку «Включить после сохранения» до первого теста.

    ПроверьтеПолучатель доступен извне и принадлежит вам.

    Светлая форма исходящего webhook 320apps со своей системой, HTTPS-адресом, тремя событиями, скрытым секретом и примером JSONОткрыть форму крупно

    Реальный интерфейс · светлая тема

    Светлая форма исходящего webhook 320apps со своей системой, HTTPS-адресом, тремя событиями, скрытым секретом и примером JSON
    На узком экране проведите по изображению, чтобы рассмотреть весь рабочий стол.
    Форма настройки в тестовом кабинете: адрес получателя и события. Секрет скрыт самим интерфейсом.
  2. 02
    ПЕЧАТЬ ОТПРАВИТЕЛЯ

    Проверьте подпись до разбора JSON.

    Раскройте «Дополнительные настройки» и задайте отдельный секрет в поле «Секрет подписи». 320apps вычислит HMAC-SHA-256 по точному необработанному телу запроса.

    • X-320apps-Signature — подпись тела: шестнадцатеричная строка без префикса sha256=.
    • X-320apps-Event — вид события.
    • Сравнивайте подписи способом с постоянным временем выполнения.

    ПроверьтеПри изменении хотя бы одного байта подпись перестаёт совпадать.

    КОНТРОЛЬ ПЕЧАТИ

    Алгоритм
    HMAC-SHA-256
    Сообщение
    исходное тело
    Ключ
    секрет настройки
    Сравнение
    постоянное время
    СОВПАЛО
  3. 03
    ПРИЁМ ДАННЫХ

    Сохраните — потом отвечайте.

    Верните любой ответ 2xx только после того, как событие принято. При повторе сопоставляйте event, application.id и фактическое состояние заявки. Отдельного стабильного delivery_id сейчас нет. Для необратимых действий ведите свой журнал обработанных состояний.

    ПроверьтеПовторная обработка не создаёт вторую запись.

    Пример структуры · данные вымышлены
    {
      "event": "application.created",
      "occurred_at": "2026-09-15T16:30:00Z",
      "organization_id": 1001,
      "bot_id": 2001,
      "application": {
        "id": 3001,
        "status": "new",
        "owner_id": null,
        "source": "site",
        "contact": {
          "name": "Иван Тестовый",
          "phone": "+7 900 000-00-00",
          "email": "visitor@example.test"
        },
        "created_at": "2026-09-15T16:29:58Z",
        "updated_at": "2026-09-15T16:29:58Z"
      },
      "changes": {},
      "meta": { "application_url": "https://example.test/applications/3001" }
    }
  4. 04
    КОНТРОЛЬНАЯ ОТПРАВКА

    Отправьте ровно один тест.

    После сохранения нажмите «Проверить». Придёт отдельное событие application.test, а не рабочая заявка. Подготовьте его обработку у получателя: тест может создать там запись. Используйте безопасную тестовую среду и не запускайте оплату или сообщения клиентам.

    • Сверьте HTTP-ответ.
    • Найдите тест у получателя.
    • Не повторяйте вслепую при задержке экрана.

    Готово здесь320apps получил ответ 2xx; внешний результат всё равно проверяется отдельно.

    Светлая карточка исходящего webhook со статусами Включён и Тест пройден и квитанцией HTTP 200Открыть квитанцию

    Реальный интерфейс · светлая тема

    Светлая карточка исходящего webhook со статусами Включён и Тест пройден и квитанцией HTTP 200
    На узком экране проведите по изображению, чтобы рассмотреть весь рабочий стол.
    Пример тестовой доставки: получатель ответил HTTP 200. Это подтверждает связь, но не сохранение записи в вашей системе.
  5. 05
    ЖУРНАЛ

    Сверьте ответ и время.

    Журнал показывает событие, получателя, результат, HTTP-ответ, время и номер попытки. Он помогает найти разрыв, но не заменяет журнал вашей системы.

    ПроверьтеОдна контрольная отправка оставила одну понятную строку. После проверки записи у получателя откройте настройку, отметьте «Включить после сохранения» и сохраните её.

    Светлый журнал webhook 320apps с одной тестовой доставкой, результатом Доставлено и ответом HTTP 200Открыть журнал крупно

    Реальный интерфейс · светлая тема

    Светлый журнал webhook 320apps с одной тестовой доставкой, результатом Доставлено и ответом HTTP 200
    На узком экране проведите по изображению, чтобы рассмотреть весь рабочий стол.
    Тестовая отправка в журнале: сравните время, получателя и HTTP-ответ со своей системой.

Как читать ответ

Не каждый сбой надо повторять.

2xx

Принято

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

408 · 429 · 5xx

Временная ошибка

320apps повторит попытку с паузой. Получатель должен выдержать повтор.

3xx · прочие 4xx

Остановиться и исправить

Перенаправления не выполняются; такие ответы автоматически не повторяются.

Повторять вслепую —
способ получить дубль.

Если линия оборвалась

Идите от квитанции к причине.

  1. 01Нет строки

    Проверьте, сохранён ли адрес и выбрано ли это событие.

  2. 02Нет HTTP

    Проверьте DNS, публичный HTTPS и доступность получателя.

  3. 03Получен 4xx

    Сверьте подпись, тело и правила вашего обработчика.

  4. 04Есть 2xx, нет записи

    Ищите ошибку после преждевременного ответа у получателя.

Открыть журнал доставок →

Короткая справка

Пять вопросов перед включением.

Webhook и REST API — одно и то же?

Нет. Webhook сам сообщает вашей системе о выбранном событии. REST API нужен, когда ваша система инициирует разрешённый запрос к 320apps.

Можно указать обычный HTTP-адрес?

Нет. Получатель должен быть доступен по публичному HTTPS-адресу. Локальные, частные и зарезервированные адреса блокируются.

Секрет подписи обязателен?

Поле находится в «Дополнительных настройках». Оно необязательное, но для своей системы мы рекомендуем его заполнить. Получатель сможет проверить HMAC-SHA-256 в заголовке X-320apps-Signature до обработки данных.

Может ли одно событие прийти повторно?

Да. Для защиты от дублей сопоставляйте event, application.id и фактическое состояние заявки. Отдельный стабильный delivery_id сейчас не передаётся. Уже обработанное состояние не должно повторно запускать необратимые действия.

Что означает успешный тест?

320apps получил ответ 2xx от указанного адреса и записал результат в журнал. Дополнительно проверьте, что ваша система действительно сохранила и правильно обработала тест.

Линия готова к проверке

Назначьте адрес. Запечатайте. Отправьте один тест.

Включайте рабочие события только после записи у получателя и понятной строки в журнале 320apps.

Добавить webhook →Технический маршрутMAX + Telegram: интеграции AppsMax →