Вебхуки и события

Коннекторы не только вызываются наружу — многие получают входящие события (новая сделка в CRM, входящее сообщение, смена статуса заказа). Эти события попадают в локальный журнал и могут запускать автоматические задачи, так что вы реагируете на происходящее во внешнем сервисе, не опрашивая его.

Как проходит входящее событие

1

Регистрация webhook-URL

Для коннектора, поддерживающего входящие события, получите его webhook-URL и зарегистрируйте у провайдера (в настройках самого провайдера или в его консоли разработчика).

2

Провайдер шлёт POST-событие

Когда на стороне провайдера что-то происходит, он шлёт POST-событие на этот URL. Платформа валидирует запрос и записывает его в локальный журнал.

3

Отреагировать

Пусть сохранённая задача запускается автоматически в момент поступления подходящего события.

Webhook-URL

Коннекторы, поддерживающие входящие события, выставляют webhook-URL на каждый сервис, который вы регистрируете у провайдера. Получите его программно:

curl "$BASE/connectors/$SERVICE/webhook-url" \ -H "Authorization: Bearer $SAMRESHUUU_API_KEY"

Дальше провайдер шлёт POST-события на этот URL; платформа валидирует и записывает их. Поддерживает ли конкретный коннектор входящие события, объявлено в его паспорте — прочитайте его через describe_service, прежде чем настраивать webhook.

Запуск задач по событиям

Сохранённая задача может запускаться автоматически при поступлении подходящего события. Установите trigger_type: "webhook" и опишите, на какие события реагировать:

FieldTypeDescription
trigger_typerequiredstringУстановите webhook для задач, управляемых событиями (альтернатива — schedule для задач по расписанию или manual только для ручного запуска).
trigger_config.servicerequiredstringКоннектор, чьи события запускают задачу.
trigger_config.event_typesstring[]На какие типы событий этого сервиса реагировать (например message.received, deal.created).
trigger_config.all_eventsbooleantrue — реагировать на любое событие сервиса вместо перечисления. Задаётся вместо event_types, не вместе с ним; задача без того и другого не включается.
filter_conditionsobject[]Дополнительные условия на полезную нагрузку события перед запуском задачи.

Когда входящее событие совпадает, задача выполняется с этим событием на входе — превращая любой webhook коннектора в автоматизацию.

Webhook или schedule

Триггер webhook реагирует на внешнее событие в момент его возникновения; триггер schedule запускается по cron-расписанию (минимальный интервал — пять минут). Выбирайте webhook, когда работа — это ответ на случившееся, и schedule, когда она должна идти по часам. См. Tasks API в интерактивном эксплорере.

FAQ

Какие коннекторы могут получать входящие webhook-события?

Коннекторы, которые заявляют поддержку входящих событий, выставляют webhook-URL на каждый сервис — типичные источники событий message, lead и deal — это мессенджеры и CRM: telegram, amocrm, bitrix24 и wazzup. Прочитайте паспорт сервиса через describe_service, чтобы узнать, поддерживает ли он входящие события.

Как запустить задачу автоматически при поступлении события?

Создайте задачу с trigger_type: "webhook" и trigger_config, указав service и event_types, на которые реагировать (либо all_events: true, чтобы слушать сервис целиком). Добавьте filter_conditions, чтобы сузить, какие полезные нагрузки запускают задачу. Когда приходит подходящее событие, задача выполняется с этим событием на входе.

Частые вопросы

Какие коннекторы могут получать входящие webhook-события?

Коннекторы, которые заявляют поддержку входящих событий, выставляют webhook-URL на каждый сервис — типичные источники событий message, lead и deal — это мессенджеры и CRM: telegram, amocrm, bitrix24 и wazzup. Прочитайте паспорт сервиса через describe_service, чтобы узнать, поддерживает ли он входящие события.

Как запустить задачу автоматически при поступлении события?

Создайте задачу с trigger_type webhook и trigger_config, указав service и event_types, на которые реагировать (либо all_events true, чтобы слушать сервис целиком). Добавьте filter_conditions, чтобы сузить, какие полезные нагрузки запускают задачу. Когда приходит подходящее событие, задача выполняется с этим событием на входе.

Была ли страница полезна?