Дополнительные действия
AZykov (обсуждение | вклад) |
AZykov (обсуждение | вклад) |
||
Строка 21: | Строка 21: | ||
= Запуск служебного сценария через API = | = Запуск служебного сценария через API = | ||
Служебный сценарий может быть запущен с помощью API. | |||
Для этого существует базовый сервис /rest/v1/service/svcscript_runtimes | |||
Для запуска сценария, необходимо выполнить POST-запрос к данному сервису, передав код служебного сценария и набор параметров от startparam1 до startparam9 (параметры являются опциональными):<syntaxhighlight lang="http"> | |||
POST /rest/v1/service/svcscript_runtimes HTTP/1.1 | |||
Content-Type: application/json; charset=utf-8 | |||
{ | |||
"code": "123", | |||
"startparam1": "test", | |||
"startparam2": "test2" | |||
} | |||
</syntaxhighlight>В качестве ответа будет возвращен идентификатор запущенного сценария, а также информация о сайте, на котором он был запущен:<syntaxhighlight lang="http"> | |||
HTTP/1.1 200 OK | |||
Content-Type: application/json; charset=utf-8 | |||
{ | |||
"id": "b7f4ad2f-0624-e7dd-42f5-d000000003e8", | |||
"site": "SITE1", | |||
"node": "site1_c@192.168.0.12", | |||
"domain": "test.rootdomain.ru", | |||
"type": "svc", | |||
"code": "123" | |||
} | |||
</syntaxhighlight>Детальное описание сервисов по работе со сценариями можно найти на [https://vendor.era-platform.ru/docs/era/latest/api/rest/v1/service/svcscript_runtimes.html ресурсе Vendor]. | |||
= Запуск служебного сценария с помощью вебхука = | = Запуск служебного сценария с помощью вебхука = |
Версия от 12:41, 24 февраля 2025
Предыдущая статья курса: Компоненты работы с данными
Общая информация
Запуск служебных сценариев может производится:
- при поступлении HTTP-запроса к проектному API (использование сервисов)
- из кода приложений
- при поступлении веб-хука в канал интеграции;
- компонентом Запуск сценария из других служебных и IVR сценариев;
- по расписанию служебной задачей;
- в виде контекстного сценария звонка для обработки событий звонка – запускается при поступлении звонка и может быть активным вплоть до его завершения;
- сервисом управления звонками с целью инициации исходящих вызовов от SIP-UAC IVR;
- в различных точках бизнес-процессов, предполагающих проектную кастомизацию – стратегии.
Алгоритм работы каждого сценария описываются сущностью svcscript.
Исполняется ролью svc на одном из сайтов, обслуживающих домен.
Запуск служебного сценария из кода
Запуск служебного сценария через API
Служебный сценарий может быть запущен с помощью API.
Для этого существует базовый сервис /rest/v1/service/svcscript_runtimes
Для запуска сценария, необходимо выполнить POST-запрос к данному сервису, передав код служебного сценария и набор параметров от startparam1 до startparam9 (параметры являются опциональными):
POST /rest/v1/service/svcscript_runtimes HTTP/1.1
Content-Type: application/json; charset=utf-8
{
"code": "123",
"startparam1": "test",
"startparam2": "test2"
}
В качестве ответа будет возвращен идентификатор запущенного сценария, а также информация о сайте, на котором он был запущен:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"id": "b7f4ad2f-0624-e7dd-42f5-d000000003e8",
"site": "SITE1",
"node": "site1_c@192.168.0.12",
"domain": "test.rootdomain.ru",
"type": "svc",
"code": "123"
}
Детальное описание сервисов по работе со сценариями можно найти на ресурсе Vendor.
Запуск служебного сценария с помощью вебхука

Служебные сценарии могут использоваться для обработки запросов (HTTP и WS) в каналах интеграции.
Каналы интеграции доступны в приложении Настройки, в разделе Прочее.
Детальную информацию о работе каналов интеграции можно найти на ресурсе Vendor.
Канал интеграции в основном определяет точку обработки HTTP(s) веб-хуков, поступающих из внешних систем, а также точку для websocket подключения с предопределенными правами.
В отдельных случаях канал интеграции определяет URL внешней системы для отправки в нее HTTP запросов из сценариев.
Поддерживает потоковую асинхронную обработку сообщений, поступающих из websocket-подключений, и отправку в них ответных сообщений, а также событий.
Поддерживает создание проектных API с помощью служебных сценариев.
Websocket-подключение к каналу интеграции производится с указанием token_local непосредственно в URL или в заголовке Authorization. Подробнее.
Http(s)-подключение к каналу интеграции производится с указанием token_local. Используется для обращения к проектным API, а также для скачивания записей разговоров, вебхуков от мессенджеров.
Могут быть постоянными и временными. Для временных необходимо задать дату и время до которого канал интеграции будет активен. При превышении даты активности система автоматически переведет канал интеграции в состояние просрочен.
Поведение канала интеграции определяется его типом:
Значение | Описание |
---|---|
Общий (public) | Канал интеграции общего назначения. Применяется при:
|
Подписчик (subscr) | Канал интеграции для подписчиков на события системы.
Поддерживает подписку по протоколам HTTP и Websocket. В первом случае отправка событий производится веб-хуками по адресу, указанному в запросе подписки, либо по адресу url. Во втором случае отправка событий производится обратно в websocket-подключение. В каждый канал интеграции вне зависимости от количества подключений и подписок, каждое событие отправляется не более 1 раза. Поля recv_svcscriptcode, recv_svcscriptcode_ws, send_svcscriptcode и send_svcscriptcode_ws не используются. |
Мессенджер (im) | Канал интеграции для вебхуков из мессенджеров. Поступающие сообщения на страницу веб-сервера '/api/im/v1/:TOKEN' пересылаются в сервис обслуживания im-аккаунтов.
Поля url, recv_svcscriptcode, recv_svcscriptcode_ws, send_svcscriptcode и send_svcscriptcode_ws не используются. |
Для использования служебных сценариев необходимо использовать общий режим.
Для каждого канала интеграции доступен выбор 4 служебных сценариев:
- Обработка входящего HTTP запроса (Входящий HTTP)
- Обработка входящего WS запроса (Входящий WS)
- Обработка исходящего HTTP запроса (Исходящий HTTP)
- Обработка исходящего WS запроса (Исходящий WS)
Также, в канале интеграции задается набор ролей, требуемых для доступа к этому каналу при авторизации пользователя через iam
В поле Пользователь (opts.userid) также определяется идентификатор пользователя системы, от имени которого будут выполняться запросы. Применяются также роли этого пользователя.
Запуск служебного сценария по расписанию
Для запуска служебных сценариев по расписанию служит специальная сущность - Служебная задача.

Служебные задачи доступны в приложении Настройки, в разделе Сценарии.
Каждая задача хранит в себе параметры запуска сценариев:
- Признак активности (включена)
- Код служебного сценария для запуска
- Режим обслуживания на сайтах (при распределенной архитектуре)
- Список допустимых сайтов (опционально, при распределенной архитектуре)
- Режим запуска (однократный, регулярный)
- Разрешить параллельное выполнение
- Интервал запуска
- Начало и окончание периода активности
- Время действия (всегда, рабочее/нерабочее время, расписание)
- Расписание времени действия
Если задача активна, то сценарий будет запускаться автоматически с заданным интервалом, на всех или выбранных сайтах, в выбранное время действия.
Запуск служебного сценария для обработки событий звонка
Запуск служебного сценария для инициализации исходящих вызовов
Следующая статья курса: Задание 7. Создание служебного сценария
Предыдущая статья курса: Компоненты работы с данными