Дополнительные действия
AZykov (обсуждение | вклад) Нет описания правки |
AZykov (обсуждение | вклад) |
||
| Строка 24: | Строка 24: | ||
== Разработка служебных сценариев == | == Разработка служебных сценариев == | ||
Работе и построении сценариев | Работе и построении сценариев посвещен раздел курса "Разработка приложений". | ||
Данный блок курса является обособленным и понятен без изучения материалов остального курса. | Данный блок курса является обособленным и понятен без изучения материалов остального курса. | ||
Текущая версия от 10:58, 18 июля 2025
Обзор
Служебные сценарии служат для обработки данных и событий. Является самым общим типом сценариев обширного применения, поэтому не имеет специализированных компонентов.
Запуск производится:
- при поступлении HTTP-запроса к проектному API;
- при поступлении веб-хука в канал интеграции;
- при инициации запуска из активных обработчиков сценариев компонентом Запуск сценария в асинхронном режиме;
- по расписанию служебной задачей;
- в виде контекстного сценария звонка для обработки событий звонка – запускается при поступлении звонка и может быть активным вплоть до его завершения;
- сервисом управления звонками с целью инициации исходящих вызовов от SIP-UAC IVR;
- в различных точках бизнес-процессов, предполагающих проектную кастомизацию – стратегии.
Алгоритм работы каждого сценария описываются сущностью svcscript. Создаются в веб-приложении "Редактор сценариев" или могут управляться через API.
Служебный сценарий имеет основную ветвь и ветви пост-обработки. Основная ветвь активна только одновременно с активностью процесса-владельца, а при его завершении выполнение основной ветви сценария прерывается. При этом его работа может быть продолжена на ветке пост-обработки.
Служебный сценарий, обслуживающий поступивший внешний запрос, должен оперативно завершиться, сохранив значение в переменную с именем result.
Исполняется ролью svc на одном из сайтов, обслуживающих домен.
Сценарий может быть запущен вручную, по таймеру (меню Задачи приложения Настройки) и внешней системой при помощи REST API интерфейса.
Разработка служебных сценариев
Работе и построении сценариев посвещен раздел курса "Разработка приложений".
Данный блок курса является обособленным и понятен без изучения материалов остального курса.
Для прохождения блока достаточно открыть первую статью и в дальнейшем навигироваться по ссылкам в конце статьи.
Управление микросервисами из SVC
Компонент Вызов микросервиса продуктового слоя позволяет управлять микросервисами.

Запустите Исходящую кампанию из служебного сценария
- Микросервис — callcenter.HolderService,
- Метод —Campaign_start,
- Аргументы — id кампании
Остановите Исходящую кампанию из служебного сценария
- Микросервис — callcenter.HolderService,
- Метод —Campaign_stop,
- Аргументы — id кампании
Полный перечень микросервисов продуктового слоя можно получить в приложении Builder, меню «Мониторинг» — «ServiceInstances».
https://{ERAURL}/app/builder_admin/#/ui/platform/services/ServiceInstances
Запросы операций из SVC сценариев
Используйте служебные (SVC) или голосовые (IVR) сценарии для выполнения запросов к различным классам платформы. Создайте сценарий и выберите компонент «Операция».
Подробная документация по компоненту Операция https://vendor.era-platform.ru/docs/era/latest/scripts/component_types/common/145.html
1. Работа с колл-листом
Укажите логин пользователя для выполнения запроса с необходимыми правами (обязательное поле). Прочтите коллекцию callcenter/outbound/SimpleContragents (список контрагентов из всех колл-листов). Полученные значение (в формате JSON) выведете в качестве уведомления или в лог-журнал.
Скачайте SVC-сценарий (svcscript_GetCalllist.zip) для изучения примера.
2. Получение общего количество свободных операторов во всех очередях

Воспользуйтесь запросом к служебному классу callcenter/acd/CurrentACDQueueStats. Найдите при помощи фильтра ["==",["property","acdQueue_code"],["const","total"]] запись total.
Получите значение в формате JSON
[
{
"acdQueue_code":"total",
"acdQueue_id":null,
"acdQueue_name":"Итого",
"callsCount":0,
"callsWaiting":0,
"firstCallTime":null,
"id":"fbb44b44-8741-5b13-4bce-9c790a27fe5e",
"operatorsBusy":0,
"operatorsCount":2,
"operatorsNotReady":0,
"operatorsReady":2,
"orderIndex":6,
"percentLost":null,
"serviceLevel":null
}
]
При помощи компонента «Парсер» получите интересующее значение /0/operatorsReady (где 0 — это первая запись в массиве JSON, operatorsReady — интересующее нас значение). Выведите значение на экран при помощи компонента «Уведомление».

Скачайте SVC сценарий (svcscript_acd_params.zip) для изучения примера.