Интеграции

Вебхуки

Кратко

Исходящие вебхуки tuk-tuk.online отправляют HTTP POST с JSON и подписью HMAC-SHA256 на ваш URL при событиях платформы: сообщения, диалоги, цепочки, каналы, AI, платежи, календарь, интеграции, SMS, файлы. Настраиваются в настройках проекта, работают независимо от цепочек.

  • Где: «Настройки проекта» → блок «Вебхуки API» → «Создать вебхук» (поля «Название», «URL», список событий); действия «Редактировать», «Секрет», «Логи», «Удалить».
  • 51 тип события в 10 группах; имя события в поле event и заголовке X-Webhook-Event.
  • Заголовки: Content-Type: application/json, X-Webhook-Signature (HMAC-SHA256 hex), X-Webhook-Event, X-Webhook-Timestamp; тело {event, timestamp, data}.
  • Доставка: одна попытка, таймаут 10 с, успех при 2xx, повторов нет; после 50 ошибок подряд вебхук отключается автоматически.
  • Свои заголовки добавить нельзя: защита endpoint только проверкой подписи.
  • Для запросов внутри сценария используется блок Webhook в цепочках, это другой инструмент.
На этой странице

Вебхуки (Event Webhooks) отправляют на ваш URL HTTP-уведомление каждый раз, когда в tuk-tuk.online происходит выбранное событие: пришло сообщение, создан диалог, завершилась цепочка, прошла оплата. Так платформа связывается с любым сервисом, у которого есть HTTP-адрес: Make.com, n8n, Zapier, ERP, собственный сервер.

Вебхук работает независимо от цепочек и AI. Это уведомление «снаружи», а не шаг сценария: для запросов внутри сценария есть блок Webhook.

#Когда это нужно

  • Передавать обращения в Make.com, n8n или Zapier и дальше в таблицы, CRM, почту.
  • Уведомлять внутреннюю систему (ERP, CMS, 1С) о новых клиентах и сообщениях.
  • Вести собственную аналитику по событиям платформы.
  • Запускать внешние процессы по событию: выставить счёт после оплаты, отправить SMS после закрытия диалога.

#Какие события доступны

Всего 51 тип события в 10 группах. Имя события приходит в поле event и в заголовке X-Webhook-Event.

ГруппаСобытия
Сообщенияmessage.inbound, message.outbound, message.status_changed
Диалогиdialog.created, dialog.updated, dialog.closed, dialog.tag_added, dialog.tag_removed, dialog.note_added, dialog.read, dialog.merged, dialog.custom_fields_updated
Цепочкиchain.created, chain.updated, chain.removed, chain.toggled, chain.execution_started, chain.execution_completed, chain.execution_failed
Каналыchannel.created, channel.removed, channel.toggled, channel.config_updated, channel.error
AIai.provider_created, ai.provider_removed, ai.instruction_created, ai.instruction_updated, ai.instruction_removed, ai.assistant_created, ai.assistant_updated, ai.assistant_removed, ai.assistant_toggled, ai.assistant_replied
Платежи и балансpayment.created, payment.succeeded, payment.refunded, balance.changed, tier.changed
Календарьcalendar.event_created, calendar.event_updated, calendar.event_removed
Интеграцииintegration.connected, integration.disconnected, integration.updated
SMSsms.sent, sms.status_changed, sms.device_connected, sms.device_disconnected
Файлыfile.uploaded, file.deleted

#Как настроить

Вебхуки API в настройках проекта
  1. Кнопка «Добавить вебхук».
  2. Карточка вебхука: название, URL, события, секрет и журнал доставки.
Форма нового вебхука
  1. Название вебхука.

  2. URL вашего сервера.

  3. Выбор событий: отметьте нужные группы, всего 50 событий.

  4. Откройте Настройки проекта и найдите блок «Вебхуки API».

  5. Нажмите «Создать вебхук» и заполните «Название» (например, «Мой CRM webhook») и «URL» (адрес вашего сервера или сценария Make.com, n8n).

  6. Отметьте события, о которых хотите получать уведомления, и сохраните: вебхук появится в списке включённым.

  7. Нажмите «Секрет» у вебхука и скопируйте Signing Secret: он нужен для проверки подписи на вашей стороне.

