SVC (SerViCe) сценарии — это мощный no-code инструмент разработки платформы.
Сценарий может быть запущен вручную, по таймеру (меню Задачи приложения Настройки) и внешней системой при помощи REST API интерфейса.
Создайте служебный сценарий в приложении Настройка меню Служебные сценарии (/service/svcscripts). Установите уровень логирования Полный. Выведите при помощи компонента Уведомление текущую дата и время при помощи выражения now(). Укажите собственного пользователя (логин) и запустите сценарий вручную.
Проанализируйте лог выполнения служебного сценария (путь /opt/era_01/log/svc1@[ipaddress]/script/).
Управление микросервисами из SVC
Компонент Вызов микросервиса продуктового слоя позволяет управлять микросервисами.
![](/images/3/3d/%D0%92%D1%8B%D0%B7%D0%BE%D0%B2_%D0%BC%D0%B8%D0%BA%D1%80%D0%BE%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%B0.png)
Запустите Исходящую кампанию из служебного сценария
- Микросервис — 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. Получение общего количество свободных операторов во всех очередях
![](/images/thumb/5/56/%D0%9A%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D1%8F.png/300px-%D0%9A%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D1%8F.png)
Воспользуйтесь запросом к служебному классу 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 — интересующее нас значение). Выведите значение на экран при помощи компонента «Уведомление».
![](/images/thumb/a/a1/%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B8_.png/300px-%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B8_.png)
Скачайте SVC сценарий (svcscript_acd_params.zip) для изучения примера.