Web-интеграция с CRM

Материал из Oktell
Перейти к: навигация, поиск

Техническая документация / Администрирование / Общие Настройки / Системные настройки / Web-интеграция с CRM


Связь с CRM позволяет:

  • Использовать динамический функционал и данные CRM в сценариях Oktell;
  • Предоставлять серверу CRM доступ к сервисным функциям Oktell;
  • Снабжать CRM и ее пользователей информацией о событиях, а также функционалом, аналогичным клиентскому приложению Oktell;
  • Инициировать открытие и закрытие форм у пользователей CRM, связанных с различными событиями (например поступление звонка).


Связь Oktell с CRM может осуществляться по транспортному протоколу websocket (подключение может осуществляться в любом направлении) и по протоколу http/https (подключение осуществляется от Oktell к CRM).

Все взаимодействие между серверами Oktell и CRM описывается «интеграционным протоколом Web-Socket».

В случае связи по HTTP/HTTPS передаваемые данные упаковываются в base64 и передаются в качестве значения переменной data POST-запросом; ожидается, что ответ CRM содержит неупакованные данные в том же формате. Подключения и обмен http-запросом и ответом осуществляются время от времени по необходимости.

В случае связи по WebSocket в соответствии с интеграционным протоколом Web-Socket CRM может быть подключена

  • Способом 1 - по единому серверному каналу, обслуживающему и межсерверное взаимодействие, и клиент-серверное взаимодействие. За связь с клиентами отвечает сама CRM, выступая туннелем. Канал постоянно поддерживается, при разрыве восстанавливается.
  • Комбинацией способа 1 и способа 2 - связь между серверами по одному каналу, а связь клиентов CRM с сервером Oktell непосредственно по websocket-каналу, минуя сервер CRM. При этом в качестве клиентского модуля связи может использоваться javascript-библиотека Oktell.js. Канал между серверами точно также постоянно поддерживается и восстанавливается при разрыве, каналы между клиентами и сервером точно также поддерживаются сервером но управляются клиентами. При этом один клиент может быть залогинен в нескольких подключениях (поддержка нескольких вкладок в браузере).

Поддерживается работа только с одной web-crm системой одновременно в соответствии с настройками, описанными в текущем разделе.


Способ соединения с сервером CRM

Позволяет выбрать направление подключения, транспортный протокол и уровень защиты.

  • Oktell к CRM (HTTP). Oktell подсоединяется к серверу CRM по незащищенному каналу всякий раз по необходимости. Обменивается с CRM служебными сведениями (представляется, ждет представления, выясняет поддерживаемые динамические методы и формы), исполняет ориентированные к серверу динамические методы.
  • Oktell к CRM (HTTPS). То же самое по защищенному каналу (TLS).
  • Oktell к CRM (WebSocket). Oktell подсоединяется к CRM по незащищенному каналу используя транспортный протокол websocket; веб-сервер CRM должен ожидать подключения и websocket-рукопожатия согласно выбранной ниже в настройках версии протокола.
  • Oktell к CRM (WebSocketSecure). То же самое по защищенному каналу (TLS).
  • CRM к Oktell (WebSocket). Oktell ждет подключения на указанном порте-слушателе незащищенных соединений, ожидает инициации websocket-рукопожатия от CRM.
  • CRM к Oktell (WebSocketSecure). То же самое по защищенному каналу (TLS). В этом случае системе необходим серверный сертификат X.509 с private ключом для организации TLS канала.

В случае использования постоянного websocket соединения ожидается, что в случае потери связи между серверами восстановлением канала занимается именно инициатор.


URL CRM-сервера

Доступно только при настройке способа соединения Oktell к серверу CRM по протоколу HTTP или HTTPS.

Полный URL для организации HTTP или HTTPS подключений к серверу CRM. При необходимости следует указать порт. Данные передаются POST-запросом на указанный URL в переменной data.


Адрес:порт CRM-сервера

Доступно только при настройке способа соединения Oktell к серверу CRM по протоколу WebSocket (защищенный или незащищенный канал).

По указанному адресу осуществляется подключение, которое переводится в WebSocket и настраивается на работу по интеграционному протоколу. Данные передаются независимыми сообщениями в выбранном ниже формате.


Версия протокола WebSocket

Доступно для выбранного режима подключения из Oktell к CRM по WebSocket.

Предоставляет на выбор версию транспортного протокола WebSocket. По умолчанию v13 (RFC 6455).


Порт WebSocket Oktell для CRM

Доступно для выбранного режима подключения из CRM к Oktell. Определяет порт слушателя подключения от CRM. Соответственно CRM должна производить подключение именно на указанный здесь порт. Должен быть отличным от других портов, используемых системой, и не занятым другими приложениями и службами.


Авторизация

Доступно для выбранного режима подключения из CRM к Oktell.

Способ прохождения авторизации (нет, базовый или дайджест).

Здесь следует отметить, что на текущий момент документация по протоколу WebSocket не определяет для сервера возможность в рамках рукопожатия отвечать отличным от "101 Switching Protocols" способом, несмотря на HTTP формат. Поэтому, если в CRM для организации WebSocket транспорта используется сторонние библиотеки, авторизация в Oktell должна быть отключена.


Логин:пароль для базовой авторизации

Использует значения для прохождения базовой авторизации на CRM, или требования прохождения авторизации от CRM.


Формат обмена данными

Доступно для выбранного режима подключения из Oktell к CRM.

JSON/XML. Способ упаковки пересылаемых данных в текстовый вид.

В рамках подключения ожидается, что в названии протокола (заголовок в запросе на рукопожатие WebSocket) будет содержаться слово json или xml. В противном случае сервер отказывает в обработке всех сообщений, поступающих по установившемуся каналу. При подключении от Oktell к CRM по HTTP формат указывается в переменной POST-запроса format.