---
title: "Вебхуки: уведомления о событиях в Make, n8n, Zapier и свой сервер"
nav_title: "Вебхуки"
url: https://docs.tuk-tuk.online/integrations/webhooks
markdown: https://docs.tuk-tuk.online/integrations/webhooks.md
section: "Интеграции"
description: "Исходящие вебхуки tuk-tuk.online: HTTP POST о новых сообщениях, диалогах, цепочках, оплатах и интеграциях на ваш URL с подписью HMAC-SHA256. Настройка, список событий, формат данных, отличие от блока Webhook в цепочках."
keywords: ["webhook интеграция", "вебхук для бота", "HTTP API интеграция", "event webhook", "Make.com webhook", "n8n webhook", "Zapier интеграция", "REST API чат-бот", "исходящий вебхук", "событийный вебхук"]
lang: ru
product: tuk-tuk.online
app: https://lk.tuk-tuk.online
api_base: https://back.tuk-tuk.online
---

> [!AI] Кратко
> Исходящие вебхуки 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 в цепочках, это другой инструмент.
>
> Связанные страницы: https://docs.tuk-tuk.online/api/webhooks, https://docs.tuk-tuk.online/chains/blocks/webhook, https://docs.tuk-tuk.online/api/rest, https://docs.tuk-tuk.online/channels/webhook, https://docs.tuk-tuk.online/integrations

# Вебхуки

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

Вебхук работает независимо от цепочек и AI. Это уведомление «снаружи», а не шаг сценария: для запросов внутри сценария есть блок [Webhook](https://docs.tuk-tuk.online/chains/blocks/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` |

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


![Вебхуки API в настройках проекта](https://docs.tuk-tuk.online/assets/screens/settings/webhooks.webp)

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


![Форма нового вебхука](https://docs.tuk-tuk.online/assets/screens/settings/webhook-form.webp)

1. Название вебхука.
2. URL вашего сервера.
3. Выбор событий: отметьте нужные группы, всего 50 событий.

1. Откройте [Настройки проекта](https://lk.tuk-tuk.online/settings) и найдите блок «Вебхуки API».
2. Нажмите «Создать вебхук» и заполните «Название» (например, «Мой CRM webhook») и «URL» (адрес вашего сервера или сценария Make.com, n8n).
3. Отметьте события, о которых хотите получать уведомления, и сохраните: вебхук появится в списке включённым.
4. Нажмите «Секрет» у вебхука и скопируйте Signing Secret: он нужен для проверки подписи на вашей стороне.

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

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

1. Создайте вебхук с событием `message.inbound` и напишите боту с тестового номера: ваш сервер получит POST-запрос.
2. Откройте «Логи» у вебхука: в таблице появится строка с событием, HTTP-статусом ответа, временем доставки и датой.
3. Проверьте подпись из заголовка `X-Webhook-Signature` по примеру со страницы [Event Webhooks](https://docs.tuk-tuk.online/api/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` зависит от события.

```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, секрет можно перегенерировать в «Секрет» |

> [!WARNING] Повторных попыток нет. Если ваш сервер не ответил за 10 секунд или вернул ошибку, событие не доставляется повторно. Отвечайте `200` сразу, а обработку выполняйте после ответа.

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

### 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](https://docs.tuk-tuk.online/api/webhooks).

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

| | Вебхуки (эта страница) | Блок [Webhook](https://docs.tuk-tuk.online/chains/blocks/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 и включите вебхук снова |
