Триггер — это шаг в связке, который реагирует на определенное событие и запускает сценарий выполнения связки. Триггер всегда является первым шагом в связке. В одной связке может быть только один триггер.
Триггеры могут быть двух типов:
Webhook триггер
После запуска связки Unisender ожидает HTTP-запрос на указанный в подключении URL с определенными данными.
Каждый триггер имеет свой внутренний фильтр, настройки которого недоступны для пользователя и их невозможно изменить. Этот фильтр определяет, какой запрос должен запустить триггер. Например, при наличии триггера «Новая сделка» связка будет запущена только при получении запроса на вебхук с указанием, что это событие «Новая сделка».
Что такое Webhook (вебхук) и как его можно использовать
Триггер также может делать дополнительные запросы в API для получения более подробных данных, однако в этом случае у триггера может возникнуть ошибка.
Само выполнение связки начинается в момент получения запроса. Если приходит несколько запросов на вебхук одновременно, они выполняются последовательно в порядке очереди.
API триггер
Этот триггер самостоятельно обращается к API системы по расписанию и запрашивает список новых или измененных данных. Обычно поиск происходит по двум параметрам: «Дата создания» и «Дата изменения». А данные запрашиваются за последний час, но в некоторых случаях этот интервал может быть увеличен.
Стандартный график для API триггера предусматривает запрос каждые пять минут, но его можно изменить во вкладке «График запуска».
Подробнее про график запуска связки
При запуске триггер делает запрос с указанием даты на час раньше текущего времен и получает массив данных в ответ. Каждый элемент массива обрабатывается отдельно. Например, если триггер получил в ответ 5 сделок, то связка будет запущена 5 раз. Связка запоминает ID полученных элементов массива, и при повторном запросе они не вызывают повторного запуска связки. Если триггер отслеживает изменения, то к ID также добавляется дата изменения элемента массива. В этом случае сверяются два параметра: ID сущности и дата изменения. Если при повторном запросе приходит тот же ID, но дата изменения отличается, связка запускается снова.
При отсутствии новых данных в журнале появится запись «Нет новых данных».
Триггер также может получить ошибку в случае проблем с подключением или соединением со сторонним сервером, в таком случае система вернет текст ошибки.