AZykov (обсуждение | вклад) |
AZykov (обсуждение | вклад) |
||
| Строка 18: | Строка 18: | ||
* Интеграция по WebSocket - внешняя система и платформа обмениваются сообщениями в реальном времени | * Интеграция по WebSocket - внешняя система и платформа обмениваются сообщениями в реальном времени | ||
* Интеграция методом Long Polling - внешняя система периодически запрашивает данные платформы и отправляет команды в одностороннем порядке | * Интеграция методом REST API Long Polling - внешняя система периодически запрашивает данные платформы и отправляет команды в одностороннем порядке | ||
* Интеграция с помощью механизма Webhook - каждая из систем вызывает сервисы другой | * Интеграция с помощью механизма Webhook - каждая из систем вызывает сервисы другой | ||
<blockquote>При этом внешняя система может использовать комбинированный подход, например получая события из WebSocket, и отправляя команды с помощью REST API | |||
Последний вариант с Webhook не является штатным решением, однако может быть реализован при помощи инструментов платформы. Наиболее удобным вариантом является разработка собственных сервисов, обрабатывающих события платформы и перенаправляющих их во внешние системы. Разработке на платформе посвещен [[:Категория:Курс Разработка приложений|отдельный курс]].</blockquote>В рамках данной статьи будут рассмотрены интеграционные возможности WebSocket и Long Polling. | |||
= Интеграция с помощью WebSocket = | = Интеграция с помощью WebSocket = | ||
Версия от 11:26, 18 июля 2025
Общая информация
В рамках данной статьи будет рассмотрены способы интеграции управления звонками из внешней системы (CRM, SD и т.д.).
Под управлением звонками в рамках данной статьи подразумевается следующий набор функционала:
- Получение внешней системой данных о совершаемых звонках
- Возможность инициирования нового исходящего звонка
- Возможность соверешения перевода
- Возможность перевода звонка в конференцию
- Возможность постановки и снятия звонка с удержания
- Возможность отправки DTMF-сигналов
- Возможность завершения звонка
- Возможность принятия звонка
Кроме этих основных функций, также крайне полезно иметь возможность прослушивания и скачивания записи разговора из внешней системы.
В рамках платформы Эра существует три основных подхода к интеграции, позволяющие реализовать описанный функционал:
- Интеграция по WebSocket - внешняя система и платформа обмениваются сообщениями в реальном времени
- Интеграция методом REST API Long Polling - внешняя система периодически запрашивает данные платформы и отправляет команды в одностороннем порядке
- Интеграция с помощью механизма Webhook - каждая из систем вызывает сервисы другой
При этом внешняя система может использовать комбинированный подход, например получая события из WebSocket, и отправляя команды с помощью REST API Последний вариант с Webhook не является штатным решением, однако может быть реализован при помощи инструментов платформы. Наиболее удобным вариантом является разработка собственных сервисов, обрабатывающих события платформы и перенаправляющих их во внешние системы. Разработке на платформе посвещен отдельный курс.
В рамках данной статьи будут рассмотрены интеграционные возможности WebSocket и Long Polling.
Интеграция с помощью WebSocket
Детальное описание WebSocket API можно найти на ресурсе Vendor.
Интеграция данным способом подразумевает обмен сообщениями между двумя системами.
В рамках платформы существует два подхода к использования WebSocket API:
- Token-API - для интеграции server-server. В рамках обмена сообщениями передаются события по всем пользователям
- User-API - для интеграции client-server. В рамках обмена сообщениями передаются события конкретного пользователя