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

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

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


uniphone

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
uniphone [2016/03/16 21:15]
mcvet создано
uniphone [2016/03/18 15:06] (текущий)
mcvet
Строка 1: Строка 1:
 ====== UniPhone API ====== ====== UniPhone API ======
-API взаимодействия программных компонентов внутри единой CTI-платформы. 
  
-===== Общие сведения ===== +UniPhone API предназначено для объединения программных продуктов и телекоммуникационных платформ ​с целью совместной работы ​как единое CTI-решение. 
-UniPhone API предназначено для объединения ​различных ​программных продуктов и телекоммуникационных платформ ​как участников единой ​CTI-платформы. Выделяются три ​категории участников:+ 
 +{{ :​uniphonemain.png?​nolink&​340 |}} 
 + 
 +UniPhone API предоставляет ​единый унифицированный доступ ко всем компонентам ​платформы, позволяя строить гибкое CTI-решение с взаимозаменяемыми компонентами. Выделяются три группы ​компонентов платформы:
   * Провайдер - поставщик сведений о телекоммуникационных операциях.   * Провайдер - поставщик сведений о телекоммуникационных операциях.
   * CRM - программный продукт или облачный сервис для ведения управленческого учета, регистрации продаж и т.п.   * CRM - программный продукт или облачный сервис для ведения управленческого учета, регистрации продаж и т.п.
-  * Софтфон - программный телефон,​ сервис click-to-сall и другие. +  * Софтфон - программный телефон,​ сервис click-to-callpush-уведомлений или любой-другой CTI-компонент на стороне пользователя. 
-Сервер UniPhone выступает выступает центральным узлом платформыкоторый в real-time режиме маршрутизирует сообщения между участниками. +Сервер UniPhone выступает центральным узлом платформы,​ для маршрутизирует сообщения между ее компонентами ​real-time режиме.
- +
-Обмен сообщениями ​выполняется в режиме real-time по средством технологии WebSocket. Сообщения оформляются по протоколу [[http://​wamp-proto.org|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-клиента. +
-  * [[http://​autobahn.ws/​cpp|Autobahn|Cpp]] - C++ 11 реализация клиента на Boost ASIO. +
-  * [[http://​autobahn.ws/​js|Autobahn|JS]] - Библиотека WAMP-клиента для браузера и Node.js. +
-  * [[http://​autobahn.ws/​python|Autobahn|Python]] - Библиотека WAMP-клиента и WebSocket реализация для Python 2 и 3. +
-  * [[http://​wamp-proto.org/​implementations|PHP,​ Go, C#, Lua и другие языки программирования.]] +
- +
-===== Аутентификация ===== +
-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** ​             | Внешний номер абонента. ​   | +
- +
-== Пример: == +
-<​code>​{ +
-  "​call_id":"​askozia-1445526019",​ +
-  "​state":"​Calling",​ +
-  "​from":​{ +
-    "​extension":"​SIP\140",​ +
-    "​number":"​140"​ +
-  }, +
-  "​to":​{ +
-    "​extension":"​SIP\112",​ +
-    "​number":"​112"​ +
-  } +
-}</​code>​ +
-   +
-===== UniPhone CRM API ===== +
-API реализуемое на стороне CRM приложения или сервиса.+
  
-==== Remote Procedure Call ==== +----
-Необходимо зарегистрировать процедуры для удаленного вызова:​+
  
-=== /​crm.whois ​==+===== Содержание =====
-Возвращает ​данные абонента,​ которому принадлежит заданный номер телефона.+
  
-== Параметры== +==== Общие сведения ==== 
-**number** ​Номер телефона|+[[uniphone:​modelapi|Модель взаимодействия]]\\ 
 +[[uniphone:modelapi#​publish_subscribe| - Publish & Subscribe]]\\ 
 +[[uniphone:​modelapi#​remote_procedure_calls- Remote Procedure Calls]]\\ 
 +[[uniphone:​modelapi#​imenovanie_resursov- Именование ресурсов]]\\ 
 +\\ 
 +[[uniphone:​auth|Аутентификация]]\\ 
 +\\ 
 +[[uniphone:​connectapi|Работа с API]]\\ 
 +[[uniphone:​connectapi#​podkljuchenie_k_serveru_uniphone| - Подключение к серверу UniPhone]]\\ 
 +[[uniphone:​connectapi#​podpiska_na_poluchenie_soobschenij| - Подписка ​на получение сообщений]]\\ 
 +[[uniphone:​connectapi#​publikacija_soobschenij- Публикация сообщений]]\\ 
 +[[uniphone:​connectapi#​registracija_procedur| - Регистрация процедур]]\\ 
 +[[uniphone:​connectapi#​vyzov_procedur| - Вызов процедур]]\\
  
-== Ответ: ​== +==== Справочник API ==== 
-| **name** ​        | Имя ​абонента. ​+[[uniphone:​providerapi|UniPhone Provider API]]\\ 
-**link** (опция) | Веб-ссылка к карточке абонента. |+[[uniphone:​crmapi|UniPhone CRM API]]\\
uniphone.1458162950.txt.gz · Последние изменения: 2016/03/16 21:15 — mcvet