Открыть меню
Toggle preferences menu
Открыть персональное меню
Вы не представились системе
Your IP address will be publicly visible if you make any edits.

Служебные сценарии SVC: различия между версиями

Материал из Платформа Эра. Документации
Новая страница: «SVC (SerViCe) сценарии — это мощный no-code инструмент разработки платформы. Сценарий может быть запущен вручную, по таймеру (меню Задачи приложения Настройки) и внешней системой при помощи REST API интерфейса. Создайте служебный сценарий в приложении Настройка...»
 
Нет описания правки
 
(не показаны 2 промежуточные версии 1 участника)
Строка 1: Строка 1:
SVC (SerViCe) сценарии — это мощный no-code инструмент разработки платформы.


Сценарий может быть запущен вручную, по таймеру (меню Задачи приложения Настройки) и внешней системой при помощи REST API интерфейса.
== Обзор ==
Служебные сценарии служат для обработки данных и событий. Является самым общим типом сценариев обширного применения, поэтому не имеет специализированных компонентов.
 
Запуск производится:
 
* при поступлении HTTP-запроса к проектному API;
* при поступлении веб-хука в [https://vendor.era-platform.ru/docs/era/latest/entities/service/integration_point.html канал интеграции];
* при инициации запуска из активных обработчиков сценариев компонентом Запуск сценария в асинхронном режиме;
* по расписанию служебной задачей;
* в виде контекстного сценария звонка для обработки событий звонка – запускается при поступлении звонка и может быть активным вплоть до его завершения;
* сервисом управления звонками с целью инициации исходящих вызовов от SIP-UAC IVR;
* в различных точках бизнес-процессов, предполагающих проектную кастомизацию – стратегии.
 
Алгоритм работы каждого сценария описываются сущностью [https://vendor.era-platform.ru/docs/era/latest/entities/service/svcscript.html svcscript]. Создаются в веб-приложении "Редактор сценариев" или могут управляться через [https://vendor.era-platform.ru/docs/era/latest/api/rest/v1/service/svcscripts.html API].
 
Служебный сценарий имеет основную ветвь и ветви пост-обработки. Основная ветвь активна только одновременно с активностью процесса-владельца, а при его завершении выполнение основной ветви сценария прерывается. При этом его работа может быть продолжена на ветке пост-обработки.
 
Служебный сценарий, обслуживающий поступивший внешний запрос, должен оперативно завершиться, сохранив значение в переменную с именем <code>result</code>.


Создайте служебный сценарий в приложении Настройка меню Служебные сценарии (/service/svcscripts). Установите уровень логирования Полный. Выведите при помощи компонента Уведомление текущую дата и время при помощи выражения now(). Укажите собственного пользователя (логин) и запустите сценарий вручную.
Исполняется ролью svc на одном из сайтов, обслуживающих домен.


Проанализируйте лог выполнения служебного сценария (путь /opt/era_01/log/svc1@[ipaddress]/script/).
Сценарий может быть запущен вручную, по таймеру (меню Задачи приложения Настройки) и внешней системой при помощи REST API интерфейса.


== Управление микросервисами из SVC ==
== Управление микросервисами из SVC ==
Компонент Вызов микросервиса продуктового слоя позволяет управлять микросервисами.
Компонент Вызов микросервиса продуктового слоя позволяет управлять микросервисами.
 
[[Файл:Вызов микросервиса.png|мини|Компонент вызова микросервиса]]
Запустите Исходящую кампанию из служебного сценария
Запустите Исходящую кампанию из служебного сценария


Строка 37: Строка 53:


===== 2. Получение общего количество свободных операторов во всех очередях =====
===== 2. Получение общего количество свободных операторов во всех очередях =====
[[Файл:Компонент операция.png|мини|Компонент "Операция"]]
Воспользуйтесь запросом к служебному классу callcenter/acd/CurrentACDQueueStats. Найдите при помощи фильтра ["==",["property","acdQueue_code"],["const","total"]] запись total.
Воспользуйтесь запросом к служебному классу callcenter/acd/CurrentACDQueueStats. Найдите при помощи фильтра ["==",["property","acdQueue_code"],["const","total"]] запись total.
  Получите значение в формате JSON
  Получите значение в формате 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   } ]
  [
    {
      "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 — интересующее нас значение). Выведите значение на экран при помощи компонента «Уведомление».
При помощи компонента «Парсер» получите интересующее значение /0/operatorsReady (где 0 — это первая запись в массиве JSON, operatorsReady — интересующее нас значение). Выведите значение на экран при помощи компонента «Уведомление».
 
[[Файл:Пример операции .png|мини|Пример операции]]
Скачайте SVC сценарий (svcscript_acd_params.zip) для изучения примера.  
Скачайте SVC сценарий (svcscript_acd_params.zip) для изучения примера.  
[[Категория:IP-АТС]]
[[Категория:IP-АТС]]

Текущая версия от 15:29, 23 декабря 2024

Обзор

Служебные сценарии служат для обработки данных и событий. Является самым общим типом сценариев обширного применения, поэтому не имеет специализированных компонентов.

Запуск производится:

  • при поступлении 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) для изучения примера.