> For the complete documentation index, see [llms.txt](https://manual.selarti.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://manual.selarti.com/dopolnitelno/tipy-vebkhukov-i-integracii-s-servisami.md).

# Типы вебхуков и интеграций с сервисами

*Вебхук (webhook) — это отправка запросов по событиям. Запросы уведомляют внешние сервисы об изменениях и событиях — информация отправляется на указанный URL-адрес. Вебхуки используются для интеграции.*

В сервисе Selarti доступны два типа интеграции с разными вебхуками.

### Интеграция с сервисами через раздел «ИИ-агенты»

Первый тип интеграции настраивается в разделе *«ИИ-агенты»* при создании и редактировании искусственного интеллекта в блоке *«Профессиональные настройки».*

<figure><img src="/files/QJEC2KBG9EbZlEgphwXu" alt="" width="554"><figcaption></figcaption></figure>

В блоке *«Профессиональные настройки»* в выпадающем меню *«ИИ функции»* доступна функция *«сustom api».*

<figure><img src="/files/KvPlFG8vPfHBJWLqizci" alt=""><figcaption></figcaption></figure>

Функция «custom api» позволяет подключать любые внешние сервисы и интеграции. Эту функцию вызывает сам ИИ, который далее обрабатывает запросы и передаёт данные из диалога на внешний сервер. При этом ИИ может не только отправлять, но и получать нужную информацию от внешнего сервера.

Вебхуки отправляются по различным событиям с любыми указанными параметрами. Задайте для ИИ правила, что нужно собрать из диалога — адрес, телефон, другие нужные данные. Например, ИИ собирает контакты, имя, детали заказа, обрабатывает данные, передаёт в CRM и другой внешний сервис. Далее получает ответ, например, подтверждение и дополнительные данные от внешних сервисов. Затем собирает, обрабатывает и передаёт эту информацию ответом пользователю.

Вебхуки при настройке интеграции такого типа возможно отправлять и получать не один раз. За один диалог возможна сотня событий, по каждому из которых в нужные сервисы поступит уведомление. На одно входящее сообщение Selarti может вызвать до 100 различных интеграций.

Подробнее о настройке в инструкции [«Настройка сustom API»](/osnovnye-razdely-servisa/sozdanie-i-nastroika-ii-or-ai/ii-funkcii-or-ai-functions.md#nastroika-sustom-api).

### Интеграция с сервисами через раздел «Интеграции»

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

<figure><img src="/files/HfqqEDioy6EtexIdtKzc" alt="" width="532"><figcaption></figcaption></figure>

**Типы вебхуков:**

* Успешный диалог. Срабатывает, когда ИИ на основе промпта функции определяет диалог как успешный. Позволяет сортировать диалоги по качеству взаимодействия.
* Получен контакт. ИИ на основе промпта функции определяет, что в диалоге были переданы контактные данные (телефон, username и прочее — зависит от описания в промпте). Позволяет начать новый диалог по полученным контактам или обновить информацию о клиенте в CRM.
* Есть интерес. ИИ на основе промпта функции определяет, что пользователем проявлен интерес в диалоге.
* Передан на оператора. Отправляется в момент, когда ИИ по промпту функции определяет необходимость вмешательства человека и чат должен быть передан с бота на оператора.
* Сообщение для оператора. После передачи чата на оператора все последующие сообщения попадают в этот вебхук.
* Все сообщения. Вебхук для получения информации о всех сообщениях (от клиента, бота или оператора) в системе.
* Контакт не найден. Срабатывает, когда в исходящем канале не удаётся найти пользователя по указанному контакту. Работает во всех исходящих заданиях. Добавляет возможность строить гибкие сценарии маршрутизации контактов между заданиями. Например: если контакт не найден в WhatsApp, можно автоматически передать его в Telegram, используя метод API add\_target.
* Контакт установлен. Отправляется, когда удаётся найти пользователя по указанному контакту и успешно отправить по ним первое сообщение. Позволяет запускать следующие действия после подтверждения доступности клиента в канале. Работает и для исходящей, и для входящей коммуникации.

Такие вебхуки содержат готовые и стандартные системные [параметры](/vneshnie-integracii/integraciya-s-vneshnim-messendzherom.md#spisok-parametrov-i-opisanie). В вебхук нельзя добавить дополнительные пользовательские поля.

Один из параметров wh\_type используется для определения типа вебхука, событий или действий, по которому был отправлен запрос. Он позволяет получателю вебхука различать события и корректно обрабатывать их логику.

В параметре wh\_type передаются разные значения в зависимости от типа вебхука, выбранного в разделе «Интеграции».

<details>

<summary>Возможные значения параметра wh_type</summary>

* **test** — тестовый вебхук из личного кабинета, отправляется при проверке интеграции;
* **success** — тег «success» сменился с «no» на «yes», срабатывает один раз для каждого диалога (треда);
* **get\_contact** — тег «get\_contact» сменился с «no» на «yes», срабатывает один раз для каждого треда;
* **interest** — тег «interest» сменился с «no» на «yes», срабатывает один раз для каждого треда;
* **operator** — тег «operator» сменился с «no» на «yes» (не имеет лимитов);
* **message\_for\_operator** — сообщение от пользователя для оператора;
* **all\_messages** — все сообщения по всем тредам задания (bot/user/operator);
* **contact\_not\_found** — не удалось найти пользователя в мессенджере и установить с ним диалог;
* **contact\_initiated** — удалось найти пользователя в мессенджере и установить с ним диалог.

</details>

Вебхуки «Успешный диалог», «Получен контакт», «Есть интерес», «Передан на оператора» работают на основе промпта функции, в нём указываются условия срабатывания. Вебхуки используют стандартные описания функций.

Вебхуки при настройке через раздел «Интеграции» поступают один раз на одно событие. Например, диалог успешен — поступает вебхук, контакт получен — поступает вебхук. То есть на каждое из событий отправляется один вебхук.

Подробнее о создании интеграции в статье [«Интеграции | Integration».](/osnovnye-razdely-servisa/integracii-or-integration.md)
