Создать вебхук
- Перейдите в Настройки → API и Вебхуки → Вебхуки
- Нажмите + Создать вебхук
- Введите URL вашего вебхука (должен быть общедоступным)
- Нажмите Сохранить
Управление вебхуками
Изменить: Нажмите на вебхук → Обновите URL → Сохранить Удалить: Нажмите на вебхук → Удалить → ПодтвердитьСобытия
Twenty отправляет вебхуки для следующих типов событий:| Событие | Пример |
|---|---|
| Запись создана | person.created, company.created, note.created |
| Запись обновлена | person.updated, company.updated, opportunity.updated |
| Запись удалена | person.deleted, company.deleted |
Формат полезной нагрузки
Каждый вебхук отправляет HTTP POST с телом JSON:| Поле | Описание |
|---|---|
event | Что произошло (например, person.created) |
data | Полная запись, которая была создана/обновлена/удалена |
timestamp | Когда произошло событие (UTC) |
Ответьте со статусом HTTP 2xx (200-299), чтобы подтвердить получение. Ответы вне диапазона 2xx фиксируются как ошибки доставки.
Валидация вебхуков
Twenty подписывает каждый запрос вебхука для обеспечения безопасности. Проверяйте подписи, чтобы убедиться в подлинности запросов.Заголовки
| Заголовок | Описание |
|---|---|
X-Twenty-Webhook-Signature | Подпись HMAC SHA256 |
X-Twenty-Webhook-Timestamp | Метка времени запроса |
Шаги проверки
- Получите метку времени из
X-Twenty-Webhook-Timestamp - Создайте строку:
{timestamp}:{JSON payload} - Вычислите HMAC SHA256, используя секрет вашего вебхука
- Сравните с
X-Twenty-Webhook-Signature
Пример (Node.js)
Вебхуки vs рабочие процессы
| Метод | Направление | Сценарий использования |
|---|---|---|
| Вебхуки | OUT | Автоматически уведомлять внешние системы о любом изменении записи |
| Рабочий процесс + HTTP-запрос | OUT | Отправлять данные наружу с настраиваемой логикой (фильтры, преобразования) |
| Триггер вебхука в рабочем процессе | IN | Получать данные в Twenty из внешних систем |