Кастомные каналы: Intercom
Для подключения канала Intercom создайте учетную запись Voximplant Kit или используйте существующую. В своей учетной записи необходимо создать кастомный канал и получить API токен в разделе Интеграции. Подробнее о создании кастомного канала см. здесь. Кроме того, необходимо создать учетную запись Intercom и сгенерировать API токен для работы с Intercom API. Для интеграции с Intercom вам нужен сервер, который будет проксировать запросы от Intercom к Voximplant Kit и обратно.
Подключение Intercom
Перед созданием сервера вам необходимо подключить Intercom и указать callback URL сервера, куда Intercom будет отправлять свои события. Для этого перейдите в центр разработчиков Intercom.
- Создайте новое приложение. Выберите рабочую область, в которой будет работать приложение.
- После создания приложения перейдите в раздел Authentication, там вы найдете токен доступа.
- Перейдите в раздел Webhooks. Введите ваш URL-адрес конечной точки в соответствующее поле.
- В разделе Webhook topics выберите conversation.user.created conversation.user.replied. Вы можете добавить больше топиков, но вышеуказанный является обязательным.
Подключение Voximplant Kit
В настройках кастомного канала в Voximplant Kit укажите callback URL сервера для отправки событий Kit.

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