Кастомный канал
Подключите кастомного бота к выбранному чату. Это позволит направлять сообщения от ваших клиентов напрямую в чат оператора из любого сервиса, в том числе стороннего. Вы можете взаимодействовать с API с помощью вебхуков.
- Войдите в свою учетную запись Voximplant Kit.
- Выберите Настройка > Диалоги > Каналы.
- Выберите Custom channel.
- Введите название канала.
- Настройте Callback URL.
- При создании канала автоматически генерируется Security Salt. Security Salt - это последовательность данных, которая усиливает безопасность подписи и предотвращает декодирование информации. Подпись на стороне Voximplant Kit формируется по алгоритму:
заголовок авторизации содержит подпись: MD5 ($ {Salt}: $ {token}: $ {EventId});
при создании канала для callback URL тестовый запрос содержит подпись: MD5 ($ {Salt}: $ {token}).
- Выберите API токен из выпадающего списка.

Чтобы сгенерировать API токен, перейдите в раздел Управление > Безопасность > API токены.
- В поле Перенаправление сообщений канала выберите очередь или функцию, которая будет получать сообщения канала.
- В области Закрытие чатов канала задайте следующие параметры:
Макс. время закрытия операторских и неназначенных чатов — Максимальное время ожидания диалога до его закрытия. Таймер распространяется на операторские и неназначенные чаты с момента последней активности или сообщения. По истечении установленного времени чат автоматически закрывается. Значение настройки должно быть больше времени, выбранного в поле Макс. время ожидания в настройках очереди. Значение применяется к очередям и функциям. Максимальное значение — 14 дней, минимальное — 60 сек.
Макс. время закрытия чатов с ботом — Время, дающееся клиенту, чтобы ответить на последнее сообщение бота. По истечении этого времени чат закрывается. Данное значение распространяется на функции и ботов, созданных через dialogflow. Максимальное значение — 7 дней, минимальное — 60 сек.
- В области Обработка обращений настройте, каким образом операторы канала будут классифицировать обращения клиентов.
Включите настройку Использовать теги, чтобы операторы канала могли использовать теги для классификации обращений. Все теги, добавленные в настройках, становятся доступны операторам в РМО для данного канала.
Включите настройку Использовать группу тематик, чтобы операторы канала могли использовать группу тематик для классификации обращений. Выберите группу тематик из раскрывающегося списка.
К каналу может быть привязана только одна группа тематик. После привязки группа тематик доступна операторам в РМО для маркировки диалогов данного канала. При выборе другой группы она автоматически заменяет предыдущую.
- Добавьте навыки если необходимо.
- Нажмите Добавить канал.

Отправка и получение сообщений
Для того, чтобы отправлять события в Voximplant Kit, необходимо получить токен. Для этого используйте метод login: POST https: // kit-im- {{ACCOUNT_REGION}} .voximplant.com / api / v3 / botService / login? Domain = {{domain}} & access_token = {{access_token}}
. Обратите внимание, что тело запроса необходимо отправлять в кодировке form-data или x-www-form-urlencoded.
Добавьте channel_uuid {{channel_uuid}}
в тело запроса. Вы можете получить channel_uuid в настройках вашего канала в поле UUID канала. Ссылка, которая будет принимать входящие сообщения от клиентов, выглядит так: https: // kit-im- {{ACCOUNT_REGION}} .voximplant.com / {{CHANNEL_UUID}}
.
Используя этот запрос, вы получаете два новых токена: access_token и refresh_token.
access_token действителен в течение 15 минут.
refresh_token действителен в течение 24 часов.
В следующем примере показана структура данных, которую Voximplant Kit ожидает от внешнего источника:
`{
"client_data": {
"client_id": "107804195", // Обязательно! ID клиента из внешнего канала
"client_phone": "", // Номер телефона клиента
"client_avatar": "", // Сслыка на аватар клиента
"client_display_name": "James Smith" // Имя клиента
"client_email": "", // Email клиента
"client_language": "", // Язык клиента
"utm": {
"source": "",
"campaign": "",
"content": "",
"medium": "",
"term": ""
},
"page": {
"url": "",
"title": ""
},
"location": {
"latitude": 33.1212,
"longitude": 33.1212,
"country": "",
"country_code": "",
"region": "",
"region_code": "",
"city": "",
"ip_address": ""
},
"device": {
"type": "",
"model": "",
"user_agent": ""
}
},
“event_id”: “123”,
“event_type”: “send_message”
“event_data”: {
"message": {
“message_id”: “123”,
"text": "",
"payload": [
{
"type": "photo | audio | video | document",
"file_name": "",
"file_url": ""
}
]
}
}
}`
Используйте заголовок Authorization: Bearer {{access_token}}
в запросе на отправку сообщений в канал.
Используйте refresh_token, чтобы получить новый access_token без указания дополнительных данных: POST https: // kit-im- {{ACCOUNT_REGION}} .voximplant.com / api / v3 / botService / refreshToken
. В теле укажите только refresh_token: {{refresh_token}}
, который вы получили ранее. Вам будут доступны два новых токена: access_token и refresh_token.
Описание методов создания/обновления токенов с примерами ответов, а также структуру исходящих сообщений от Voximplant Kit можно посмотреть в нашей API документации.