Вебхуки
В 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