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

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

REST

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

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

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

Преимущества REST интерфейса: Недостатки REST интерфейса: REST интерфейс подходит для сопряжения Smartswitch c:

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

ICE

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

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

Преимущества ICE интерфейса: Недостатки ICE интерфейса: ICE интерфейс подходит для разработки:

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

AMI

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

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

AMI интерфейс подходит для связывания Smartswitch c:

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

English translation