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

Запуск служебных сценариев: различия между версиями

Материал из Платформа Эра. Документации
Строка 23: Строка 23:


= Запуск служебного сценария с помощью вебхука =
= Запуск служебного сценария с помощью вебхука =
[[Файл:Канал интеграции.png|мини|Канал интеграции]]
Служебные сценарии могут использоваться для обработки запросов (HTTP и WS) в '''каналах интеграции'''.
Каналы интеграции доступны в приложении Настройки, в разделе Прочее.
Детальную информацию о работе каналов интеграции можно найти на [https://vendor.era-platform.ru/docs/era/latest/entities/service/integration_point.html ресурсе Vendor].
Канал интеграции в основном определяет точку обработки HTTP(s) веб-хуков, поступающих из внешних систем, а также точку для websocket подключения с предопределенными правами.
В отдельных случаях канал интеграции определяет URL внешней системы для отправки в нее HTTP запросов из сценариев.
Поддерживает потоковую асинхронную обработку сообщений, поступающих из websocket-подключений, и отправку в них ответных сообщений, а также событий.
Поддерживает создание проектных API с помощью служебных сценариев.
Websocket-подключение к каналу интеграции производится с указанием token_local непосредственно в URL или в заголовке Authorization. Подробнее.
Http(s)-подключение к каналу интеграции производится с указанием token_local. Используется для обращения к проектным API, а также для скачивания записей разговоров, вебхуков от мессенджеров.
Могут быть постоянными и временными. Для временных необходимо задать дату и время до которого канал интеграции будет активен. При превышении даты активности система автоматически переведет канал интеграции в состояние просрочен.
Поведение канала интеграции определяется его типом
{| class="wikitable"
|+Типы канала интеграции
!Значение
!Описание
|-
|Общий (public)
|Канал интеграции общего назначения. Применяется при:
* отправке HTTP-запросов из сценариев в доменах с типами, имеющими ограничения по выбору URL в компоненте ''"Веб-запрос"''. Конечный URL вычисляется путем сцепления значения поля ''url'' выбранного канала интеграции, символа <code>/</code> и указанной страницы.
* получении входящих HTTP-запросов от произвольных отправителей с использованием ''token_local''. В этом случае запускается сценарий ''recv_svcscriptcode''. В частности при получении сообщений для чат-сессий.
* создании собственного внутреннего API в служебных сценариях на протоколах HTTP и websocket. Применяются значения полей ''recv_svcscriptcode'', ''recv_svcscriptcode_ws'', ''url'' и ''token_local'', а также компонента ''"Отправка вебсокет-сообщения"''.
* отправки сообщений из сценариев чат-ботов в канал. Применяются поля ''send_svcscriptcode'', ''send_svcscriptcode_ws''.
|-
|Подписчик (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)


= Запуск служебного сценария по расписанию =
= Запуск служебного сценария по расписанию =

Версия от 12:34, 24 февраля 2025

Предыдущая статья курса: Компоненты работы с данными

Общая информация

Запуск служебных сценариев может производится:

  • при поступлении HTTP-запроса к проектному API (использование сервисов)
  • из кода приложений
  • при поступлении веб-хука в канал интеграции;
  • компонентом Запуск сценария из других служебных и IVR сценариев;
  • по расписанию служебной задачей;
  • в виде контекстного сценария звонка для обработки событий звонка – запускается при поступлении звонка и может быть активным вплоть до его завершения;
  • сервисом управления звонками с целью инициации исходящих вызовов от SIP-UAC IVR;
  • в различных точках бизнес-процессов, предполагающих проектную кастомизацию – стратегии.

Алгоритм работы каждого сценария описываются сущностью svcscript.

Исполняется ролью svc на одном из сайтов, обслуживающих домен.

Запуск служебного сценария из кода

Запуск служебного сценария через API

Запуск служебного сценария с помощью вебхука

Канал интеграции

Служебные сценарии могут использоваться для обработки запросов (HTTP и WS) в каналах интеграции.

Каналы интеграции доступны в приложении Настройки, в разделе Прочее.

Детальную информацию о работе каналов интеграции можно найти на ресурсе Vendor.

Канал интеграции в основном определяет точку обработки HTTP(s) веб-хуков, поступающих из внешних систем, а также точку для websocket подключения с предопределенными правами.

В отдельных случаях канал интеграции определяет URL внешней системы для отправки в нее HTTP запросов из сценариев.

Поддерживает потоковую асинхронную обработку сообщений, поступающих из websocket-подключений, и отправку в них ответных сообщений, а также событий.

Поддерживает создание проектных API с помощью служебных сценариев.

Websocket-подключение к каналу интеграции производится с указанием token_local непосредственно в URL или в заголовке Authorization. Подробнее.

Http(s)-подключение к каналу интеграции производится с указанием token_local. Используется для обращения к проектным API, а также для скачивания записей разговоров, вебхуков от мессенджеров.

Могут быть постоянными и временными. Для временных необходимо задать дату и время до которого канал интеграции будет активен. При превышении даты активности система автоматически переведет канал интеграции в состояние просрочен.

Поведение канала интеграции определяется его типом

Типы канала интеграции
Значение Описание
Общий (public) Канал интеграции общего назначения. Применяется при:
  • отправке HTTP-запросов из сценариев в доменах с типами, имеющими ограничения по выбору URL в компоненте "Веб-запрос". Конечный URL вычисляется путем сцепления значения поля url выбранного канала интеграции, символа / и указанной страницы.
  • получении входящих HTTP-запросов от произвольных отправителей с использованием token_local. В этом случае запускается сценарий recv_svcscriptcode. В частности при получении сообщений для чат-сессий.
  • создании собственного внутреннего API в служебных сценариях на протоколах HTTP и websocket. Применяются значения полей recv_svcscriptcode, recv_svcscriptcode_ws, url и token_local, а также компонента "Отправка вебсокет-сообщения".
  • отправки сообщений из сценариев чат-ботов в канал. Применяются поля send_svcscriptcode, send_svcscriptcode_ws.
Подписчик (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)

Запуск служебного сценария по расписанию

Для запуска служебных сценариев по расписанию служит специальная сущность - Служебная задача.

Служебная задача

Служебные задачи доступны в приложении Настройки, в разделе Сценарии.

Каждая задача хранит в себе параметры запуска сценариев:

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

Если задача активна, то сценарий будет запускаться автоматически с заданным интервалом, на всех или выбранных сайтах, в выбранное время действия.

Запуск служебного сценария для обработки событий звонка

Запуск служебного сценария для инициализации исходящих вызовов

Следующая статья курса: Задание 7. Создание служебного сценария
Предыдущая статья курса: Компоненты работы с данными