Интеграция Mindbox c Chat2Desk для отправки сообщений
Chat2Desk — чат-центр для работы и коммуникации с клиентами в мессенджерах, например, WhatsApp и Telegram.
Внешние системы могут взаимодействовать с чат-центром по API. API-методы и параметры описаны в документации Chat2Desk.
Ограничение интеграции
При помощи API можно взаимодействовать с Chat2Desk без использования дополнительных платных функций чат-центра, таких как туннели и скрипты. При необходимости автоматической отправки информации из Chat2Desk понадобится подключение платных функций.
Создание дополнительных полей
На стороне Mindbox необходимо хранить ID чата с клиентом для каждого мессенджера. Для хранения ID необходимо создать дополнительные поля для сущности Клиент согласно инструкции.
Пример настройки дополнительного поля для ID чата в WhatsApp:
1. В поле Для сущности выберите Клиент.
2. В поле Имя введите «Chat2Desk. ID в WhatsApp».
3. В поле Системное имя введите «ch2dWhatsAppID».
4. В поле Тип поля выберите Строковый.
Создание точки интеграции для вебхуков
Перед настройкой вебхуков необходимо создать точку интеграции согласно инструкции. Для интеграции с Chat2Desk укажите следующие параметры:
1. В разделе Общие настройки, в поле URL, введите «https://api.chat2desk.com».
2. В поле Ограничение скорости отправки запросов в секунду введите «10».
3. В разделе Заголовки выполните следующие действия:
-
Для ключа Content-Type выберите значение application/json и тип Публичный.
-
Для ключа User-Agent выберите значение Mindbox и тип Публичный.
-
Для ключа Authorization выберите значение API токен аккаунта и тип Секретный.
Чтобы узнать API токен аккаунта, авторизуйтесь на платформе Chat2Desk как администратор и перейдите в раздел Settings → API.
Создание вебхука для проверки наличия клиента в Chat2Desk
Чтобы проверить наличие клиента в Chat2Desk по номеру телефона, необходимо создать вебхук согласно инструкции с использованием метода GET clients.
1. В разделе Общие настройки, в поле Системное имя, введите «ch2dCheckCustomer».
2. В поле Метод выберите GET.
3. В поле URL введите: /v1/clients?phone=${Recipient.MobilePhone}&${WebhookRequest.TransactionalId}
4. В разделе Заголовки выберите Унаследованы из интеграции.
6. В разделе Настройки ответа включите Принимать ответы в формате JSON и добавьте одну переменную для получения ID клиента в Chat2Desk:
-
В поле Название введите «ch2dId».
-
В поле Путь в теле ответа введите «data[0].id».
Создание вебхука для импорта клиента в Chat2Desk
Чтобы импортировать клиента в Chat2Desk, необходимо создать вебхук согласно инструкции с использованием метода POST clients.
1. В разделе Общие настройки, в поле Системное имя, введите «ch2dImportCustomer».
2. В поле Метод выберите POST.
3. В поле URL введите: /v1/clients?transactionId=${WebhookRequest.TransactionalId}
4. В разделе Заголовки выберите Унаследованы из интеграции.
5. В разделе Настройки ответа включите Принимать ответы в формате JSON и добавьте одну переменную для получения ID клиента в Chat2Desk:
-
В поле Название введите «ch2dId».
-
В поле Путь в теле ответа введите «data.id».
Создание вебхуков для отправки сообщений в Chat2Desk
Чтобы отправлять сообщения в Chat2Desk, необходимо создать вебхук согласно инструкции с использованием метода POST messages.
В инструкции настраивается отправка HSM-шаблона в WhatsApp:
1. В разделе Общие настройки, в поле Системное имя, введите «ch2dSendWATemplate».
2. В поле Метод выберите POST.
3. В поле URL введите /v1/messages
4. В разделе Заголовки выберите Унаследованы из интеграции.
5. В разделе Тело запроса вставьте следующее:
{
"text": "ID HSM шаблона",
"client_id": ${Дополнительное поле клиента с Chat2Desk ID для WhatsApp}
}
Создание сценария для отправки сообщений
Создайте сценарий для отправки сообщения клиенту. Сценарий на основании выданного события показан на схеме:
Описание логики работы сценария:
1. Запуск — выберите событие для попадания в сценарий в зависимости от задачи.
2. Проверяем, заполнен ли идентификатор в мессенджере.
3. Если заполнен, то отправляем сообщение с помощью вебхука, если нет — отправляем вебхук для проверки наличия клиента на стороне Chat2Desk.
4. Проверяем ответ вебхука:
- Если клиент есть, записываем полученный в ответе идентификатор в карточку клиента: И также отправляем сообщение.
- Если клиент не был найден, отправляем вебхук для импорта клиента в Chat2Desk и проверяем успешность вызова: После записываем полученный в ответе идентификатор в карточку клиента и также отправляем сообщение.