Внимание!
Эта wiki об устаревших версиях
Документация к актуальной версии интеграции 1С и телефонии доступна по ссылке

Инструменты пользователя

Инструменты сайта


uniphone

Это старая версия документа!


UniPhone API

API взаимодействия программных компонентов внутри единой CTI-платформы.

Общие сведения

UniPhone API предназначено для объединения различных программных продуктов и телекоммуникационных платформ как участников единой CTI-платформы. Выделяются три категории участников:

  • Провайдер - поставщик сведений о телекоммуникационных операциях.
  • CRM - программный продукт или облачный сервис для ведения управленческого учета, регистрации продаж и т.п.
  • Софтфон - программный телефон, сервис click-to-сall и другие.

Сервер UniPhone выступает выступает центральным узлом платформы, который в real-time режиме маршрутизирует сообщения между участниками.

Обмен сообщениями выполняется в режиме real-time по средством технологии WebSocket. Сообщения оформляются по протоколу WAMP v2 (Web Application Messaging Protocol).

В UniPhone API применяются две модели коммуникаций между участниками:

  • Publish & Subscribe (PubSub)
  • Remote Procedure Calls (RPC)

В паттерне PubSub отправитель и получатель сообщений связаны друг с другом косвенно. Отправитель предоставляет информацию в абстрактной «теме» (topic), а получатели принимают сообщения объявив о своей заинтересованности к соответствующей «теме». Отправителя обычно называют издателем (publisher), а получателя - подписчиком (subscriber).

TO DO: схема PubSub

Паттерн RPC подразумевает получение интересующей информации по средством обращения к ее поставщику. Выполнение запроса и его обработка выполняется асинхронно. Сервер UniPhone выступает посредником при вызове удаленной процедуры и возврате результата работы.

TO DO: схема RPC

TO DO: Пример

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

Для работы с API потребуется одна из реализаций WAMP-клиента.

Аутентификация

TO DO: Написать про аутентификацию

Структура API

Каждому участнику отведена своя роль в зависимости от его специализации. Потому от него требуется реализация только своей части API.

Структура API представлена в виде требований к участникам платформы. В подразделе PubSub указаны «темы», к которым участнику необходимо предоставить доступ по правилам WAMP-протокола. В подразделе RPC указаны процедуры, которые необходимо зарегистрировать в системе, чтобы другие участники могли их вызывать. В замен каждый участник получает доступ к «темам» и процедурам остальных участников.

UniPhone Provider API

API реализуемое на стороне провайдера IP-телефонии.

PubSub Topics

Необходимо выступить в качестве издателя по указанным «темам»:

/provider.call

Информацию о звонке при первом наступлении события или смене состояния.

Параметры:
call_id Глобальный идентификатор звонка (в формате провайдера).
state Текущие состояние звонка. Принимает следующие значения:
Calling - инициация звонка;
Connected - соединение двух абонентов;
Hangup - завершение звонк.
from Данные инициатора звонка.
from:extension (опция) Внутренний номер абонента.
from:number Внешний номер абонента.
to Данные вызываемого.
to:extension (опция) Внутренний номер абонента.
to:number Внешний номер абонента.
Пример:
{
  "call_id":"askozia-1445526019",
  "state":"Calling",
  "from":{
    "extension":"SIP\140",
    "number":"140"
  },
  "to":{
    "extension":"SIP\112",
    "number":"112"
  }
}

UniPhone CRM API

API реализуемое на стороне CRM приложения или сервиса.

Remote Procedure Call

Необходимо зарегистрировать процедуры для удаленного вызова:

/crm.whois

Возвращает данные абонента, которому принадлежит заданный номер телефона.

Параметры:
number Номер телефона.
Ответ:
name Имя абонента.
link (опция) Веб-ссылка к карточке абонента.
uniphone.1458162950.txt.gz · Последние изменения: 2016/03/16 21:15 — mcvet