# Интеграция с внешним мессенджером

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

### Настройка интеграции

1. Создайте канал с типом «Page messenger».

В панели управления перейдите в раздел «[*Каналы*](https://selarti.com/panel?menu=channels)» и нажмите на кнопку «*Добавить канал*», расположенную в правом верхнем углу экрана.

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

Далее в окне «Добавление канала» из выпадающего списка выберите тип канала «*Page messenger*».

<figure><img src="/files/vzQWgV44JoSdNbAiAKlr" alt="" width="409"><figcaption></figcaption></figure>

Укажите любые нужные параметры ниже и нажмите «*Добавить канал*».

<figure><img src="/files/JunVxDwZmly0tAHr5Rx1" alt="" width="409"><figcaption></figcaption></figure>

Подробнее о создании каналов в статье [«Каналы связи | Channels»](https://manual.selarti.com/osnovnye-razdely-servisa/kanaly-svyazi-or-channels).

2. Создайте ИИ для входящих сообщений.

Для создания ИИ перейдите в раздел «[*ИИ*](https://selarti.com/panel?menu=ai)» и нажмите на кнопку «*Создать ИИ*».

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

Подробнее в статье [«Создание и настройка ИИ | AI».](https://manual.selarti.com/osnovnye-razdely-servisa/sozdanie-i-nastroika-ii-or-ai)

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

Для создания интеграции с типом «Все сообщения» перейдите в раздел «[*Интеграции*](https://selarti.com/panel?menu=integration)» и нажмите на кнопку «*Создать интеграцию*».

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

В окне «Добавление интеграции» из выпадающего списка выберите тип интеграции «*Another*».

<figure><img src="/files/09pKJbF8kOF8jtKFrUfI" alt="" width="409"><figcaption></figcaption></figure>

В поле «Название» укажите название. В поле «webhook url» укажите URL для получения вебхуков. Затем в выпадающем списке «*Выберите тип webhook*» выберите «*Все сообщения*». Нажмите «*Создать интеграцию*».

<figure><img src="/files/iOI72koefoF9srPzYB3R" alt="" width="409"><figcaption></figcaption></figure>

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

4. Создайте задание с типом «Web».

Для создания задания с типом «Web» перейдите в раздел «[*Задания*](https://selarti.com/panel?menu=tasks)» и нажмите на кнопку «*Создать задание*».

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

В окне «Создать задание» в выпадающем списке «Тип» выберите «*Web*».

<figure><img src="/files/NOSNKztMEE04F2F8ExEA" alt="" width="409"><figcaption></figcaption></figure>

Далее выберите формат работы сервиса, созданные до этого канал, ИИ, интеграцию и нажмите на кнопку «*Создать задание*».

<figure><img src="/files/rVjUhiczeSR2Sklh6XC0" alt="" width="467"><figcaption></figcaption></figure>

После создания скопируйте id задания, он понадобится для запросов по API.

Подробнее в статье [«Задания | Tasks».](https://manual.selarti.com/osnovnye-razdely-servisa/zadaniya-or-tasks)

5. Интегрируйте метод отправки сообщения от пользователя к ИИ:

## send message external

> 🇬🇧 Send external message\
> \
> 🇷🇺 Отправить внешнее сообщение\
> \
> 🇺🇿 Tashqi xabar yuborish

```json
{"openapi":"3.0.3","info":{"title":"Selarti public api","version":"1.0.0"},"tags":[{"name":"Send message","description":"**Base URL:** https://selarti.com"}],"servers":[{"url":"https://selarti.com","description":"Main API server (for /api/1.1/wf/* endpoints)"},{"url":"https://api.selarti.com","description":"Advanced API server (for /v1/* endpoints)"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}}},"paths":{"/api/1.1/wf/send_message_external":{"post":{"tags":["Send message"],"summary":"send message external","description":"🇬🇧 Send external message\n\n🇷🇺 Отправить внешнее сообщение\n\n🇺🇿 Tashqi xabar yuborish","operationId":"sendMessageExternal","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"task_id":{"type":"string"},"chat_id":{"type":"string","description":"unique chat_id in your system"},"message":{"type":"string"}},"required":["task_id","chat_id","message"]}}}},"responses":{"200":{"description":"example","headers":{"CF-Cache-Status":{"schema":{"type":"string"}},"CF-RAY":{"schema":{"type":"string"}},"Connection":{"schema":{"type":"string"}},"Content-Encoding":{"schema":{"type":"string"}},"Date":{"schema":{"type":"string"}},"Server":{"schema":{"type":"string"}},"Transfer-Encoding":{"schema":{"type":"string"}},"access-control-allow-origin":{"schema":{"type":"string"}},"alt-svc":{"schema":{"type":"string"}},"vary":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"response":{"type":"object","properties":{"thread":{"type":"object","properties":{"Created By":{"type":"string"},"Created Date":{"type":"number"},"Modified Date":{"type":"number"},"_id":{"type":"string"},"ai_thread_id":{"type":"string"},"chat_id":{"type":"string"},"close":{"type":"boolean"},"company":{"type":"string"},"contact":{"type":"string"},"count_message":{"type":"number"},"get_contact":{"type":"boolean"},"interest":{"type":"boolean"},"is_bot":{"type":"boolean"},"operator":{"type":"boolean"},"success":{"type":"boolean"},"task":{"type":"string"},"title":{"type":"string"},"user_replied":{"type":"boolean"},"wh_get_contact":{"type":"boolean"},"wh_interest":{"type":"boolean"},"wh_success":{"type":"boolean"}}}}},"status":{"type":"string"}}}}}}}}}}}
```

Передавайте в chat\_id уникальный идентификатор пользователя, например, Telegram user\_id. По этому id будет объединяться контекст диалога, а вы сможете идентифицировать вебхуки.

6. Получите вебхук после генерации сообщения ИИ и отправьте сообщение в диалог с пользователем.

### Список параметров и описание

| Параметр           | Описание параметра                                                                                                                                                                                                  |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| channel\_id        | i**d канала**. Используется для идентификации конкретного канала, через который осуществляется коммуникация. Может быть полезно для маршрутизации и обработки сообщений на вашей стороне.                           |
| close              | **Диалог закрыт/не закрыт**. Используется для обозначения закрытия диалога или завершения коммуникации. Он сигнализирует о завершении сессии общения с пользователем или закрытии определенной задачи.              |
| company\_id        | **id компании**. Используется для идентификации организации, к которой относится поступающее сообщение или команда. Позволяет точно обработать данные в контексте конкретной компании или отделения внутри системы. |
| contacts           | **Контакт**. Используется для передачи информации о контакте, таких как телефон, юзернейм и др. Позволяет автоматически обновлять и синхронизировать контактные данные между системами.                             |
| external\_chat\_id | **id диалога**. Используется для идентификации конкретного чата или диалога в сторонней системе или мессенджере. Позволяет связывать сообщения и взаимодействия с нужным внешним диалогом.                          |
| get\_contact       | **Контакт получен/не получен**. Информирует, что в диалоге пользователь прислал телефон, почту и др.                                                                                                                |
| interest           | **Проявление интереса есть/нет**. Используется для обозначения заинтересованности клиента или активации интереса к определенному продукту или услуге.                                                               |
| is\_bot            | <p><strong>Диалог ведется с роботом да/нет</strong>. <br>Если да, то наша система определила, что данный диалог ведется с ботом.</p>                                                                                |
| message\_id        | **id сообщения**. Используется для уникальной идентификации конкретного сообщения. Позволяет отслеживать, обрабатывать и ссылаться на определенные сообщения в системе.                                             |
| message\_text      | **Текст сообщения**. Используется для передачи текста сообщения. Он позволяет получить и обработать содержимое сообщения, отправленного пользователем или системой, в нужном формате.                               |
| message\_type      | Тип сообщения бот/оператор/пользователь.                                                                                                                                                                            |
| operator           | **Диалог передан на оператора да/нет.**                                                                                                                                                                             |
| panel\_url         | Ссылка на диалог в личном кабинете с возможностью ответить пользователю.                                                                                                                                            |
| share\_url         | Ссылка на диалог только для просмотра, без возможности ответить.                                                                                                                                                    |
| success            | Диалог является **успешным да/нет**.                                                                                                                                                                                |
| task\_id           | **id задания**. Используется для уникальной идентификации задачи в системе.                                                                                                                                         |
| thread\_id         | **id треда**. Используется для идентификации диалога с пользователем.                                                                                                                                               |
| title              | **Заголовок**. ФИО пользователя.                                                                                                                                                                                    |
| wh\_type           | **Тип вебхука**. Обозначает тип вебхука, событий или действий. Он помогает различать, какое именно событие произошло или какая информация передается через вебхук, для соответствующей обработки.                   |

#### Пример вебхука:

<pre class="language-bison"><code class="lang-bison"><strong>{
</strong>  "channel_id": "5q",
  "close": "no",
  "company_id": "1708251850060x460235863640434700",
  "contacts": "123456789",
  "external_chat_id": "123456789", // Ваш id диалога, можете произвести идентификацию по нему
  "get_contact": "no",
  "interest": "no",
  "is_bot": "no",
  "manager_id": "4q",
  "message_id": "1731336491876x582725124419040400",
  "message_text": "It looks like you are testing API functionality by sending a test message along with metadata like a timestamp and timezone. If you have any questions or need assistance with this, feel free to ask!",
  "message_type": "bot", // Отправляйте в диалог с пользователем только типы bot и operator. Вебхук с типом user можно проигнорировать ответив статусом 200 
  "operator": "no",
  "panel_url": "https://selarti.com/panel?menu=chats&#x26;thread=1731336491572x316716105037601100",
  "share_url": "https://selarti.com/share?thread=1731336491572x316716105037601100",
  "success": "no",
  "task_id": "1721129985149x478019552540622850",
  "thread_id": "1731336491572x316716105037601100",
  "title": "API chat 123456789",
  "wh_type": "all_messages" // Настройте обработку только данного типа вебхуков, так как на ваш url могут поступать вебхуки других типов 
}
</code></pre>

{% hint style="info" %}
Появился новый параметр panel\_url. Он содержит ссылку на диалог в вашем личном кабинете. В отличие от share\_url, где можно только просмотреть диалог, с panel\_url вы можете ответить пользователю напрямую. Обратите внимание, что для доступа потребуется авторизация и права доступа в компанию.
{% endhint %}

7. Попробуйте ответить пользователю через личный кабинет.


---

# 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/vneshnie-integracii/integraciya-s-vneshnim-messendzherom.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.
