API-документация
Для документирования API используется Swagger.
Swagger-описание — это файл формата YAML или JSON, содержащий API-спецификацию.
Для доступа к Swagger необходимо перейти по адресу:
где <IP_address> — IP-адрес сервера телефонии IVA CS
Требования для работы с API
Для работы с API на устройстве пользователя должен быть установлен какой-либо инструмент, который позволяет отправлять запросы к сервисам и обрабатывать их ответы.
| Взаимодействие с API IVA CS будет рассмотрено на примере работы с коллекцией запросов в Postman |
Процесс работы с Postman
С помощью Postman можно протестировать корректность работы серверной части IVA CS.
Возможности Postman
-
сохранять запросы в папки и коллекции
-
изменять параметры запросов
-
изменять окружения: dev, test, production
-
выполнять автотесты
-
импортировать и экспортировать коллекции запросов и наборы тестов, чтобы обмениваться данными
Преимущества Postman
-
поддержка различных API: REST, SOAP, GraphQL
-
возможность легкой интеграции в CI/CD с помощью Newman
-
запуск на любых ОС
-
поддержка ручного и автоматизированного тестирования
Создание коллекции запросов
Для работы с запросами в секции Collections необходимо создать коллекцию, в которой они будут храниться.
В коллекцию необходимо импортировать yaml-файл, полученный с сервера IVA CS:
-
открыть Collections → нажать кнопку Import
-
вставить ссылку на yaml-файл в строку
Paste cURL, Raw text or URL... -
дождаться окончания подготовки данных для импорта
-
в окне Choose how to import your Specification выбрать Postman Collection и нажать кнопку Import
Для изменения названия: Нажать на название коллекции → Нажать Ctrl+E → Ввести новое название коллекции → Нажать Enter
| Для отображения всей документации API в рабочей области необходимо нажать View complete documentation |
Работа с запросами
| При работе с API можно использовать cURL — командную строку для HTTP-запросов |
Настройка постоянных переменных
Для удобства работы с API рекомендуется настроить постоянные переменные, которые будут использоваться для авторизации при совершении запросов.
Для создания окружения в секции Environments необходимо:
-
открыть секцию Environments и выбрать Globals
-
добавить переменные окружения:
-
создать переменную в столбце Variable
-
задать значение переменной в столбце Value
Variable Value https://<IP_address>где <IP_address> — IP-адрес сервера телефонии IVA CS
логин для входа (например,
admin@example.ru)пароль для входа (например,
admin)указать токен доступа
-
Получение токена доступа bearerToken
Для получения токена доступа bearerToken необходимо выполнить следующий запрос:
-
нажать кнопку New → нажать HTTP. В рабочей области будет создан новый запрос Untitled Request
-
в окне запроса:
-
нажать кнопку Send
Если запрос был завершен успешно, то в области ответа отобразится статус 200 OK, а на вкладке Body — тело ответа в формате JSON.
Пример вывода:
Для получения значения токена bearerToken необходимо скопировать значение поля "access" без символов " и вставить его в столбец Value в качестве значения переменной окружения bearerToken.
|
Переменную окружения bearerToken необходимо указывать во вкладке Authorization при совершении запросов: |
Выполнение запроса
Для выполнения запроса необходимо:
-
перейти в Collections → открыть созданную коллекцию
-
в окне запроса:
-
выбрать метод запроса (по умолчанию устанавливается при выборе типа запроса)
-
в строке запроса ввести URL-запроса:
{{url}}{{baseUrl}}/<NAME_REQUEST>, где <NAME_REQUEST> — название типа запроса -
открыть вкладку Authorization и убедиться, что в качестве типа авторизации установлен Bearer Token
-
-
нажать кнопку Send
Если запрос был успешно завершен, то в теле запроса Body отобразится статус 200 OK.
Пример выполнения запроса из коллекции Subscriber для получения списка абонентов:
Управление заданиями обратного вызова
Операция /api/v1/ServiceCallbackTask предназначена для запуска и остановки заданий сервиса Обратный вызов. Через REST API можно инициировать звонок из внешней системы, например CRM, ERP или адресной книги.
Последовательность дозвона определяется параметрами задания: сначала система звонит участнику, заданному через dest_number или dest_subscriber_id, затем — участнику, заданному через from_number или from_subscriber_id. Это позволяет сначала позвонить инициатору, затем вызываемому абоненту или наоборот.
Для каждого участника необходимо указать либо номер, либо ID абонента. По умолчанию хотя бы один участник должен быть задан через dest_subscriber_id или from_subscriber_id. Чтобы задать обоих участников по номерам, необходимо включить системную настройку allow_scb_task_number2number.
В задании API голосовое приветствие необязательно. При создании сервиса в веб-интерфейсе Файл приветствия и Файл приветствия обратного вызова обязательны.
Тело запроса содержит следующие параметры:
| Параметр | Описание |
|---|---|
|
Команда управления заданием: |
|
Период между попытками дозвона до первого участника, в секундах |
|
Общее время выполнения попыток дозвона до первого участника, в секундах |
|
Время, в течение которого система пытается дозвониться до второго участника, в секундах |
|
Номер участника, которому система звонит первым |
|
ID абонента, которому система звонит первым |
|
Номер участника, которому система звонит вторым |
|
ID абонента, которому система звонит вторым |
|
ID аудиофайла, который проигрывается первому участнику после ответа. Необязательный параметр |
|
UUID задания. Значение записывается в поле CDR |
















