Кастомные каналы: Chat2Desk
Для подключения канала Chat2Desk создайте учетную запись Voximplant Kit или используйте существующую. В своей учетной записи необходимо создать кастомный канал и получить API токен в разделе Интеграции. Кроме того, у вас должна быть учетная запись Chat2Desk, в которой необходимо сгенерировать API токен для работы с API Chat2Desk.
Для интеграции с Chat2Desk необходим сервер, который будет передавать запросы от Chat2Desk к Voximplant Kit и обратно.
Подключение Chat2Desk
Чтобы получить API_TOKEN
для использования API Chat2Desk, перейдите в личный кабинет Chat2Desk в раздел Настройки > API и нажмите Показать.

Чтобы получать сообщения о новых событиях от Chat2Desk, необходимо настроить callback URL. Для этого вам выполните следующий HTTP-запрос:
YOUR_API_TOKEN
- API токен для работы с Chat2Desk
API YOUR_SERVER_HOST
- хост, на котором будет доступен ваш сервер
Подключение Voximplant Kit
В настройках кастомного канала в Voximplant Kit укажите callback URL сервера для отправки событий Kit.

Интеграция на PHP
Для интеграции потребуются следующие компоненты:
- Настройки учетных записей
- HTTP-клиент для работы с API Voximplant Kit
- HTTP-клиент для работы с API Chat2Desk
- База данных для хранения информации и чатов
- Обработчик HTTP-запросов от Voximplant Kit
- Обработчик HTTP-запросов от Chat2Desk
Начните с настройки приложения. Для настройки используйте расширение dotenv. Пример файла .env с данными конфигурации:
KIT_ACCOUNT_NAME
- имя вашего аккаунта Voximplant Kit
KIT_API_TOKEN
- токен для аутентификации в сервисе Voximplant Kit (можно получить в разделе Интеграции)
KIT_CHANNEL_UUID
- UUID кастомного канала Voximplant Kit (вы можете скопировать его в настройках кастомного канала в самом верхнем поле UUID канала)
CHAT2DESK_API_TOKEN
- API токен для аутентификации в сервисе Chat2Desk
Теперь необходимо инициализировать HTTP-клиент для Voximplant Kit IM API:
Для работы с Voximplant Kit IM API используется SDK. Более подробно см. здесь.
Далее необходимо инициализировать HTTP-клиент для работы с Chat2Desk API в том же файле config.php:
Описание класса «Chat2DeskClient» можно найти по ссылке, указанной в конце статьи.
Инициализируйте компонент для хранения информации о чатах:
Описание класса «Repository» можно найти по ссылке, указанной в конце статьи.
Далее необходимо инициализировать сервис, который будет обрабатывать события от Chat2Desk и Voximplant Kit:
Ниже представлены несколько фрагментов кода из класса Service.php для обработки событий. Обработка событий из Voximplant Kit:
Обработка событий из Chat2Desk:
Далее настройте сервер, который будет обрабатывать HTTP-запросы от Chat2Desk и Voximplant Kit.
В первую очередь необходимо пройти аутентификацию в Voximplant Kit, а затем запустить обработчики HTTP-запросов от Chat2Desk и Voximplant Kit.
Обработчик запросов от chat2desk-incoming:
Обработчик запросов Voximplant Kit:
При создании кастомного канала Voximplant Kit отправляет тестовый запрос GET на указанный callback URL. Добавьте обработчик тестового запроса от Voximplant Kit: