Вебхуки (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 |
| AI | ai.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 |
| SMS | sms.sent, sms.status_changed, sms.device_connected, sms.device_disconnected |
| Файлы | file.uploaded, file.deleted |
#Как настроить

- Кнопка «Добавить вебхук».
- Карточка вебхука: название, URL, события, секрет и журнал доставки.

Название вебхука.
URL вашего сервера.
Выбор событий: отметьте нужные группы, всего 50 событий.
Откройте Настройки проекта и найдите блок «Вебхуки API».
Нажмите «Создать вебхук» и заполните «Название» (например, «Мой CRM webhook») и «URL» (адрес вашего сервера или сценария Make.com, n8n).
Отметьте события, о которых хотите получать уведомления, и сохраните: вебхук появится в списке включённым.
Нажмите «Секрет» у вебхука и скопируйте Signing Secret: он нужен для проверки подписи на вашей стороне.
У каждого вебхука в списке есть действия «Редактировать», «Секрет», «Логи», «Удалить». Вебхук можно временно выключить, не удаляя.
#Проверить, что работает
- Создайте вебхук с событием
message.inboundи напишите боту с тестового номера: ваш сервер получит POST-запрос. - Откройте «Логи» у вебхука: в таблице появится строка с событием, HTTP-статусом ответа, временем доставки и датой.
- Проверьте подпись из заголовка
X-Webhook-Signatureпо примеру со страницы Event Webhooks.
#Что приходит на ваш URL
При событии платформа отправляет один POST-запрос с JSON-телом и четырьмя заголовками.
| Заголовок | Значение |
|---|---|
Content-Type | application/json |
X-Webhook-Signature | HMAC-SHA256 от тела запроса с вашим Signing Secret, hex |
X-Webhook-Event | Тип события, например message.inbound |
X-Webhook-Timestamp | Время события в ISO 8601 |
Тело всегда одной структуры: event, timestamp, data. Состав data зависит от события.
{
"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
- Создайте сценарий с триггером «Webhook» и скопируйте его URL.
- Создайте вебхук в tuk-tuk.online с этим URL и событием
message.inboundилиdialog.created. - Напишите боту: в сценарии появится запрос с телом события, дальше данные можно передать в таблицу или 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 и включите вебхук снова |
