Rate this page:

Кастомные каналы: Intercom

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

Подключение Intercom

Copy URL

Перед созданием сервера вам необходимо подключить Intercom и указать callback URL сервера, куда Intercom будет отправлять свои события. Для этого перейдите в центр разработчиков Intercom.

  1. Создайте новое приложение. Выберите рабочую область, в которой будет работать приложение.
  2. После создания приложения перейдите в раздел Authentication, там вы найдете токен доступа.
  3. Перейдите в раздел Webhooks. Введите ваш URL-адрес конечной точки в соответствующее поле.
  4. В разделе Webhook topics выберите conversation.user.created conversation.user.replied. Вы можете добавить больше топиков, но вышеуказанный является обязательным.

Подключение Voximplant Kit

Copy URL

В настройках кастомного канала в Voximplant Kit укажите callback URL сервера для отправки событий Kit.

Callback URL

Интеграция на PHP

Copy URL

Для интеграции потребуются следующие компоненты:

  1. Настройки учетных записей
  2. HTTP-клиент для работы с API Voximplant Kit
  3. HTTP-клиент для работы с Intercom API
  4. База данных для хранения информации и чатов
  5. Обработчик HTTP-запросов от Voximplant Kit
  6. Обработчик HTTP-запросов от Intercom

Начните с настройки приложения. Для настройки используйте расширение dotenv. Пример файла .env с данными конфигурации:

.env

.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:

Инициализация HTTP-клиента

Инициализация HTTP-клиента

Для работы с Voximplant Kit IM API используется SDK. Более подробно см. здесь.

Далее необходимо инициализировать HTTP-клиент для работы с Intercom API в том же файле config.php:

/config.php

/config.php

Описание класса «IntercomClient» можно найти по ссылке, указанной в конце статьи.

Далее инициализируйте компонент для хранения информации о чатах:

/config.php

/config.php

Описание класса «Repository» можно найти по ссылке, указанной в конце статьи.

Далее необходимо инициализировать сервис, который будет обрабатывать события от Intercom и Voximplant KIT:

/config.php

/config.php

Ниже представлены несколько фрагментов кода из класса Service.php для обработки событий. Обработка событий из Voximplant Kit:

Обработка событий из Voximplant Kit

Обработка событий из Voximplant Kit

Обработка событий из Intercom:

Обработка событий из Intercom

Обработка событий из Intercom

Далее настройте сервер, который будет обрабатывать HTTP-запросы от Intercom и Voximplant Kit.

В первую очередь необходимо пройти аутентификацию в Voximplant Kit, а затем запустить обработчики HTTP-запросов от Intercom и Voximplant Kit:

app.php

app.php

Обработчик событий Intercom:

app.php

app.php

Обработчик запросов Voximplant Kit:

Оработка запросов

Оработка запросов

При создании кастомного канала Voximplant Kit отправляет тестовый запрос GET на указанный callback URL. Добавим обработчик тестового запроса от Voximplant Kit:

Обработка тестового запроса

Обработка тестового запроса

Дополнительная информация

Copy URL