Вебхуки

В Citeck добавлен функционал входящих вебхуков.

Вебхук — автоматически сгенерированный HTTP-запрос, созданный на основе события (триггера), работающий быстро и в одну сторону.

Настройки доступны в разделе «Интеграции- Входящие вебхуки».

Журнал доступен по адресу: v2/admin?journalId=in-webhook-journal&type=JOURNAL

Расположение артефактов с данным типом: integration/in-webhook

Форма создания

Атрибуты (in-webhook):

Атрибут

Тип

Описание

id

Текст

id используется для создания endpoint вебхука

token

ASSOC (secret)

Секрет с типом Токен.
Необходим для проверки валидности запроса.

actionType

Текст

Тип действия при запросе

authParameter

Текст

Параметр запроса, в котором хранится Токен
Если не задано, используется дефолтное значение token

Пример конфигурации:

---
id: bitrix24-webhook
token: emodel/secret@bitrix24-webhook-token
actionType: toEvent
authParameter: auth[application_token]

При создании входящего вебхука, становится доступным отправка POST запросов по адресу

http://host/gateway/integrations/pub/webhook/${id}

id – id, указанный при создании вебхука.

В запросе обязательно должно присутствовать тело (body).

Токен для проверки запроса должен лежать в параметре, указанном при создании вебхука.

Например:

http://host/gateway/integrations/pub/webhook/bitrix24-webhook?token=testAuthToken

На данный момент доступно только одно Действие для вебхука - Трансформация в Events. При обработке вебхука проверяется Токен.

Если проверка прошла успешно, то создается ECOS Event в стандартную очередь ecos-events с типом in-webhook-request. Event содержит в себе данные запроса:

webhookId: String
params: Map<String, String>
body: String

Например:

{
  "params": {"event":"ONCRMDEALADD","auth[application_token]":"123","data[FIELDS][ID]":"9"},
  "body":"event=ONCRMDEALADD&auth%5Bapplication_token%5D=123&data%5BFIELDS%5D%5BID%5D=9",
  "webhookId":"bitrix24-webhook"
}

Доступ на чтение и редактирование вебхуков есть только у Администратора и Системы.

Ошибки

При отправке запроса на вебхук возможны следующие ошибки:

Код

Детали

Комментарий

500

Invalid webhook id={wh_id}

Если запрос выполнен на несуществующий вебхук

500

Secret ${webhook.token} not found

Если неверно задан секрет в вебхуке

500

Authentication token is not valid

Если отсутствует параметр с токеном в запросе или задан неверный токен

500

Not found action type ${webhook.actionType}

Если неверно задано действие в вебхуке

Вебхук используется, например, для синхронизации с Bitrix24