
Обзор
Вебхуки в Twenty дополняют API, позволяя получать уведомления в режиме реального времени в ваши собственные приложения, когда в вашей CRM происходят определённые события. Вместо того чтобы постоянно опрашивать API на предмет изменений, вы можете настроить вебхуки так, чтобы Twenty отправлял данные в вашу систему, когда происходят определённые события (например, когда создаётся новая запись или обновляется существующая запись). Это помогает мгновенно и эффективно синхронизировать внешние системы с Twenty. С помощью вебхуков, Twenty отправит HTTP POST запрос на указанный вами URL, содержащий детали события. Затем вы можете обрабатывать эти данные в вашем приложении (например, для обновления внешней базы данных, запуска рабочих процессов или отправки предупреждений).Настройка вебхука
Чтобы создать вебхук в Twenty, используйте настройки API & Webhooks в вашем приложении Twenty:- Перейдите в Настройки: В вашем приложении Twenty перейдите в Настройки → API & Webhooks.
- Создать вебхук: В разделе Webhooks нажмите на + Создать вебхук.
- Введите URL: Укажите конечный URL на вашем сервере, куда вы хотите, чтобы Twenty отправлял запросы вебхука. Это должен быть общедоступный URL, который может обрабатывать POST-запросы.
- Сохранить: Нажмите Сохранить, чтобы создать вебхук. Новый вебхук будет активирован немедленно.
Events and Payloads
Как только вебхук настроен, Twenty отправит HTTP POST запрос на указанный URL всякий раз, когда в данных CRM произойдёт триггерное событие. Общие события, вызывающие вебхуки, включают:- Запись создана: например, добавлен новый человек (
person.created), создана новая компания (company.created), создана новая заметка (note.created) и т.д. - Запись обновлена: например, обновлена информация существующего человека (
person.updated), изменена запись компании (company.updated) и т.д. - Запись удалена: например, удалён человек или компания (
person.deleted,company.deleted). - Другие события: если применимо, другие события объектов или пользовательские триггеры (например, если обновляются задачи или другие объекты, использовались бы аналогичные типы событий, такие как
task.created,note.updatedи др.).
"event"указывает, что произошло (person.created)."data"содержит информацию о новой записи (те же сведения, которые вы получили бы, если бы запросили этого человека через API)."timestamp"это время, когда событие произошло (в UTC).
"event", чтобы понять, что произошло, а затем использовать "data" соответствующим образом (например, создать новый контакт в вашей системе или обновить существующий).
Примечание: Важно ответить 2xx HTTP статусом с вашего конечного пункта вебхука для подтверждения успешного получения. Если отправитель вебхука в Twenty не получит ответ 2xx, он может считать доставку неудачной. (В будущем логика повторной попытки может попытаться переслать неудачные вебхуки, поэтому всегда стремитесь вернуть 200 OK как можно быстрее после обработки данных.)
Валидация вебхуков
Чтобы обеспечить безопасность ваших конечных точек вебхуков, Twenty включает подпись в заголовкеX-Twenty-Webhook-Signature.
Эта подпись является HMAC SHA256 хэшом payload запроса, вычисленным с использованием вашего секрета вебхука.
Чтобы проверить подпись, вам нужно:
- Конкатенировать временную метку (из заголовка
X-Twenty-Webhook-Timestamp), двоеточие и строку JSON payload - Вычислите HMAC SHA256 хэш, используя ваш секрет вебхука в качестве ключа ()
- Сравните полученный шестнадцатеричный дайджест с заголовком подписи