У каждого вебхука в списке есть действия «Редактировать», «Секрет», «Логи», «Удалить». Вебхук можно временно выключить, не удаляя.

#Проверить, что работает

  1. Создайте вебхук с событием message.inbound и напишите боту с тестового номера: ваш сервер получит POST-запрос.
  2. Откройте «Логи» у вебхука: в таблице появится строка с событием, HTTP-статусом ответа, временем доставки и датой.
  3. Проверьте подпись из заголовка X-Webhook-Signature по примеру со страницы Event Webhooks.

#Что приходит на ваш URL

При событии платформа отправляет один POST-запрос с JSON-телом и четырьмя заголовками.

ЗаголовокЗначение
Content-Typeapplication/json
X-Webhook-SignatureHMAC-SHA256 от тела запроса с вашим Signing Secret, hex
X-Webhook-EventТип события, например message.inbound
X-Webhook-TimestampВремя события в ISO 8601

Тело всегда одной структуры: event, timestamp, data. Состав data зависит от события.

JSON
{
  "event": "message.inbound",
  "timestamp": "2026-01-15T14:30:00.000Z",
  "data": {
    "messageId": "msg-uuid",
    "dialogId": "dialog-uuid",
    "body": "Здравствуйте, хочу узнать о доставке",
    "channelType": "TELEGRAM_BOT",
    "channelId": "ch-uuid",
    "mediaType": null
  }
}

#Как устроена доставка

ПараметрЗначение
МетодPOST, тело JSON
Таймаут ответа10 секунд
УспехЛюбой ответ с кодом 2xx
ПовторыНет: одна попытка на событие, результат пишется в «Логи»
АвтоотключениеПосле 50 неудачных доставок подряд вебхук выключается; после исправления включите его вручную
ПодписьHMAC-SHA256, секрет можно перегенерировать в «Секрет»

#Примеры сценариев

#Make.com или n8n

  1. Создайте сценарий с триггером «Webhook» и скопируйте его URL.
  2. Создайте вебхук в tuk-tuk.online с этим URL и событием message.inbound или dialog.created.
  3. Напишите боту: в сценарии появится запрос с телом события, дальше данные можно передать в таблицу или CRM.

#Google Sheets

Прямой записи в таблицу нет. Используйте Make.com или n8n как промежуточный шаг: вебхук → сценарий → строка в Google Sheets.

#Собственный сервер

Поднимите endpoint, который принимает POST с JSON, проверяет подпись X-Webhook-Signature и отвечает 200. Готовый код проверки на JavaScript и PHP: Event Webhooks.

#Вебхуки и блок Webhook в цепочках

Вебхуки (эта страница)Блок Webhook
Когда срабатываетПри событии платформы, независимо от цепочекКогда цепочка доходит до блока
НаправлениеУведомление на ваш URLЗапрос к внешнему API с ожиданием ответа
ДанныеФиксированная структура событияСвои параметры с переменными вроде {{name}}, {{lastMessage}}, {{aiResult}}
ОтветНе используетсяСохраняется в {{webhookResult}} и доступен следующим блокам
Где настраиваетсяНастройки проекта → «Вебхуки API»Редактор цепочки

#Ограничения

  • Одна попытка доставки без повторов, таймаут 10 секунд.
  • После 50 ошибок подряд вебхук выключается автоматически.
  • Тело только JSON (Content-Type: application/json); другие форматы не поддерживаются.
  • Заголовки запроса фиксированы: свои заголовки (например, Authorization) добавить нельзя, защищайте endpoint проверкой подписи.

#Частые проблемы

ПроблемаЧто делать
Вебхук не срабатываетПроверьте, что нужное событие отмечено и вебхук включён; загляните в «Логи»
Сервер не получает запросУбедитесь, что URL доступен из интернета по HTTPS и принимает POST
В логах статус 401 или 403Ваш endpoint отклоняет запрос: проверяйте подпись X-Webhook-Signature, а не заголовок Authorization
В логах «Timeout»Сервер отвечает дольше 10 секунд: отвечайте 200 сразу, обработку переносите в фон
Вебхук сам выключилсяНакопилось 50 ошибок подряд: исправьте endpoint и включите вебхук снова