Project

General

Profile

Интерфейс приложений

Smartswitch содержит несколько интерфейсов приложений.
Каждый из интерфейсов был создан для определенных целей.
При выборе интерфейса рекомендуем ознакомиться со всеми доступными интерфейсами, а также целями, которым они служат.
Интерфейсы перечислены в порядке возрастания сложности использования и порога входа для программиста.
Рекомендуем переходить к более сложному интерфейсу только в случае, если менее сложный интерфейс не позволяет Вам решить Вашу задачу.

REST

Данный интерфейс позволяет сторонним приложениям общаться с Smartswitch c минимальным вовлечением в логику работы и структуру Smartswitch.
Цель создания интерфейса REST - дать возможность сторонним приложениям сопрягаться с Smartswitch, используя минималистичный API, с минимальным кол-вом функций и аргументов.
При этом сторонние системы теоретически могут подключаться к Smartswitch без дополнительной модификации их программного обеспечения (при наличии достаточного кол-ва опций на их стороне для выполнения сопряжения).
А значит, возможно обойтись без привлечения программистов для создания сопряжения.

Недостатком REST является то, что при увеличении связности между объектами (например, получаем один объект, потом из него получаем другой связанный объект, итд) возникает ряд проблем:
  • усложняется интуитивное понимание связи между объектами на стороне клиента
  • возникает много вопросов к технической поддержке
  • усложняется логика на стороне сервера
  • усложняется процедура изменений API
  • появляется необходимость написания обширной документации с примерами.

Поэтому REST мы используем только для примитивных операций.
Для объектно-ориентированной модели Smartswitch мы используем интерфейс ICE (см. ниже), который элегантно решает вышеописанные проблемы.

Преимущества REST интерфейса:
  • простота в использовании
  • простой синтаксис
  • низкий порог входа для программиста
  • возможность подключения сторонних систем, поддерживающих сопряжение посредством REST, без модификации последних
Недостатки REST интерфейса:
  • ограниченность использования (только для примитивных операций)
REST интерфейс подходит для сопряжения Smartswitch c:
  • сторонними системами для оказания платных HTTP услуг (см. HLR запрос или LNP/MNP запрос)
  • сторонними CRM-системами
  • сайтами
  • приложениями ваших клиентов (например, отправка СМС)

Подробнее см. Интерфейс приложений REST

ICE

Данный интерфейс позволяет сторонним приложениям более тесно общаться с Smartswitch.
Интерфейс представляет собой объектно-ориентированную модель Smartswitch.
Целью создания интерфейса ICE было дать возможность сторонним приложениям общаться с Smartswitch, используя сложный API,
с большим кол-вом функций, аргументов, и взаимных зависимостей.
При подключении сторонних приложений через этот интерфейс, Вам не обойтись без привлечения программиста.

ICE интерфейс содержит в себе все API, присутствующие в REST интерфейсе.
Однако, кроме этого, ICE интерфейс содержит множество API, которых нет в REST интерфейсе.
Таким образом, ICE интерфейс всегда может быть использован вместо REST интерфейса.
Однако обратное утверждение неверно.

Преимущества ICE интерфейса:
  • большие возможности
  • удобство в разработке сложных систем
Недостатки ICE интерфейса:
  • высокий порог входа для программиста
ICE интерфейс подходит для разработки:
  • кастомизированной версии веб-портала администратора
  • кастомизированной версии веб-портала пользователя
  • кастомизированной версии веб-портала компании
  • CRM-системы, требующими тесной интеграции с Smartswitch
  • сайтов, требующих тесной интеграции с Smartswitch

Подробнее см. Интерфейс приложений ICE

AMI

Это наиболее низко-уровневый интерфейс, который позволяет сторонним приложениям получать доступ к деталям совершения звонков через Smartswitch.
Он не является заменой REST или ICE интерфейса, а дополняет их в случаях, когда нужно получать больший контроль над звонком, и получать больше уведомлений о состоянии звонков.

При подключении стронних приложений через этот интерфейс, вам не обойтись без привлечения программиста.
Исключением является случай, если вы подключаете стороннее приложения, которое было создано для подключения к Asterisk.
В этом случае вы можете заменить Asterisk на Smartswitch, без модификации данного стороннего приложения.

AMI интерфейс подходит для связывания Smartswitch c:
  • кастомизированным веб-телефоном
  • кастомизированной системой обзвона базы номеров
  • кастомизированной версией веб-портала администратора
  • кастомизированной версией веб-портала пользователя
  • кастомизированной версией веб-портала компании
  • сторонними CRM-системами, требующими полного контроля над звонком
  • сторонними CRM-системами, поддерживающими Asterisk
  • сайтами, требующими полного контроля над звонком

Подробнее см. Интерфейс приложений AMI

English translation

Also available in: PDF HTML TXT