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

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

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

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

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

<figure><img src="/files/eiolPMJQkReFZPggPQDf" alt="" width="551"><figcaption></figcaption></figure>

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

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

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

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

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

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

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

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

<figure><img src="/files/h1eM1BDZ0aVGYTchL4Ae" alt="" width="522"><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».](https://manual.selarti.com/osnovnye-razdely-servisa/integracii-or-integration)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://manual.selarti.com/dopolnitelno/tipy-vebkhukov-i-integracii-s-servisami.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
