Общие компоненты сценариев — различия между версиями
Elena (обсуждение | вклад) |
м (→leftОтправка одного Email) |
||
(не показаны 184 промежуточные версии 5 участников) | |||
Строка 1: | Строка 1: | ||
+ | <code>[[Техническая документация]] / [[Call-центр]] или [[Администрирование]] / [[Сценарии]] / [[Общие компоненты сценариев]] </code> | ||
+ | |||
+ | |||
+ | <code>Смотрите также: | ||
+ | * [[Компоненты сценариев IVR]] | ||
+ | * [[Компоненты сценариев диалога]] | ||
+ | * [[Компоненты служебных сценариев]] | ||
+ | </code> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
В данном блоке в справочном порядке будут приведены все компоненты, являющиеся общими для всех типов сценариев, а также краткое описание действий и перечни свойств. | В данном блоке в справочном порядке будут приведены все компоненты, являющиеся общими для всех типов сценариев, а также краткое описание действий и перечни свойств. | ||
+ | __TOC__ | ||
− | === | + | |
− | [[Файл:cl_cc_scr_i01.png|left]] | + | <div id="Start"></div> |
− | + | ==[[Файл:cl_cc_scr_i01.png|left]]Старт== | |
− | + | ||
Компонент существует в любом сценарии – с него начинается действие, если трубка обрабатываемой линии положена. Старт на вход принимает параметр, который может сохранить в некоторой внутренней переменной сценария для дальнейшего использования. | Компонент существует в любом сценарии – с него начинается действие, если трубка обрабатываемой линии положена. Старт на вход принимает параметр, который может сохранить в некоторой внутренней переменной сценария для дальнейшего использования. | ||
+ | |||
'''Свойства''': | '''Свойства''': | ||
Строка 25: | Строка 38: | ||
− | |||
− | |||
− | |||
− | |||
+ | <div id="Stop"></div> | ||
+ | ==[[Файл:cl_cc_scr_i02.png|left]]Стоп== | ||
Осуществляет завершение сценария без разрыва связи. Служит для остановки выполнения сценария после появления соответствующих условий. Классические примеры успешное переключение в сценарии IVR или корректное завершение работы в сценарии диалога. | Осуществляет завершение сценария без разрыва связи. Служит для остановки выполнения сценария после появления соответствующих условий. Классические примеры успешное переключение в сценарии IVR или корректное завершение работы в сценарии диалога. | ||
Строка 38: | Строка 49: | ||
{|cellpadding="10" cellspacing="0" border="1" | {|cellpadding="10" cellspacing="0" border="1" | ||
|Возврат управления | |Возврат управления | ||
− | |Да/нет. По умолчанию «Да». Флаг определяет необходимо ли в текущей точке передать управление стеку (да) или прекратить выполнение всей последовательности сценариев (нет). Актуален только в сценариях, вызванных через компонент [[ | + | |Да/нет. По умолчанию «Да». Флаг определяет необходимо ли в текущей точке передать управление стеку (да) или прекратить выполнение всей последовательности сценариев (нет). Актуален только в сценариях, вызванных через компонент [[#Запуск сценария|Запуск сценария]] с установленным флагом «Возврат управления» и в проектных сценариях IVR, вызванных через компонент [[Компоненты сценариев IVR#Вход в проект|Вход в проект]]. |
|- | |- | ||
|Имя | |Имя | ||
Строка 45: | Строка 56: | ||
− | + | <div id="Appropriate"></div> | |
− | + | ==[[Файл:cl_cc_scr_i04.png|left]]Присвоение значения переменной== | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | [[Файл:cl_cc_scr_i04.png|left]] | + | |
− | + | ||
− | + | ||
− | + | ||
Задает значение указанной переменной. В качестве присваемого значения выступает аргумент. Используется механизм преобразования типов, если типы значения аргумента и переменной не совпадают. | Задает значение указанной переменной. В качестве присваемого значения выступает аргумент. Используется механизм преобразования типов, если типы значения аргумента и переменной не совпадают. | ||
Строка 78: | Строка 63: | ||
'''Свойства''': | '''Свойства''': | ||
− | |||
{|cellpadding="10" cellspacing="0" border="1" | {|cellpadding="10" cellspacing="0" border="1" | ||
Строка 105: | Строка 89: | ||
|} | |} | ||
− | |||
− | |||
− | |||
− | |||
− | + | <div id="Compare"></div> | |
+ | |||
+ | ==[[Файл:cl_cc_scr_i05.png|left]]Сравнение== | ||
Сравнивает значения двух аргументов. Компонент осуществляет ветвление сценария. В случае соответствия выбранной логической операции и значений аргументов переход осуществляется по ветке «Правда», в противном случае – по ветке «Ложь». | Сравнивает значения двух аргументов. Компонент осуществляет ветвление сценария. В случае соответствия выбранной логической операции и значений аргументов переход осуществляется по ветке «Правда», в противном случае – по ветке «Ложь». | ||
Строка 116: | Строка 98: | ||
'''Свойства''': | '''Свойства''': | ||
− | |||
{|cellpadding="10" cellspacing="0" border="1" | {|cellpadding="10" cellspacing="0" border="1" | ||
Строка 144: | Строка 125: | ||
|} | |} | ||
− | |||
− | + | <div id="Menu"></div> | |
− | + | ==[[Файл:cl_cc_scr_i06.png|left]]Меню сравнения== | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
Сравнивает аргумент со списком значений. Компонент может иметь неограниченное число веток перехода. Переход осуществляется по ветке значения, с которым совпало значение аргумента. Если совпадений не найдено, переход осуществляется по ветке «Прочее». | Сравнивает аргумент со списком значений. Компонент может иметь неограниченное число веток перехода. Переход осуществляется по ветке значения, с которым совпало значение аргумента. Если совпадений не найдено, переход осуществляется по ветке «Прочее». | ||
+ | '''Свойства''': | ||
− | + | {|cellpadding="10" cellspacing="0" border="1" | |
+ | |Аргумент | ||
+ | |Аргумент (значение, переменная, функция, выражение), значение которого необходимо сравнить. | ||
+ | |- | ||
+ | |Значения (варианты) | ||
+ | |Окно ввода значений, позволяющее задать возможные значения и связывающее с каждым указанным значением элемент перехода. Соответственно переход осуществляется по ветке первого найденного совпадающего значения. | ||
+ | |- | ||
+ | |Переход, прочее | ||
+ | |Компонент, на который передается управление, если среди значений не найдено того, которое соответствует значению аргумента. | ||
+ | |- | ||
+ | |Имя | ||
+ | |Название компонента для отображения в визуальной среде и выбора в списке. | ||
+ | |} | ||
− | |||
− | + | <div id="ExecScript"></div> | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ==[[Файл:cl_cc_scr_i18.png|left]]Запуск сценария== | |
− | + | В случае организации автоматических сервисов размеры сценария могут быть достаточно велики, и компонент «Запуск сценария» предоставляет возможность разбить крупный сценарий на несколько логических блоков. Таким образом, один сценарий передает управление в начало другого сценария. При этом можно задать некоторое значение на запуск, которое примет компонент «Старт» вложенного сценария и сохранит в свою локальную переменную. Помимо этого, все переменные одного типа, которые названы одинаково в запускающем и запускаемом сценариях, перенесут свои значения из одного в другой без изменений. Такой способ запуска называется вложенным. | |
− | |||
− | + | <span style="color:red;">ВНИМАНИЕ! Обработка сценария начинается с компонента Старт и ведется последовательно согласно значениям свойств перехода, если трубка положена (в основном это входящие звонки с внешних линий). В случае, когда трубка уже поднята, после компонента [[#Старт|Старт]] производится безусловный переход к компоненту "Поднять трубку", если такой имеется в сценарии. При этом обработчик пропускает все компоненты, которые находятся между ними. Запуск вложенных сценариев следует этим же правилам. | |
− | |||
− | |||
− | + | Также с помощью компонента можно запускать в параллельный процесс любой служебный сценарий, не работающий с зависимыми от основного сценария ресурсами (линией, оператором). При запуске асинхронного служебного сценария начальные значения его переменных, совпадающих по типам и именам с переменными основного сценария, будут установлены в соответствии с их значениями. | |
+ | '''Свойства''': | ||
− | + | {|cellpadding="10" cellspacing="0" border="1" | |
− | + | |Тип запуска | |
− | + | |Определяет тип и формат запуска дочернего сценария. | |
− | + | * Вложенный. Запуск вложенного сценария прекращает выполнение (возможно на время, до возврата управления) текущего сценария и активизирует обработку выбранного сценария того же типа. | |
− | + | * Асинхронный служебный. Запускает в параллельном процессе выполнение выбранного служебного сценария и продолжает выполнение текущего. | |
+ | * Фоновое медиа-взаимодействие. Доступно только для IVR сценариев. Инициирует дублирующий параллельный сценарий IVR. Подробнее в разделе [[Фоновый IVR-сценарий медиа-взаимодействия|Сценарии IVR. Фоновый сценарий]]. | ||
+ | |- | ||
+ | |Сценарий | ||
+ | |Текстовое поле с возможностью выбора из списка имеющихся сценариев. Определяет имя сценария, который необходимо запустить. | ||
+ | |- | ||
+ | |Параметр запуска | ||
+ | |Аргумент, передающий свое значение на старт запускаемого сценария. | ||
+ | |- | ||
+ | |Возврат управления | ||
+ | |Да/нет. По умолчанию «Нет». Определяет способ вызова вложенного сценария. | ||
− | + | При установке значения «Нет» выполнение текущего сценария прекращается и запускается вложенный сценарий (с сохранением значений всех переменных). Такой способ наиболее часто применим на практике. | |
− | + | При установке значения «Да» вложенный сценарий вызывается как функция и после его завершения происходит возврат в точку вызова. Все переменные исходного сценария доступны во вложенном и наоборот, таким образом после возврата они будут иметь соответствующие измененные значения. На процедуру возврата также влияет флаг «Возврат управления» компонента [[#Стоп|Стоп]], - используется во вложенном сценарии после успешного переключения с необходимостью безусловно прервать обработчик сценариев. | |
− | + | ||
− | + | ||
− | |||
− | + | <span style="color:red;">ВНИМАНИЕ! Обработчик сценариев поддерживает условно неограниченную вложенность и имеет стек с ограничением в 100 сценариев во избежание зацикливания. | |
− | + | <span style="color:red;">ВНИМАНИЕ! Вызов внутри одной цепочки исполнения может происходить одновременно как с возвратом, так и без возврата. | |
+ | |- | ||
+ | |Переход | ||
+ | |Компонент, на который передается управление после возврата в случае запуска вложенного сценария, а также непосредственно после запуска служебного сценария. | ||
+ | Поле используется (и обязательно для заполнения) только в случае асинхронного запуска служебного сценария, а также в случае вложенного, если флаг «Возврат управления» установлен. | ||
+ | |- | ||
+ | |Имя | ||
+ | |Название компонента для отображения в визуальной среде и выбора в списке. | ||
+ | |} | ||
− | |||
− | + | <div id="Pause"></div> | |
+ | ==[[Файл:cl_cc_scr_i03.png|left]]Пауза== | ||
− | + | Осуществляет задержку сценария перед выполнением следующего компонента. В случае указания длительности 0 – компонент пропускается. В некоторых случаях при работе с большими сценариями удобно использовать компонент «Пауза» в качестве пустышки, для удобства и быстроты смены свойств. Например, по веткам выхода из компонента «Меню», где каждое свойство перехода задается внутри специального окна путем выбора одного объекта из списка всех объектов сценария. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | '''Свойства''': | |
− | + | ||
− | + | {|cellpadding="10" cellspacing="0" border="1" | |
+ | |Время задержки | ||
+ | |Время в миллисекундах, которое необходимо простоять на компоненте в паузе. | ||
+ | |- | ||
+ | |Переход | ||
+ | |Компонент, на который передается управление. | ||
+ | |- | ||
+ | |Имя | ||
+ | |Название компонента для отображения в визуальной среде и выбора в списке. | ||
+ | |} | ||
− | |||
− | |||
− | + | <div id="UserState"></div> | |
− | + | ==[[Файл:cl_cc_scr_i14.png|left]]Статус объекта== | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | Позволяет получить доступ к состояниям различных объектов (на чтение и запись). Например до начала переключения определить статус объекта (пользователя, задачи, номера), чтобы без попытки переключения и, соответственно, без включения сигнала ожидания, озвучить соответствующий текст меню. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | '''Свойства''': | |
− | + | ||
− | + | ||
− | + | {|cellpadding="10" cellspacing="0" border="1" | |
− | + | |Действие | |
− | + | |Доступные действия: | |
− | + | * Определить. Формирует работу компонента для записи в назначенную переменную выбранного состояния указанного объекта. | |
+ | * Установить. Изменяет выбранное состояние указанного объекта на результат вычисления назначенного аргумента. | ||
+ | <!-- * Создать. Создает объект выбранного типа, возвращая его идентификатор. | ||
+ | * Удалить. Удаляет объект выбранного типа. --> | ||
+ | |- | ||
+ | |Тип объекта | ||
+ | |Один из вариантов: Задача, Пользователь, Номер, Линия, Направление, Конференция, Сервер. Тип объекта, с которым производится работа: статус которого подлежит определению, изменению, или который необходимо создать/удалить. | ||
+ | В зависимости от выбранного действия перечень типов может меняться. | ||
+ | |- | ||
+ | |Задача (ключ), Пользователь (ключ), Номер, Линия (ключ), Направление (ключ), Конференция (ключ), Сервер | ||
+ | |Доступны только для действий определить/установить. | ||
+ | В зависимости от выбранного типа поле принимает тот или иной вид: | ||
+ | * Задача. Одна из списка задач системы (или проекта, если сценарий принадлежит проекту). Возможно задание через строковый аргумент «Ключ задачи». Может содержать идентификатор в виде Guid значения «xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx», код задачи или название задачи. Будет использован только в случае, если задача не указана явно в списке имеющихся в системе задач. | ||
+ | * Пользователь. Один из списка пользователей системы. Возможно задание через строковый аргумент «Ключ пользователя». Может содержать идентификатор в виде GUID значения, имя или логин. | ||
+ | * Номер. Аргумент, определяющий внутренний номер (стандартный). | ||
+ | * Линия. Аргумент, определяющий номер, код или Guid-идентификатор линии. | ||
+ | * Направление. Аргумент, определяющий направление (код или Guid-идентификатор). | ||
+ | * Конференция. Аргумент, определяющий номер комнаты, Guid-идентификатор или код идентификатора конференции. | ||
+ | * Сессия. Аргумент, определяющий Id цепочки коммутации или сессию служебного сценария. | ||
+ | * Контакт. Аргумент, определяющий телефон (электронную почту, ICQ и т.д.) у контакта. | ||
+ | |- | ||
+ | |Функция / действие | ||
+ | |Доступно только для действий определить/установить. | ||
− | + | В зависимости от выбранного действия и типа объекта поле содержит список доступных состояний. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | <h3>Определение состояния.</h3> | |
− | + | '''Доступные функции для задач:''' | |
+ | * Количество абонентов в очереди. | ||
+ | * Наибольшее время ожидания среди абонентов очереди (при сохранении в переменную типа дата/время подставляется значение переменной начиная с 01.01.0000; в переменную строка - значение ЧЧ:мм:cc, ЧЧ при превышении 24 продолжает увеличиваться; в числовую переменную попадает действительное значение количества минут). | ||
+ | * Расчетное время ожидания в очереди (при сохранении в переменную типа дата/время подставляется значение переменной начиная с 01.01.0000; в переменную строка - значение ЧЧ:мм:cc, ЧЧ при превышении 24 продолжает увеличиваться; в числовую переменную попадает действительное значение количества секунд). Осуществляет расчет времени ожидания при гипотетическом размещении текущего звонка в очереди указанной задачи. В случае, если установлен приоритет звонку, он будет учтен. При выполнении в диалоговом и служебном сценариях, где отсутствует понятие приоритета звонка, происходит оценка времени ожидания при размещении в конец очереди. | ||
+ | * Количество активных операторов задачи. | ||
+ | * Количество свободных операторов задачи. | ||
+ | * Активность задачи. 0 - неактивна, 1 - активна. | ||
+ | * Доступность по расписанию. 0 - в данный момент недоступна, 1 - в данный момент доступна. | ||
+ | * Проверка доступности входа. -1 — функция не выполнена, 0 — вход разрешен, 1 — текущее время не подходит по расписанию, 2 — текущее время не подходит по установленному периоду активности, 3 — превышение максимального числа одновременно активных внешних линий, 4 — задача не найдена, 5 — несоответствие состояния (задача неактивна, отсутствуют операторы и т.д.), 6 — ошибка при попытке входа | ||
+ | * Количество использованных линий. | ||
+ | * Количество линий в разговоре. | ||
+ | * Количество линий в дозвоне. | ||
+ | * Количество линий в ожидании оператора. | ||
− | |||
− | + | '''Доступные функции для пользователей:''' | |
+ | * Идентификатор пользователя. | ||
+ | * Имя пользователя. | ||
+ | * Логин пользователя. | ||
+ | * Скилл-тэги. | ||
+ | * Идентификатор связанной линии, по которой пользователь совершает звонки. | ||
+ | * Внутренний номер. Возвращает персональный номер, а в случае его отсутствия - групповой номер, в котором пользователь приоритетнее (вызывается первее или имеет наибольший приоритет). Если под это условие попадает несколько номеров, то выбирается с наименьшим номером. | ||
+ | * Отдел. Пустая строка — если без отдела, название отдела — если установлено. | ||
+ | * IP-адрес, с которого запущено клиентское приложение или web-клиент. | ||
+ | * Статус. 0 - не авторизован, 1 - готов, 2 - перерыв, 3 - отключен (нет на месте), 5 - занят, 6 - зарезервирован, 7 - без телефона. | ||
+ | * Признак переадресации. 0 - переадресация не установлена, 1 - в статусе переадресации | ||
+ | * Признак перерыва. 0 - перерыв не установлен, 1 - в перерыве | ||
+ | * Присутствие в КЦ. 0 - вне Call-центра, 1 - в Call-центре | ||
+ | * Ручной режим КЦ. 0 - ручной режим не установлен, 1 - в ручном режиме | ||
+ | * Свободное состояние. 0 — нет, 1 — да | ||
+ | * Количество абонентов в очереди. | ||
+ | * Наибольшее время ожидания среди абонентов очереди. | ||
+ | * Наличие привилегии в правах. В значении указывается код привилегии из таблицы ''A_UserRoles_Rights'' (столбец Code) | ||
+ | * Наличие роли. В значении указывается название или GUID-идентификатор роли. Идентификатор можно найти в таблице A_UserRoles_Roles (столбец Id) | ||
− | |||
− | + | '''Доступные функции для номеров:''' | |
+ | * Количество абонентов в очереди. | ||
+ | * Наибольшее время ожидания среди абонентов очереди. | ||
+ | * Наличие свободных абонентов. 0 — нет, 1 — есть. | ||
+ | * Тип внутреннего номера. | ||
+ | :-1 — номер не найден, 1 — стандартный номер, 11 — Hunt-номер в порядке приоритета, 12 — Hunt-номер с поочередным режимом, 13 — Hunt-номер со случайным выбором, 14 — Hunt-номер с выбором "Наиболее свободный", 15 — Hunt-номер с выбором "Наименее занятый", 16 — Hunt-номер с выбором "Наименее занятый по этому номеру", | ||
+ | :102 — служебный номер Flash, 103 — служебный номер "Выход в город", 104 — служебный номер "Выход в атс", 105 — служебный номер "Перехват", 110 — служебный номер "SIP Hotline", 112 — служебный номер "Управление конференцией", | ||
+ | :201 — быстрый номер, 301 — запуск IVR, 401 — экстренный номер, 501 — стандартный номер на другом сервере(при межсерверном взаимодействии). | ||
+ | * Идентификатор основного объекта. Возвращает первый вызываемый объект (или объект с наибольшим приоритетом). Визуально, такой объект располагается выше в настройках номерах. | ||
+ | * Идентификатор основной линии. Возвращает первую вызываемую внутреннюю линию (или линию с наибольшим приоритетом). | ||
+ | * Идентификатор основного пользователя. Возвращает первого вызываемого пользователя (или пользователя с наибольшим приоритетом). Только для стандартных внутренних номеров с режимом вызова абонентов "Согласно заданному правилу"; не имеет смысла для Hunt-номеров. | ||
− | |||
− | + | '''Доступные функции для линий:''' | |
+ | * Идентификатор линии. | ||
+ | * Номер линии. | ||
+ | * Код линии. | ||
+ | * Внутренний номер. Возвращает персональный номер линии или логически связанного с линией пользователя. Если персональных номеров нет, то возвращается групповой номер, в котором линия или связанный пользователь самый приоритетный (вызывается первее или имеет приоритет выше чем в остальных). Среди двух одинаковых номеров, приоритет отдается номер на логически связанного пользователя с наименьшим номером. | ||
+ | * CallerId. | ||
+ | * CalledId. | ||
+ | * Идентификатор цепочки коммутаций. | ||
+ | * Идентификатор пользователя, логически связанного с данной линией. | ||
+ | * IP-адрес (устройства или шлюза). | ||
+ | * Состояние. 1 - Не подключена, 2 - Выключена, 4 - Готова, 8 - Трубка поднята, 16 - Входящий звонок, 32 - Скоммутирована, 64 - Ожидание, 128 - Флеш, 256 - не используется, 512 - Занято, 1024 - Неопределено, 2048 - Зарезервирована, 4096 - Зарезервирована задачей. | ||
+ | * Время активности. Количество секунд с момента поднятия трубки. | ||
+ | * Название абонента. Установленное ранее в сценарии название. | ||
+ | * Описание абонента. Установленное ранее в сценарии описание. | ||
+ | * Текущая позиция в очереди. | ||
+ | * Расчетное время ожидания в секундах. | ||
+ | * Текущий приоритет в очереди. | ||
+ | * Контент линии (XML). Только для внешних линий. Полная информация о всех коммутациях на данной линии в виде XML. | ||
+ | * Контент цепочки (XML). Полная информация о всех коммутациях по цепочке коммутаций в виде XML. | ||
+ | * Контент цепочки (JSON). Полная информация о всех коммутациях по цепочке коммутаций в виде JSON. | ||
+ | * Поле контента линии. Только для внешних линий. В контенте линии (XML) это поле | ||
+ | :<code><nowiki><property_cdata key="custominfo"><![CDATA[]]></property_cdata></nowiki></code>. | ||
+ | * Поле контента цепочки (заголовок). В контенте цепочки коммутаций это поле | ||
+ | :<code><nowiki><property_cdata key="custom" /></nowiki></code> | ||
+ | * Поле контента цепочки (коммутация). В контенте цепочки коммутаций для текущей коммутации это поле | ||
+ | :<code><nowiki><property_cdata key="custom"><![CDATA[]]></property_cdata></nowiki></code> | ||
+ | * Время без звука, сек. Интервал времени, в течении которого с линии не приходят RTP-пакеты. | ||
+ | * Идентификатор скоммутированной линии/конференции. | ||
+ | * Номер скоммутированной линии/конференции. | ||
+ | * Принадлежность к направлению. В значении указывается код направления. -1 — направления не существует, 0 — не принадлежит, 1 — принадлежит. | ||
+ | * Заголовок из входящего SIP INVITE/OK сообщения. В значении указывается название заголовка (например, From). Если значение не указано, возвращается полный текст SIP-сообщения. | ||
− | |||
− | + | '''Доступные функции для направлений:''' | |
+ | * Существование. 0 — не существует, 1 - существует. | ||
+ | * Идентификатор. Если не существует, возвращает "''00000000-0000-0000-0000-000000000000''" | ||
+ | * Код. | ||
+ | * Название. | ||
+ | * Включено. Проверка активности, 0 - не активно, 1 - активно | ||
+ | * Выход во внешнюю сеть. 0 - есть, 1 - нет | ||
+ | * Количество линий. | ||
+ | * Количество свободных линий. | ||
+ | * Количество занятых линий. | ||
+ | * Количество линий, занятых исходящими звонками. | ||
+ | * Количество линий, занятых входящими звонками. | ||
+ | * Проверить принадлежность линии. В значении указывается GUID, код или номер линии. 0 - не принадлежит, 1 - принадлежит направлению. | ||
+ | * Найти свободную линию (без резервирования). Возвращает GUID-идентификатор линии. | ||
− | |||
− | + | '''Доступные функции для конференций:''' | |
+ | * Существование. 0 - не существует, 1 - существует. | ||
+ | * Время активности. Возвращает время существования конференции в секундах. | ||
+ | * Идентификатор. Уникальный GUID для конференции. | ||
+ | * Код идентификатора. Уникальный числовой код для конференции. | ||
+ | * Номер комнаты. | ||
+ | * Название. | ||
+ | * Описание. | ||
+ | * Идентификатор управляющего. | ||
+ | * Идентификатор создателя. | ||
+ | * Количество всех участников. | ||
+ | * Количество активных участников. | ||
+ | * Тип доступа. 11 — Открытое совещание, 12 - Закрытое, с возможностью подать заявку на вход, 13 — закрытое, вход только по приглашениям. | ||
+ | * Активность воспроизведения. Свойство определяет воспроизводится ли музыкальный файл в конференцию (с помощью компонента Статус Объекта, свойство "''Установить — Конференция — Воспроизвести файл''"). 0 - не воспроизводится, 1 - воспроизводится. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | '''Доступные функции для сессии (цепочки коммутаций):''' | |
− | + | * Существование. 1 - существует, 0 - не существует. | |
− | + | * Количество активных линий. Если нет, возвращает -1. | |
− | + | * Количество активных сценариев. Возвращает общее количество сценариев (IVR, служебных и диалоговых), запущенных под данной сессией. | |
+ | * Наличие активного обработчика задачи. Определяет, обрабатывается ли данный звонок по задаче Call-центра. 0 - нет, 1 - есть. | ||
+ | * Контент (XML). Полная информация о всех коммутациях по цепочке коммутаций в виде XML. | ||
+ | * Контент (JSON). Полная информация о всех коммутациях по цепочке коммутаций в виде JSON. | ||
+ | * Поле контента (заголовок). В контенте цепочки коммутаций это поле | ||
+ | :<code><nowiki><property_cdata key="custom" /></nowiki></code> | ||
+ | * Поле контента (коммутация). В контенте цепочки коммутаций для текущей коммутации это поле | ||
+ | :<code><nowiki><property_cdata key="custom"><![CDATA[]]></property_cdata></nowiki></code> | ||
− | |||
− | |||
− | |||
− | |||
− | + | '''Доступные функции для контактов:''' | |
+ | * Проверить группу. В поле "Группа" необходимо указать название группы контактов. 0 - не входит, 1 - входит. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | '''Доступные функции для сервера:''' | |
− | + | * Имя хоста сервера. | |
− | + | * Локальный IP-адрес. Один из локальных IP-адресов хоста. | |
− | + | * Все локальные IP-адреса. Перечень всех IP-адресов через точку с запятой. | |
− | + | * Внешний IP-адрес сервера (STUN-запрос). В качестве параметра может быть указан адрес конкретного stun-сервера. | |
− | + | * Значение конфигурации. В качестве параметра указывается ключ конфигурации. | |
− | + | * Рабочее время по графику офиса. В качестве параметра может быть указано значение дата/время. 0 - не рабочее время, 1 - рабочее время. | |
− | + | * Объем виртуальной памяти службы (в МБ). | |
+ | * Объем виртуальной памяти процесса HAL (в МБ). | ||
+ | * Количество подключенных пользователей. | ||
+ | * Количество внешних линий. | ||
+ | * Количество внутренних линий. | ||
+ | * Регистрационный номер. | ||
+ | * Количество пользователей в лицензии. | ||
+ | * Количество внешних линий в лицензии. | ||
+ | * Количество внутренних линий в лицензии. | ||
+ | * Дата следующего подтверждения лицензии. | ||
+ | <h3>Установка состояния.</h3> | ||
− | + | '''Доступные функции для задач:''' | |
+ | * Активность. В значении: 1 - активировать, 0 - деактивировоать. | ||
+ | * Очистить оперативную статистику. | ||
+ | * Синхронизировать таблицу абонентов с БД. | ||
+ | * [[Задачи:Дополнительно#ManualCall|Привязать к звонку оператора]]. В значении указывается ключ пользователя или json-форматированная строка, содержащая ключи-значения user и/или idinlist для указания идентификатора абонента в прикрепленной к задаче таблице абонентов. Например, <code>operatorMasha</code> или <code>{"user": "operatorMasha", "idinlist": 2}</code> | ||
+ | * Добавить оператора. В значении указывается ключ оператора (GUID, имя или логин). | ||
+ | * Удалить оператора. В значении указывается ключ оператора (GUID, имя или логин). | ||
+ | * Изменить количество линий. Используется для ограничения одновременного количества звонков по задаче. -1 — снять ограничение. | ||
− | |||
− | + | '''Доступные функции для пользователей:''' | |
+ | * Сохранить скриншот (в размерах 640х480 или переопределенных в [[Параметры файлов конфигурации#ScreenShotSize|конфигурационном файле сервера]]). В параметре указывается относительный (от папки \oktell\server) или абсолютный путь к файлу, куда изображение следует сохранить. Таймаут на исполнение 10 секунд. Например, <code>screens\1.png</code> или <code>C:\screens\2.png</code> | ||
+ | * [[Голосовые задачи#ManualCall|Привязать текущий звонок к задаче]] (дополнительно указывается ключ задачи или json-форматированная строка, содержащая ключи-значения task и/или idinlist для указания Id абонента в прикрепленной к задаче таблице абонентов). Например, <code>54C3F5F4-BD04-4EE7-9209-B3C4F2460643</code> или <code>{"task": "54C3F5F4-BD04-4EE7-9209-B3C4F2460643", "idinlist": 2}</code> | ||
+ | * Изменить статус. В значении: 1 — готов, 2 — перерыв, 3 — отключен (нет на месте), 5 — занят, | ||
+ | * Изменить признак занятости. В значении: 0-освободить, 1-занять. | ||
+ | * Изменить признак переадресации. В значении: 0-выключить, 1-включить. | ||
+ | * Ввести/вывести в перерыв. В значении: 0-вывести, 1-ввести. Для указания причины перерыва может быть указана комбинированная строка | ||
+ | :<code>[сам флаг];[код перерыва];[текстовое описание перерыва]</code>, например <code>1;-1;Обед</code>. | ||
+ | * Ввести/вывести в Call-центр. В значении: 0-вывести, 1-ввести. | ||
+ | * Ввести/вывести в ручной режим Call-центра. В значении: 0-вывести, 1-ввести. | ||
− | |||
− | + | '''Доступные функции для линий:''' | |
+ | * Разрыв (выполняется безусловно). Производит разрыв и отсоединение линии. | ||
+ | * Мягкий сброс. Производит разрыв с переключением в [[Параметры_АТС#Сценарий IVR вместо отбоя внешней линии|сценарий вместо отбоя]]. | ||
+ | * Выход из задачи при следующем переключении. В значении: 1 - применить, 0 - отменить. Фактически используется менеджером задач при обслуживании вызова с участием оператора. Установленный режим будет способствовать следующее переключение абонента на любой другой объект, отличный от оператора с выходом из задачи. Без использования компонента аналогичное действие можно достигнуть, выставив в настройках задачи режим «Выход из задачи при переключении на IVR». Подробно о режиме в разделе [[Голосовые задачи#Дополнительно|Call-центр.Голосовые задачи.Дополнительно]]. | ||
+ | * Название абонента. Отображается в [[Статистика АТС#Журнал звонков|журналах статистики]], а также при звонках на пользователей системы во всплывающем при входящем звонке окне и в разделе [[Телефон|программного телефона]]. | ||
+ | * Описание абонента. Отображается при звонках на пользователей системы во всплывающем при входящем звонке окне и в разделе [[Телефон|программного телефона]]. | ||
+ | * Приоритет очереди. Применяется до входа абонента в очередь. Изменение во время нахождения в очереди требует вывода и повторного ввода. После завершения коммутации сбрасывается в значение по умолчанию. Можно установить заранее, даже когда на линии абонент отсутствует. | ||
+ | * Поле контента линии. Только для внешних линий. Введенное значение записывается в контент линии (XML) в поле | ||
+ | :<code><nowiki><property_cdata key="custominfo"><![CDATA[]]></property_cdata></nowiki></code>. | ||
+ | * Поле контента цепочки (заголовок). Введенное значение записывается в контент цепочки коммутаций в поле | ||
+ | :<code><nowiki><property_cdata key="custom" /></nowiki></code> | ||
+ | * Поле контента цепочки (коммутация). Введенное значение записывается в контент цепочки коммутаций для текущей коммутации в поле | ||
+ | :<code><nowiki><property_cdata key="custom"><![CDATA[]]></property_cdata></nowiki></code> | ||
+ | * Разрешить DTMF-управление. Только для внешних линий. В значении 1 - разрешить, 0 - запретить. Позволяет на время текущей сессии разрешить исполнение команд (FLASH и управление конференциями) через DTMF. | ||
+ | * Перерегистрировать SIP-поток. Только для тех линий, по которым регистрация идет от Oktell (на стороне шлюза). | ||
+ | * DTMF в линию. Отправляет в линию DTMF-сигнал, указанный в значении. | ||
+ | * Воспроизвести файл в линию. Позволяет проиграть указанный звуковой файл в формате MP3 во время разговора. Если абонент соединен с IVR сценарием — музыкальный файл не воспроизводится. Если абонент находится в коммутации - музыкальный файл воспроизводится только в его линию. Если абонент находится в конференции - на время воспроизведения файла данный участник перестает слышать остальных. | ||
+ | * Воспроизвести файл в коммутацию/конференцию. Позволяет проиграть указанный звуковой файл в формате MP3 во время разговора. Дополнительно указывается звуковой файл в формате MP3. В значении указывается уровень громкости для воспроизведения от 0 (громко) до 8 (тихо). Проигрываемый файл в этом режиме слышат все участники разговора. Не воспроизводится, если абонент соединен с IVR. | ||
− | |||
− | + | '''Доступные функции для конференции:''' | |
+ | * Установить название. | ||
+ | * Установить описание. | ||
+ | * Обновить информацию у клиентов. Во всех клиентских приложениях обновляется название и описание конференции. | ||
+ | * Воспроизвести файл. Позволяет проиграть указанный звуковой файл в формате MP3 во время разговора. Проигрываемый файл слышат все участники конференции. | ||
+ | * Завершить конференцию. | ||
− | |||
− | + | '''Доступные функции для сессии:''' | |
+ | * Поле контента (заголовок). Введенное значение записывается в контент цепочки коммутаций в поле | ||
+ | :<code><nowiki><property_cdata key="custom" /></nowiki></code> | ||
+ | * Поле контента (коммутация). Введенное значение записывается в контент цепочки коммутаций для текущей коммутации в поле | ||
+ | :<code><nowiki><property_cdata key="custom"><![CDATA[]]></property_cdata></nowiki></code> | ||
+ | * Воспроизвести файл в коммутацию/конференцию. Позволяет проиграть указанный звуковой файл в формате MP3 во время разговора. Дополнительно указывается звуковой файл в формате MP3. В значении указывается уровень громкости для воспроизведения от 0 (громко) до 8 (тихо). Проигрываемый файл в этом режиме слышат все участники разговора. Не воспроизводится, если абонент соединен с IVR. | ||
− | |||
− | + | '''Доступные функции для сервера:''' | |
− | + | * Обновить список задач. Синхронизирует менеджер задач с базой данных, обновляя список задач и их свойства. | |
− | + | * Обновить общие настройки. Перезагружает текущие общие настройки, задаваемые в разделе ''[[Общие Настройки]]'', из БД. | |
− | + | * Перерегистрировать все SIP-потоки. | |
− | + | * [[Динамическое управление картой сети|Изменить карту сети]]. | |
+ | * Перезагрузить сервер состояний (выполняется безусловно). Производится действие, аналогичное нажатию кнопки «Применить» в любом из модулей администрирования. Сервер состояний инициализируется на основе информации в БД. | ||
+ | * Перезагрузить аппаратный модуль (выполняется безусловно). Производится переинициализация аппаратной подсистемы с завершением всех коммутаций и конференций. В случае, если аппаратный модуль настроен на работу в отдельном процессе, производится выгрузка процесса с последующим автоматическим его запуском. | ||
+ | * Перезагрузить службу сервера (выполняется безусловно). Действие производится сразу же без ожидания корректного завершения коммутаций и служебных сценариев. | ||
+ | * Перезагрузить серверную станцию (выполняется безусловно). Отдает команду операционной системе на полное завершение всех процессов с последующей перезагрузкой. | ||
+ | * Сборка мусора .NET. | ||
+ | * Произвести анализ памяти .NET. | ||
+ | * Обновить лицензионный сертификат. | ||
+ | * Добавить в бан-лист SIP. После применения сервер перестает принимать любые SIP-сообщения с указанного адреса или c указанным user-agent. В trn-логе пишется соответствующая информация "banned" (если включено [[Логирование#.D0.9F.D0.B0.D1.80.D0.B0.D0.BC.D0.B5.D1.82.D1.80.D1.8B_.D0.B0.D0.BF.D0.BF.D0.B0.D1.80.D0.B0.D1.82.D1.83.D1.80.D1.8B._.D0.9A.D0.BE.D0.BD.D1.84.D0.B8.D0.B3.D1.83.D1.80.D0.B0.D1.86.D0.B8.D1.8F|логирование сетевых атак]]). В значении следует указать IP-адрес, например <code>3.14.15.92</code>, или user-agent, например <code>angry-scanner</code> | ||
+ | * Удалить из бан-листа SIP. После применения сервер снова начинает принимать SIP-запросы с указанного адреса. В значении следует указать IP-адрес, например <code>3.14.15.92</code>, или user-agent, например <code>angry-scanner</code> | ||
+ | * Добавить в бан-лист App, WS, HTTP. После применения сервер перестает принимать web-запросы с указанного IP-адреса. В значении следует указать IP-адрес, например <code>3.14.15.92</code>. | ||
+ | * Удалить из бан-листа App, WS, HTTP. После применения сервер снова начинает принимать web-запросы с указанного IP-адреса. В значении следует указать IP-адрес, например <code>3.14.15.92</code>. | ||
+ | |- | ||
+ | |Значение в переменную | ||
+ | |Доступно только для действия «Определить». | ||
+ | Переменная, в которую заносится результат вычисления функции. | ||
+ | |- | ||
+ | |Значение | ||
+ | |Доступно только для действия «Установить». | ||
+ | Аргумент, значение которого вычисляется для установки состояния. | ||
+ | |- | ||
+ | |Идентификатор в переменную | ||
+ | |Доступно только для действия «Создать». | ||
+ | Переменная, в которую заносится идентификатор вновь созданного объекта. | ||
+ | |- | ||
+ | |Переход | ||
+ | |Компонент, на который передается управление. | ||
+ | |- | ||
+ | |Имя | ||
+ | |Название компонента для отображения в визуальной среде и выбора в списке. | ||
+ | |} | ||
− | |||
− | |||
− | |||
− | |||
− | + | <div id="SQL"></div> | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ==[[Файл:cl_cc_scr_i11.png|left]]Запрос в базу данных== | |
− | + | ||
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Позволяет производить действия в БД, а также передавать параметры (на вход и на выход). В качестве параметров выступают переменные сценария. Обращение к БД происходит по одной из выбранных технологий: ADO, OLE, ODBC. Для запросов во внешние БД необходимо заполнить строку подключения с помощью помощника – построителя. В случае ошибки переход осуществляется по ветке «Ошибка», и в переменную «Код ошибки» возвращается соответствующий код исключения БД. | Позволяет производить действия в БД, а также передавать параметры (на вход и на выход). В качестве параметров выступают переменные сценария. Обращение к БД происходит по одной из выбранных технологий: ADO, OLE, ODBC. Для запросов во внешние БД необходимо заполнить строку подключения с помощью помощника – построителя. В случае ошибки переход осуществляется по ветке «Ошибка», и в переменную «Код ошибки» возвращается соответствующий код исключения БД. | ||
+ | '''Свойства''': | ||
− | + | {|cellpadding="10" cellspacing="0" border="1" | |
− | + | |SQL запрос | |
− | + | |Окно ввода запроса в формате SQL. В нем вы можете проверить запрос, а также исполнить в базе в момент создания. Параметры запроса в виде переменных SQL обозначаются маркером «@» в начале имени («:» в начале имени для OLE, Oracle, или «?» для входных параметров ODBC). Встроенный парсер разберет параметры и предложит сопоставить им переменные сценария. Входные параметры запроса получат значение из соответствующих переменных сценария перед выполнением запроса, выходные параметры занесут свои значения в переменные сценария после выполнения запроса. Также, если в возвращаемой выборке название какого-либо поля совпадает с названием внутренней переменной сценария, в нее будет занесено соответствующее значение из выборки. | |
− | + | ||
− | SQL запрос | + | |
− | + | ||
− | + | ||
На вкладке «Подключение» вы можете выбрать один из вариантов подключения к БД. Это используется в большей части для получения индивидуальных нестандартных настроек, а также при подключении к внешним БД. В случае использования общего формата ADO, OLE или ODBC (а также подключения по отдельно выделенным каналам к БД Oracle) необходимо заполнить строку подключения. В строке и определяются индивидуальные настройки. Например, таймаут ожидания ответа, или драйвер для подключения к различным СУБД при использовании технологии ODBC. В окне помощника формирования строки подключения вы можете увидеть все доступные для использования параметры и их описания. | На вкладке «Подключение» вы можете выбрать один из вариантов подключения к БД. Это используется в большей части для получения индивидуальных нестандартных настроек, а также при подключении к внешним БД. В случае использования общего формата ADO, OLE или ODBC (а также подключения по отдельно выделенным каналам к БД Oracle) необходимо заполнить строку подключения. В строке и определяются индивидуальные настройки. Например, таймаут ожидания ответа, или драйвер для подключения к различным СУБД при использовании технологии ODBC. В окне помощника формирования строки подключения вы можете увидеть все доступные для использования параметры и их описания. | ||
− | + | В случае необходимости плотного взаимодействия с внешней СУБД, обилия хранимых процедур, запросов и их параметров рекомендуется настроить прилинкованный сервер СУБД в MS SQL Server и работать с внешней СУБД по правилам, определяемым TSQL. Подробнее о процедуре подключения линкованных серверов можно узнать в разделе [[Подключение внешних БД]] | |
− | В случае необходимости плотного взаимодействия с внешней СУБД, обилия хранимых процедур, запросов и их параметров рекомендуется настроить прилинкованный сервер СУБД в MS SQL Server и работать с внешней СУБД по правилам, определяемым TSQL. Подробнее о процедуре подключения линкованных серверов можно узнать в разделе | + | |
− | + | ||
Формат самих запросов SQL вне рамок данного описания. | Формат самих запросов SQL вне рамок данного описания. | ||
− | + | |- | |
− | Таймаут | + | |Таймаут |
− | + | |Устанавливает временное ограничение выполнения запроса на сервере БД. По умолчанию 30 секунд. | |
− | + | ||
В случае, если используется уникальная строка подключения, таймаут может быть установлен в ней (Command Time Out). Если значением является 0, таймаут особым образом не устанавливается и применятся таймаут по умолчанию для созданного подключения (берется из строки подключения или из параметров соответствующего драйвера). | В случае, если используется уникальная строка подключения, таймаут может быть установлен в ней (Command Time Out). Если значением является 0, таймаут особым образом не устанавливается и применятся таймаут по умолчанию для созданного подключения (берется из строки подключения или из параметров соответствующего драйвера). | ||
− | |||
Не применяется при подключении к Oracle. | Не применяется при подключении к Oracle. | ||
− | + | |- | |
− | Код ошибки | + | |Код ошибки |
− | + | |Переменная, в которую сохранится код возврата. | |
− | + | |- | |
− | Переход | + | |Переход |
− | + | |Компонент, на который передается управление после успешной транзакции. | |
− | + | |- | |
− | Переход, ошибка | + | |Переход, ошибка |
− | + | |Компонент, на который передается управление при появлении исключительной ситуации. В переменную свойства «Код ошибки» попадает код полученного исключения из сервера БД. | |
− | + | |- | |
− | Имя | + | |Имя |
− | + | |Название компонента для отображения в визуальной среде и выбора в списке. | |
− | + | |} | |
− | |||
− | + | <div id="WebRequest"></div> | |
− | + | ==[[Файл:cl_cc_scr_i12.png|left]]Запрос к WEB-сервису== | |
− | + | Позволяет выполнять запросы к web-сервисам в форматах get, post, put, head, delete. На вход может передавать указанным образом заполненную структуру XML документа. Прием данных и их обработку осуществляет также согласно прикрепленной к компоненту структуре XML документа. В случае ошибки переход осуществляется по ветке «Ошибка», и в переменную «Код ошибки» возвращается соответствующий код исключения. Для детального разбора ответа может быть использован совместно с компонентом «Парсер»: сохранив ответ в строковой переменной, его дальнейший анализ производится совокупностью других компонентов сценария. | |
− | + | ||
− | + | ||
− | + | ||
− | Позволяет выполнять запросы к web-сервисам в форматах get | + | |
Компонент поддерживает работу в сессиях, сохраняя и используя COOKIE, а также HTTPS и подтверждение сертификатов. | Компонент поддерживает работу в сессиях, сохраняя и используя COOKIE, а также HTTPS и подтверждение сертификатов. | ||
− | |||
− | Свойства: | + | '''Свойства''': |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
+ | {|cellpadding="10" cellspacing="0" border="1" | ||
+ | |URL | ||
+ | |Переменная, определяющая адрес web-сервера | ||
+ | |- | ||
+ | |Прокси-сервер | ||
+ | |Свойство, определяющее источник настроек для подключения к прокси-серверу. | ||
+ | *Не использовать — подключение выполняется напрямую к серверу ICQ/Jabber, минуя прокси. | ||
+ | *Согласно общим настройкам — используется режим подключения, заданный в общих настройках комплекса (отдельно разделы ICQ-сервис и Jabber-сервис). | ||
+ | *Настроить индивидуально — используются настройки, указанные в данном компоненте | ||
+ | |- | ||
+ | |Адрес прокси-сервера | ||
+ | |Доступно, если выбраны индивидуальные настройки прокси-сервере. Адрес прокси-сервера. | ||
+ | |- | ||
+ | |Порт прокси-сервера | ||
+ | |Доступно, если выбраны индивидуальные настройки прокси-сервере. Порт прокси-сервера. | ||
+ | |- | ||
+ | |Авторизация на прокси | ||
+ | |Да/Нет. Доступно, если выбраны индивидуальные настройки прокси-сервере. Свойство, отвечающее за необходимость авторизации на прокси-сервер. | ||
+ | |- | ||
+ | |Логин для авторизации на прокси | ||
+ | |Доступно, если необходима авторизация на прокси. Логин учетной записи на прокси-сервере | ||
+ | |- | ||
+ | |Пароль для авторизации на прокси | ||
+ | |Доступно, если необходима авторизация на прокси. Пароль учетной записи на прокси-сервере | ||
+ | |- | ||
+ | |Базовая авторизация | ||
+ | |Свойство, определяющее необходимости использования авторизация на web-сервере | ||
+ | *Не использовать — подключение выполняется без авторизации | ||
+ | *По логину и паролю — подключение выполняется с указанным логином и паролем | ||
+ | |- | ||
+ | |Логин для базовой авторизации | ||
+ | |Доступно, если выбрано использование базовой авторизации. Логин для авторизации на web-сервере | ||
+ | |- | ||
+ | |Пароль для базовой авторизации | ||
+ | |Доступно, если выбрано использование базовой авторизации. Пароль для авторизации на web-сервере | ||
+ | |- | ||
+ | |Максимальное число перенаправлений | ||
+ | |Устанавливает ограничение на количество перенаправлений при отправке запроса. По умолчанию свойство не задано, что эквивалентно ограничению в 20 перенаправлений - недостижимое в нормальных условиях значение. 0 - полностью игнорирует перенаправления. | ||
При каждом перенаправлении cookie-файлы накапливаются и передаются дальше. | При каждом перенаправлении cookie-файлы накапливаются и передаются дальше. | ||
− | + | |- | |
− | Тип контента | + | |Метод |
− | + | |POST / GET / PUT / HEAD / DELETE | |
− | + | В случае POST, PUT, HEAD, DELETE запроса становится доступным формирование и отправка контента. | |
− | Например | + | |- |
− | + | |Тип контента | |
− | + | |Доступно только для методов POST, PUT, HEAD, DELETE. Строка contenttype, подставляемая в отсылаемый запрос. Например, | |
− | + | * application/x-www-form-urlencoded | |
− | + | * text/xml | |
− | + | * text/html | |
− | + | * text/plain | |
− | + | ||
− | + | ||
− | + | ||
Допускается указание других строк. | Допускается указание других строк. | ||
− | + | |- | |
− | + | |Тип запроса | |
− | + | |XML / Аргумент. | |
− | + | Доступно только для методов POST, PUT, HEAD, DELETE. Вариант определения тела запроса - формирование в специальной форме с подстановкой переменных, либо на базе указанного аргумента. | |
− | Тип запроса | + | |- |
− | + | |Запрос | |
− | + | |Доступно только для методов POST, PUT, HEAD, DELETE. В зависимости от выбранного значения свойства «Тип запроса» это либо форма, определяющая структуру запроса и подстановку в качестве параметров аргументов (переменных) сценария, либо форма выбора строкового аргумента. | |
− | Доступно только для | + | |- |
− | + | |Кодировка запроса | |
− | Запрос | + | |Определяет в какой кодировке передается тело запроса. В списке возможных вариантов: |
− | + | * Unicode | |
− | + | * UTF-8 | |
− | В зависимости от выбранного значения свойства «Тип запроса» это либо форма, определяющая структуру запроса и подстановку в качестве параметров аргументов (переменных) сценария, либо форма выбора строкового аргумента. | + | * UTF-7 |
− | + | * Текущая кодовая страница Windows | |
− | Кодировка запроса | + | * Windows-1251 |
− | + | * Указанная кодовая страница Windows | |
− | + | |- | |
− | + | |Кодовая страница Windows для запроса | |
− | + | |Доступно только при выборе кодировки запроса «Указанная кодовая страница Windows». | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | Кодовая страница Windows для запроса | + | |
− | + | ||
− | + | ||
Числовой аргумент, определяющий кодовую страницу Windows для формирования запроса. | Числовой аргумент, определяющий кодовую страницу Windows для формирования запроса. | ||
− | + | |- | |
− | Режим работы | + | |Дополнительные заголовки |
− | + | |Позволяет переопределить некоторые стандартные заголовки, а также установить новые персональные заголовки. | |
− | + | Строковый аргумент, подразумевающий многострочное присутствие одного или нескольких заголовков в виде: | |
− | + | HeaderName1: Value1 | |
− | + | HeaderName2: Value2 | |
− | + | |- | |
− | + | |Дополнительные cookie | |
− | + | |Позволяет установить дополнительные cookie значения. | |
− | + | Строковый аргумент, подразумевающий присутствие одного или нескольких дуплетов "ключ=значение", разделенных переводом строки, запятой или точкой с запятой. | |
− | + | |- | |
− | + | |Режим работы | |
− | + | |Определяет режим работы компонента. Один из четырех вариантов: | |
− | Таймаут, секунды | + | * Ожидание результата. Компонент завершает свою работу только после получения ответа от сервера, ошибки сокета или принудительного завершения работы сценария (по обрыву связи). Во всех случаях кроме последнего производится анализ результата и сохранение значений в соответствии с настройками компонента. |
− | + | * Асинхронный запуск. Запускает асинхронную процедуру запроса к серверу и мгновенно возвращает управление. Ответ сервера не сохраняется и не анализируется. Запрос продолжает выполняться даже после завершения работы сценария. | |
− | + | * Обрыв по таймауту. Ожидает ответа сервера не дольше установленного времени, после чего обрывает запрос и возвращает управление. Если ответ сервера получен в промежутке до таймаута, то производится анализ результата и сохранение значений в соответствии с настройками компонента. В случае принудительного завершения работы сценария (по обрыву связи) выполнение запроса обрывается. | |
− | Тип ответа | + | * Выход по таймауту. Ожидает ответа сервера не дольше установленного времени, после чего возвращает управление, оставляя запрос работать асинхронно. Если ответ сервера получен в промежутке до таймаута, то производится анализ результата и сохранение значений в соответствии с настройками компонента. В противном случае ответ сервера не сохраняется (так как сценарий может быть уже завершен). В случае принудительного завершения работы сценария (по обрыву связи) запрос продолжает выполняться. |
− | + | |- | |
− | + | |Таймаут, секунды | |
− | Ответ(XML) | + | |Определяет таймаут, после которого компонент завершит свою работу в соответствии с выбранным режимом работы. Доступно только для режимов обрыва и выхода по таймауту. |
− | + | |- | |
− | + | |Тип ответа | |
− | Ответ | + | |XML / TEXT. Определяет, в каком режиме производить сохранение полученного ответа - парсить XML или сохранять в строковую переменную для дальнейшего анализа. Недоступно для асинхронного режима. |
− | + | |- | |
− | + | |Ответ(XML) | |
− | Кодировка ответа | + | |Если выбран "Тип ответа" — XML. Форма, определяющая структуру стандартного ответа сервера и характер распределения выходных значений по переменным сценария. Поддерживает только строгое соответствие дерева XML. Недоступно для асинхронного режима. |
− | + | |- | |
− | + | |Ответ в переменную | |
− | + | |Если выбран "Тип ответа" — Текст. Переменная, в которую сохранится текст ответа. Недоступно для асинхронного режима. | |
− | + | |- | |
− | + | |Кодировка ответа | |
− | + | |Определяет в какой кодировке форматировать тело ответа. В списке возможных вариантов: | |
− | + | * Unicode | |
− | + | * UTF-8 | |
− | + | * UTF-7 | |
− | + | * Текущая кодовая страница Windows | |
− | + | * Windows-1251 | |
− | + | * Указанная кодовая страница Windows | |
− | + | * Авто (заголовок) | |
− | + | * Авто (метатэги, заголовок) | |
− | + | |- | |
− | + | |Кодовая страница Windows для ответа | |
− | + | |Доступно только при выборе кодировки ответа «Указанная кодовая страница Windows». | |
− | + | ||
− | + | ||
− | Кодовая страница Windows для ответа | + | |
− | + | ||
− | + | ||
Числовой аргумент, определяющий кодовую страницу Windows для разбора ответа. | Числовой аргумент, определяющий кодовую страницу Windows для разбора ответа. | ||
− | + | |- | |
− | Код ошибки | + | |Заголовки ответа в переменную |
− | + | |Переменная, в которую сохранятся заголовки ответа | |
− | + | |- | |
− | Переход | + | |Код ошибки в переменную |
− | + | |Переменная, в которую сохранится код возврата сценария. | |
− | + | Если был получен ответ от web-сервиса, то код ошибки совпадает с кодом состояния HTTP. | |
− | Переход, таймаут | + | В противном случае это внутренние коды ошибок работы компонента: |
− | + | * 661 - истёк таймаут установления подключения (10 секунд) для отправки данных | |
− | + | * 662 - не удалось установить соединение для отправки данных | |
− | Переход, ошибка | + | * 663 - истёк таймаут отправки тела запроса |
− | + | * 664 - ошибка при завершении отправки тела запроса | |
− | + | * 1 - прочие ошибки. Конкретная информация об ошибке попадёт в серверный лог Exception | |
− | Имя | + | |- |
− | + | |Переход | |
− | + | |Компонент, на который передается управление после успешной транзакции. | |
+ | |- | ||
+ | |Переход, таймаут | ||
+ | |Компонент, на который передается управление в случае, если выход осуществляется по таймауту. | ||
+ | |- | ||
+ | |Переход, ошибка | ||
+ | |Компонент, на который передается управление, если web-сервис не доступен или вернул ошибку. | ||
+ | |- | ||
+ | |Имя | ||
+ | |Название компонента для отображения в визуальной среде и выбора. | ||
+ | |} | ||
− | |||
− | + | <div id="Parser"></div> | |
− | + | ==[[Файл:cl_cc_scr_i27.png|left]]Парсер (XML, HTML, текст)== | |
− | + | ||
− | + | ||
Осуществляет разбор любых текстовых структур. Может использоваться метод регулярных выражений или встроенный анализатор гипертекста OQuery. Согласно строке поиска формирует ответ, либо вырезает запрошенный раздел или их совокупность, либо определяет количество элементов в указанном разделе структуры. Сложные структуры могут быть разобраны последовательностью элементов «Парсер». Каждый из которых выделяет из документа некоторую структуру и возвращает ее на вход следующего элемента. | Осуществляет разбор любых текстовых структур. Может использоваться метод регулярных выражений или встроенный анализатор гипертекста OQuery. Согласно строке поиска формирует ответ, либо вырезает запрошенный раздел или их совокупность, либо определяет количество элементов в указанном разделе структуры. Сложные структуры могут быть разобраны последовательностью элементов «Парсер». Каждый из которых выделяет из документа некоторую структуру и возвращает ее на вход следующего элемента. | ||
Строка 816: | Строка 701: | ||
В общем случае производится разбор HTML, XML структур различного формата. На уровне сценария могут быть организованы циклы и условия. Чаще применяется для разбора ответов веб-сервисов компонентом «Web-запрос». | В общем случае производится разбор HTML, XML структур различного формата. На уровне сценария могут быть организованы циклы и условия. Чаще применяется для разбора ответов веб-сервисов компонентом «Web-запрос». | ||
− | + | Подробнее о компоненте можете прочитать в статье [[Компонент Парсер]] | |
− | Документ | + | {|cellpadding="10" cellspacing="0" border="1" |
− | + | |Документ | |
− | + | |Аргумент, содержащий текстовую структуру, подлежащую разбору. | |
− | Алгоритм | + | |- |
− | + | |Алгоритм | |
+ | |Метод разбора: | ||
+ | * Регулярные выражения. | ||
+ | * Язык OQuery для HTML. | ||
+ | * Парсер JSON | ||
+ | |- | ||
+ | |Поисковый запрос | ||
+ | |Строка запроса для соответствующего алгоритма. Язык регулярных выражений совпадает со стандартом .NET. Синтаксис языка OQuery и JSON описан ниже. | ||
+ | |- | ||
+ | |Функция | ||
+ | |Тип запроса (возвращаемого значения) | ||
− | + | В зависимости от выбранного алгоритма допускает выбор одного из возможных вариантов. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Для регулярных выражений доступны: | |
+ | * Содержимое. | ||
+ | * Количество найденных. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
Для OQuery доступны: | Для OQuery доступны: | ||
+ | * Документ. Возвращает текст структуры с обрамляющими тэгами. | ||
+ | * Содержимое. Возвращает текст структуры без обрамляющих тэгов. | ||
+ | * Количество элементов. Возвращает число - количество найденных структур, расположенных согласно поисковому запросу на одном уровне. | ||
+ | * Значение атрибута. | ||
+ | * Имя атрибута. | ||
+ | * Количество атрибутов. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | Для JSON доступны: | ||
+ | * Содержимое. Возвращает текст структуры - значение элемента, объект или массив. Значение элемента возвращается в кавычках. | ||
+ | * Восстановленное содержимое. То же, что и содержимое, но возвращает значение элемента без кавычек. | ||
+ | * Количество элементов. Возвращает число - количество вложенных элементов, объектов, массивов. | ||
+ | |- | ||
+ | |Номер элемента | ||
+ | |Доступно для регулярных выражений и языка OQuery. | ||
+ | Аргумент, определяющий порядковый номер структуры на случай, если поисковый запрос нашел несколько результатов. Нумерация у парсера OQuery начинается с 1, нумерация в случае регулярных выражения и парсера JSON начинается с 0. | ||
+ | |- | ||
+ | |Атрибут | ||
+ | |Доступно только для алгоритма OQuery и функций, связанных с атрибутами. | ||
+ | Аргумент, определяющий параметры интересующего атрибута. | ||
Функция "Значение атрибута" ждет в качестве значения аргумента имя или порядковый номер атрибута. | Функция "Значение атрибута" ждет в качестве значения аргумента имя или порядковый номер атрибута. | ||
− | |||
Функция "Имя атрибута" ждет в качестве значения аргумента порядковый номер атрибута. | Функция "Имя атрибута" ждет в качестве значения аргумента порядковый номер атрибута. | ||
− | + | |- | |
− | Результат в переменную | + | |Результат в переменную |
− | + | |Переменная, в которую будет сохранен результат применения поискового запроса к документу (число или часть текста вырезанного или сформированного). | |
− | + | |- | |
− | Переход | + | |Переход |
− | + | |Компонент, на который передается управление в случае корректного выполнения поискового запроса. | |
− | + | |- | |
− | Переход, неудача | + | |Переход, неудача |
− | + | |Компонент, на который передается управление в случае неудачи при разборе. | |
− | + | |- | |
− | Имя | + | |Имя |
− | + | |Название компонента для отображения в визуальной среде и выбора в списке. | |
− | + | |} | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | ===Синтаксис языка OQuery=== | ||
+ | Запрос - это набор команд. Запрос пишется в одну строчку и выполняется в порядке перечисления (слева направо). Для тестирования запросов можно воспользоваться программой [[Media:OQuery-tester.zip|'''OQuery-tester.exe''']]. | ||
Уровни: | Уровни: | ||
+ | {|cellpadding="10" cellspacing="0" border="1" | ||
+ | |* | ||
+ | |Все элементы | ||
+ | |- | ||
+ | |> | ||
+ | |Все дочерние элементы | ||
+ | |- | ||
+ | |^ | ||
+ | |Корневые элементы (содержатся на нулевом уровне искомой структуры) | ||
+ | |- | ||
+ | |пробел | ||
+ | |Все элементы кроме корневых | ||
+ | |} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Простые команды: | Простые команды: | ||
− | + | {|cellpadding="10" cellspacing="0" border="1" | |
− | название тега документа | + | |название тега документа |
− | + | |Теги, английские буквы и цифры (начинаются на букву). | |
− | + | ||
Пример: ^TITLE - найдет тег TITLE в корне | Пример: ^TITLE - найдет тег TITLE в корне | ||
− | + | |- | |
− | #значение | + | |#значение |
− | + | |Возвращает теги, у которых атрибут id равен указанному значению. | |
− | + | ||
Пример: FORM#32 - найдет все теги FORM, у которых атрибут id равен 32 ( <FORM class=a id=32> ) | Пример: FORM#32 - найдет все теги FORM, у которых атрибут id равен 32 ( <FORM class=a id=32> ) | ||
− | + | |- | |
− | [название=значение] | + | |[название=значение] |
− | + | |Возвращает теги, в теле которых присутствует атрибут с соответствующим названием и значением. | |
− | + | ||
Пример: TABLE[width=90%] | Пример: TABLE[width=90%] | ||
− | + | |- | |
− | .значение | + | |.значение |
− | + | |Возвращает теги, у которых атрибут class равен указанному значению. | |
− | + | ||
Пример: INPUT.b.c - найдет теги, у которых атрибут class содержит b и c ( <INPUT class="a b c" /> ) | Пример: INPUT.b.c - найдет теги, у которых атрибут class содержит b и c ( <INPUT class="a b c" /> ) | ||
− | + | |} | |
− | |||
Примечание: Результат не зависит от порядка перечисления команд. Например TABLE#big.sample = TABLE.sample#big - найдет теги, у которых атрибут id = big и атрибут class содержит sample. | Примечание: Результат не зависит от порядка перечисления команд. Например TABLE#big.sample = TABLE.sample#big - найдет теги, у которых атрибут id = big и атрибут class содержит sample. | ||
− | |||
− | |||
− | |||
Операции сравнения: | Операции сравнения: | ||
+ | {|cellpadding="10" cellspacing="0" border="1" | ||
+ | |= | ||
+ | |Знак полного совпадения значения аттрибута. Пример: TABLE[width=90%] | ||
+ | |- | ||
+ | |^= | ||
+ | |Начинается со значения. Пример:<nowiki>IMG[src^="http://bulmas.ru/images"]</nowiki> | ||
+ | |- | ||
+ | |$= | ||
+ | |Заканчивается значением. Пример: IMG[src$=".gif"] | ||
+ | |- | ||
+ | |*= | ||
+ | |Значение содержится где-то в центре. Пример: IMG[src*="erotic"] | ||
+ | |} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Суффиксы: | Суффиксы: | ||
+ | {|cellpadding="10" cellspacing="0" border="1" | ||
+ | |:first | ||
+ | |Возвращает первый элемент коллекции. Пример: TD:first | ||
+ | |- | ||
+ | |:last | ||
+ | |Возвращает последний элемент коллекции. Пример: UL:last | ||
+ | |- | ||
+ | |:parent | ||
+ | |Возвращает родительские теги элементов коллекции. Пример: TABLE>TD>A:parent:parent | ||
+ | |} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Простые функции - команды с параметрами: | Простые функции - команды с параметрами: | ||
− | + | {|cellpadding="10" cellspacing="0" border="1" | |
− | :gt(позиция) | + | |:gt(позиция) |
− | + | |Возвращает элементы начиная с текущей позиции. Пример: TD:gt(10) | |
− | + | |- | |
− | :lt(позиция) | + | |:lt(позиция) |
− | + | |Возвращает элементы до текущей позиции включительно. Пример: TD:lt(15) | |
− | + | |- | |
− | :eq(позиция) | + | |:eq(позиция) |
− | + | |Возвращает элемент соответсвующей позиции, если число отрицательное, то с конца. Пример: TD:eq(-3) третий тег с конца. | |
− | + | |- | |
− | :eq(начало,конец) | + | |:eq(начало,конец) |
− | + | |Возвращает набор элементов от начальной до конечной позиции, если числа отрицательные, то с конца. | |
− | + | ||
Пример: TD:eq (10,24) - Аналог TD:eq(10):lt(15) | Пример: TD:eq (10,24) - Аналог TD:eq(10):lt(15) | ||
− | |||
Пример: TD:eq(-1,-3) - возвращает последние 3 элемента | Пример: TD:eq(-1,-3) - возвращает последние 3 элемента | ||
− | |||
eq, equal, range - синонимы | eq, equal, range - синонимы | ||
− | + | |} | |
− | |||
− | |||
− | |||
Сложные функции - команды, которым в качестве параметра можно передавать набор команд: | Сложные функции - команды, которым в качестве параметра можно передавать набор команд: | ||
− | + | {|cellpadding="10" cellspacing="0" border="1" | |
− | :has(OQuery-запрос) | + | |:has(OQuery-запрос) |
− | + | |Возвращает теги, содержащие другие теги, которые удовлетворяют указанному OQuery-запросу. | |
− | + | ||
Пример: TABLE:has(^TD>A) - аналог TABLE>TD>A:parent:parent | Пример: TABLE:has(^TD>A) - аналог TABLE>TD>A:parent:parent | ||
− | + | |- | |
− | :not(OQuery-запрос) | + | |:not(OQuery-запрос) |
− | + | |Возвращает теги не удовлетворяющие указанному OQuery-запросу. | |
− | + | Пример: A:not(<nowiki>[href=http://bulmas.ru]</nowiki>) - найдет все теги A, которые не ссылаются на <nowiki>http://bulmas.ru.</nowiki> | |
− | Пример: A:not([href=http://bulmas.ru]) - найдет все теги A, которые не ссылаются на http://bulmas.ru. | + | |
− | + | ||
Или: A:eq(1,10):not(:eq(2)) - Все теги A по порядку от 1 до 10, кроме второго. | Или: A:eq(1,10):not(:eq(2)) - Все теги A по порядку от 1 до 10, кроме второго. | ||
− | + | |} | |
− | |||
Пример: Результат следующих запросов разный | Пример: Результат следующих запросов разный | ||
− | A:has(:not(IMG)) - все теги A, которые содержат не IMG | + | :A:has(:not(IMG)) - все теги A, которые содержат не IMG |
− | + | :A:not(:has(IMG)) - все теги A, которые не содержат IMG | |
− | A:not(:has(IMG)) - все теги A, которые не содержат IMG | + | |
− | |||
− | |||
− | |||
Операции и знаки: | Операции и знаки: | ||
− | + | {|cellpadding="10" cellspacing="0" border="1" | |
− | запрос1 , запрос2 | + | |запрос1 , запрос2 |
− | + | |Запятая (логическое "или"), для перечисления запросов. | |
− | + | Примеры: *A>IMG,>TABLE - вернет все IMG, содержащиеся в A, и TABLE содержащиеся в корне. | |
− | *A>IMG,>TABLE - вернет все IMG, содержащиеся в A, и TABLE содержащиеся в корне. | + | |
− | + | ||
INPUT([value="Петр"],[value="Виктор"]) - все INPUT со значениями "Петр" или "Виктор". | INPUT([value="Петр"],[value="Виктор"]) - все INPUT со значениями "Петр" или "Виктор". | ||
− | + | |- | |
− | запрос1 + запрос2 | + | |запрос1 + запрос2 |
− | + | |Плюс, найдет теги удовлетворяющие запросу1, за которым идут теги удовлетворяющие запросу2. | |
− | + | |- | |
− | запрос1 - запрос2 | + | |запрос1 - запрос2 |
− | + | |Минус, найдет теги удовлетворяющие запросу1 перед которым идут теги, удовлетворяющие запросу2. | |
− | + | |} | |
− | |||
Примечание: Операции могут объединять и более двух запросов например A + IMG + #num - вернет все теги A, за которыми идут теги IMG, за которым в свою очередь идут теги с id="num". | Примечание: Операции могут объединять и более двух запросов например A + IMG + #num - вернет все теги A, за которыми идут теги IMG, за которым в свою очередь идут теги с id="num". | ||
− | |||
− | |||
− | |||
Скобки: | Скобки: | ||
− | + | {|cellpadding="10" cellspacing="0" border="1" | |
− | () | + | |() |
− | + | |Скобки, для объединения команд одинакового приоритета. | |
− | + | ||
Пример: (FONT,A)(:has(IMG),:has(SPAN)) - теги FONT и A содержащие IMG или SPAN, | Пример: (FONT,A)(:has(IMG),:has(SPAN)) - теги FONT и A содержащие IMG или SPAN, | ||
− | |||
Аналог (FONT:has(IMG), FONT:has(SPAN), A:has(IMG), A:has(SPAN)) | Аналог (FONT:has(IMG), FONT:has(SPAN), A:has(IMG), A:has(SPAN)) | ||
− | + | |} | |
− | |||
− | |||
− | |||
Наборы команд: | Наборы команд: | ||
+ | {|cellpadding="10" cellspacing="0" border="1" | ||
+ | |^FONT | ||
+ | |все теги FONT корневого (нулевого) уровня. | ||
+ | |- | ||
+ | |>FONT | ||
+ | |все теги FONT первого уровня. | ||
+ | |- | ||
+ | |*FONT | ||
+ | |все теги FONT. | ||
+ | |- | ||
+ | |*>FONT | ||
+ | |все теги FONT кроме корня. | ||
+ | |- | ||
+ | |*>>FONT или >*>FONT | ||
+ | |все теги FONT начиная со второго уровня. | ||
+ | |- | ||
+ | |A>>B | ||
+ | |все теги B находящиеся на втором уровне у A. | ||
+ | |} | ||
− | + | ===Рекомендации=== | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | Рекомендации | + | |
Время выполнения запроса в основном зависит от размера исходного текста и количетсва тегов в нем, и значительно меньше от длины самого запроса. | Время выполнения запроса в основном зависит от размера исходного текста и количетсва тегов в нем, и значительно меньше от длины самого запроса. | ||
− | + | Если данные нужно получать в цикле, постарайтесь сначала сократить размер исходного текста. | |
− | + | ||
− | Если данные нужно получать в цикле, постарайтесь | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
+ | Например, если хотим вернуть прогноз погоды в Казани с содержимого сайта <nowiki>"http://weather.yandex.ru/?city=27595"</nowiki> (Около 50кб) за последние 10 дней, можно воспользоваться запросами | ||
+ | tr.data.day>td>b:eq(1) | ||
+ | tr.data.day>td>b:eq(2) | ||
+ | tr.data.day>td>b:eq(3) | ||
и т. д. | и т. д. | ||
− | + | Каждый запрос выполняется примерно ~50мс. Итого: ~500мс | |
− | + | Но можно поступить следующим образом: Организуется цепочка из нескольких компонентов «Парсер», первый из которых забирает все нужные теги <nowiki><B></nowiki> запросом <nowiki>tr.data.day>td>b</nowiki> (~50мс) в переменную сценария. Далее в цикле сценария следующими компонентами забираются соответствующие значения | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | Но можно поступить следующим образом: Организуется цепочка из нескольких компонентов «Парсер», первый из которых забирает все нужные теги <B> запросом tr.data.day>td>b (~50мс) в переменную сценария. Далее в цикле сценария следующими компонентами забираются соответствующие значения | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
+ | <nowiki>:eq(1)</nowiki> | ||
+ | <nowiki>:eq(2)</nowiki> | ||
+ | <nowiki>:eq(3)</nowiki> | ||
и т. д. | и т. д. | ||
− | |||
− | |||
Каждый запрос выполняется примерно ~0.2мс. Итого время выполнения ~50мс. Получается тот же результат, но в 10 раз быстрее. | Каждый запрос выполняется примерно ~0.2мс. Итого время выполнения ~50мс. Получается тот же результат, но в 10 раз быстрее. | ||
− | |||
− | + | <div id="json"></div> | |
+ | ===Синтаксис парсера JSON=== | ||
− | + | Запросом к парсеру JSON является строка, определяющая ключи свойств объектов или номера элементов в массиве, разделенных символом слэша. При выполнении запроса слева направо парсер на каждом этапе углубляется внутрь структуры JSON. | |
− | + | Таким образом, строка | |
− | + | <pre> | |
+ | "values"/3/"x" | ||
+ | </pre> | ||
− | + | примененная к структуре JSON с выбранным значением свойства ''Функция'' -> ''Содержимое'' | |
− | + | <pre> | |
+ | { | ||
+ | "name": "xxx", | ||
+ | "values": [ | ||
+ | "37", | ||
+ | true, | ||
+ | 99, | ||
+ | {"x":2, "y":3}, | ||
+ | "value" | ||
+ | ], | ||
+ | "result": true | ||
+ | } | ||
+ | </pre> | ||
− | + | вернет значение 2. | |
− | |||
− | + | <div id="File"></div> | |
− | + | ||
− | + | ==[[Файл:cl_cc_scr_i07.png|left]]Файловая операция== | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
+ | Производит указанную дисковую операцию с файлом, каталогом или путем. | ||
− | + | '''Свойства''': | |
− | + | {|cellpadding="10" cellspacing="0" border="1" | |
+ | |Путь | ||
+ | |Аргумент, определяющий место размещения объекта, подвергаемого файловой операции - абсолютный путь к каталогу или файлу. | ||
+ | |- | ||
+ | |Тип объекта | ||
+ | |Каталог / Файл / Путь | ||
+ | Определяет перечень операций, возможных для проведения с объектом, указанным с помощью пути. | ||
+ | |- | ||
+ | |Операция | ||
+ | |В зависимости от выбранного типа объекта предоставляет перечень возможных операций. | ||
− | + | Каталог: | |
+ | * Создать | ||
+ | * Удалить | ||
+ | * Переместить | ||
+ | * Переименовать | ||
+ | * Скопировать | ||
+ | * Проверить существование | ||
+ | * Количество подкаталогов | ||
+ | * Вернуть путь к подкаталогу | ||
+ | * Количество файлов | ||
+ | * Вернуть путь к файлу | ||
− | + | Файл: | |
+ | * Создать | ||
+ | * Удалить | ||
+ | * Переместить | ||
+ | * Переименовать | ||
+ | * Скопировать | ||
+ | * Проверить существование | ||
+ | * Определить размер | ||
+ | * Определить MD5 содержимого | ||
+ | * Считать данные | ||
+ | * Дописать данные в конец | ||
− | + | Путь: | |
+ | * Вернуть родительский каталог | ||
+ | * Вернуть имя | ||
+ | * Вернуть имя без расширения | ||
+ | * Вернуть расширение | ||
+ | * Проверить полноту | ||
+ | * Склеить пути | ||
+ | |- | ||
+ | |Новый путь | ||
+ | Новое имя | ||
− | + | Путь копии | |
+ | |Путь или имя, которое будет присвоено вновь созданному файлу (или каталогу). | ||
+ | В случае, если при переименовании указывается имя без пути, за основу будет взят путь к исходному объекту. | ||
+ | |- | ||
+ | |Данные | ||
+ | |Аргумент, представляющий собой строку. Строка в соответствии с выбранной кодировкой будет переведена в бинарный формат и размещена в содержимом файла при проведении операций создания и записи в файл. | ||
+ | |- | ||
+ | |Кодировка | ||
+ | |Определяет кодировку, посредством которой происходит преобразовании строки в бинарные данные и обратно при проведении операций записи в файл и чтения из файла. | ||
+ | * Unicode | ||
+ | * UTF-8 | ||
+ | * UTF-7 | ||
+ | * Текущая кодовая страница Windows | ||
+ | * Windows-1251 | ||
+ | * Указанная кодовая страница Windows | ||
+ | |- | ||
+ | |Данные в переменную | ||
+ | |Строковая переменная, куда будет сохранено содержимое файла при проведении операции чтения. Данные из файла считываются в бинарном виде и преобразуются в строку согласно выбранной кодировке. | ||
− | + | <span style="color:red;">Внимание! Если целью считывания данных из файла является их дальнейшая передача вовне без изменений (например используя веб-запрос или сохранение файла, осуществляющие преобразование строки в бинарные данные), необходимо в обоих компонентах использовать кодировки ANSI, так как только она гарантирует однозначное двустороннее преобразование без потери данных. | |
+ | |- | ||
+ | |Маска | ||
+ | |Аргумент, представляющий собой маску для файлов/каталогов в формате операционной системы, например *.inf или data_??.txt. Используется при определении содержимого каталога. | ||
− | + | <span style="color:red;">Внимание! Если целью определения содержимого является обнаружение конкретного подкаталога/файла, либо обработка всего содержимого, соответствующего маске, то при взятии пути к конкретному файлу используется индекс. В этом случае необходимо также указывать ту же самую маску. | |
+ | |- | ||
+ | |Индекс | ||
+ | |Аргумент, определяющий индекс файла/подкаталога при взятии его пути. Индекс - порядковый номер объекта в общем списке файлов/подкаталогов исследуемого каталога, отфильтрованного в соответствии с указанной маской. Индекс начинается с 0. | ||
+ | |- | ||
+ | |Добавочный путь | ||
+ | |Аргумент, определяющий часть пути, подвергаемый склейке с основным. Например, если основной указанный путь 'C:\1', а добавочный '2.txt', то при проведении склейки результатом будет 'C:\1\2.txt'. | ||
+ | |- | ||
+ | |Результат в переменную | ||
+ | |Переменная, куда будет сохранен результат выполнения операции. Может быть строковой, либо числовой для проведения отдельных операций. | ||
+ | |- | ||
+ | |Переход | ||
+ | |Компонент, на который передается управление после успешного завершения ввода. | ||
+ | |- | ||
+ | |Переход, не найдено | ||
+ | |Компонент, на который передается управление в случае, если указанный каталог или файл не найден. | ||
+ | |- | ||
+ | |Переход, ошибка | ||
+ | |Компонент, на который передается управление в случае, если в назначенных параметрах допущена ошибка или при проведении указанной операции возникла ошибка. | ||
+ | |- | ||
+ | |Имя | ||
+ | |Название компонента для отображения в визуальной среде и выбора в списке. | ||
+ | |} | ||
− | |||
− | |||
− | + | <div id="ExecProcess"></div> | |
− | + | ==[[Файл:cl_cc_scr_i17.png|left]]Запуск внешнего процесса с параметрами== | |
− | + | Запускает на сервере внешний процесс или открывает приложение с указанным документом. В сценариях IVR используется чаще для запуска системных программ, а также учетных, сервисных, обслуживающих программ организации-клиента Oktell. | |
− | + | <span style="color:red;">ВНИМАНИЕ! При работе сервера Oktell в режиме службы запуск процесса производится от имени того пользователя, который указан в настройках службы. По умолчанию это системная учетная запись «NETWORK SERVICE». Запускаемые таким образом процессы выполняются в фоновом режиме и не отображаются на экране пользователя.</span> | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | |||
− | + | '''Свойства''': | |
− | + | ||
− | + | {|cellpadding="10" cellspacing="0" border="1" | |
+ | |Файла | ||
+ | |Строковый аргумент, определяющий имя или путь к файлу, который необходимо запустить. | ||
+ | |- | ||
+ | |Путь | ||
+ | |Относительный/абсолютный. Определяет, какой путь будет подставляться впереди к имени файла. Относительный – от папки запуска приложения Oktell. | ||
+ | |- | ||
+ | |Параметры командной строки | ||
+ | |Строковый аргумент, определяющий параметры запуска для командной строки, если необходимо. | ||
+ | |- | ||
+ | |Режим запуска | ||
+ | |Определяет способ исполнения указанного файла | ||
+ | * С помощью оболочки. В качестве файла можно указывать документы - их открытие будет осуществляться автоматически в зарегистрированных приложениях, однако становится недоступным использование консоли для ввода/вывода. | ||
+ | * Скрыть окно. Приложение не отображает свое консольное окно. | ||
+ | * Не скрывать окно. Приложение ведет себя стандартным образом. | ||
+ | |- | ||
+ | |Ожидание завершения | ||
+ | |Да/нет. Определяет, приостанавливать ли сценарий в ожидании завершения работы запущенного процесса. | ||
+ | |- | ||
+ | |Консольный ввод/вывод | ||
+ | |Доступно только при ожидании завершения процесса, запущенном в обычном режиме (не с помощью оболочки). | ||
+ | * Нет. | ||
+ | * Только ввод. Позволяет передать произвольные текстовые данные в консоль приложения сразу после старта. | ||
+ | * Только вывод. Позволяет считать произвольные текстовые данные из консоли приложения сразу после завершения. | ||
+ | * Ввод и вывод. Позволяет передать и считать данные. | ||
+ | |- | ||
+ | |Консольный ввод | ||
+ | |Доступно только при ожидании завершения процесса, запущенном в консольном режиме (не с помощью оболочки). | ||
+ | Строковый аргумент, значение которого передается в консоль сразу после запуска приложения. | ||
− | + | <span style="color:red;">ВНИМАНИЕ! При передаче сложных данных для простоты реализации чтения из консоли рекомендуется компоновать данные общим размером в самом начале. | |
+ | |- | ||
+ | |Консольный вывод в переменную | ||
+ | |Доступно только при ожидании завершения процесса, запущенном в консольном режиме (не с помощью оболочки). | ||
+ | Строковая переменная, в которую полностью сохраняется консольный вывод исполненного приложения. | ||
+ | |- | ||
+ | |Таймаут, мс | ||
+ | |Доступно только для режима ожидания завершения процесса. | ||
+ | Аргумент, определяющий предельное время ожидания, по истечении которого управление будет в любом случае передано дальше по сценарию. «0» - таймаут не установлен. | ||
+ | |- | ||
+ | |Завершать при обрыве | ||
+ | |Доступно только для режима ожидания завершения процесса. | ||
+ | Да/нет. Определяет, следует ли принудительно завершить работу запущенного процесса, если за установленный таймаут он так и не завершился самостоятельно. | ||
+ | |- | ||
+ | |Переход, успех | ||
+ | |Компонент, на который передается управление, если приложение успешно стартовало. | ||
+ | |- | ||
+ | |Переход, таймаут | ||
+ | |Доступно только для режима ожидания завершения процесса. | ||
+ | Компонент, на который передается управление в случае таймаута ожидания. | ||
+ | |- | ||
+ | |Переход, неудача | ||
+ | |Компонент, на который передается управление, если файл не найден, отсутствует доступ, или по другой причине не удалось запустить приложение. | ||
+ | |- | ||
+ | |Имя | ||
+ | |Название компонента для отображения в визуальной среде и выбора в списке. | ||
+ | |} | ||
− | |||
− | + | <div id="WebCRM"></div> | |
− | + | ==[[Файл:cl_cc_scr_i29.png|left]]Действие/карточка в plugin или WebCRM== | |
− | + | В любом месте сценария может быть выполнен компонент, осуществляющий исполнение динамического (известного только на этапе создания сценария) метода во внешней среде. Суть метода в предоставлении сервисных функций внешней средой серверу Oktell. Такой средой может быть указанный плагин или активная подключенная Web-CRM система. | |
− | + | Интеграция с сервером коммуникаций подразумевает то, что Oktell выступает в качестве сервера, исполняя запросы WebCRM системы, и информируя ее о происходящих коммуникационных событиях. Этот компонент позволяет наладить встречное взаимодействие, когда Oktell выступает в качестве клиента WebCRM системы. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | В указанном клиентском плагине в качестве динамических методов выступают заявленные формы (опрос производится после регистрации плагина при настройке сценария). В качестве исполнимых поддерживаются диалоговые формы (тип 0) и компоненты типа 3 (подробно в руководстве по интеграции). При настройке компонента задаются значения всем заявленным входным параметрам, привязанным к выбранной форме, возможно ожидание возвращаемых значений и сохранение их в переменные сценария. Серверные плагины не требуют тонко настраиваемого функционала, и вызов их методов осуществляется компонентом [[#Плагин-компонент|Серверный плагин]]. | |
+ | Web-CRM система предоставляет информацию о поддерживаемых динамических методах в рамках обмена информацией между сервером Oktell и web-socket сервером Web-CRM системы согласно интеграционному протоколу (подробно в статье [[Oktell Web-Socket Protocol|«Интеграции. Web-Socket протокол»]]). Каждый динамический метод может принимать на вход определяемые в сценарии значения для всех заявленных входных параметров. Компонент может дожидаться исполнения и возврата выходных значений. Вызов метода производится согласно описанию Web-CRM системы и детальным настройкам компонента. | ||
− | В | + | В качестве возможных примеров можно привести такие общесерверные запросы, как «Определение компании и ответственного сотрудника по определившемуся номеру телефона», «Создать инцидент в связи с обращением» и т.д., и такие пользовательско-ориентированные методы как «Отобразить карточку указанной компании», «Закрыть карточку», «Переключить отображение в режим работы с партнерами» и т.д. |
− | |||
− | + | '''Свойства''': | |
− | + | {|cellpadding="10" cellspacing="0" border="1" | |
− | + | |Модуль, действие | |
− | + | |Окно выбора plugin-модуля или web-crm системы, ответственной за вызов настраиваемого метода, а также одного из списка динамических методов, заявленных в выбранном модуле. | |
+ | |- | ||
+ | |Свойства | ||
+ | |Настройка входных и выходных параметров выбранного метода. Выходные параметры сохраняются только в случае, если настраивается вызов метода с ожиданием завершения исполнения. | ||
+ | |- | ||
+ | |Дожидаться завершения | ||
+ | |Да/нет. При ожидании завершения устанавливается также допустимый таймаут. Сценарий приостанавливается до получения ответа, после чего сохраняет выходные значения в переменные в соответствии с настроенными свойствами. | ||
+ | Если ожидание не выставлено, то сценарий отправляет команду на исполнение метода, а сам переходит к следующим компонентам. | ||
+ | |- | ||
+ | |Момент отображения | ||
+ | |Доступно только при отключенном режиме ожидания завершения. В случае, если стоит ожидание завершения, то автоматически применяется значение «Сразу». | ||
+ | * Сразу. Команда на выполнение отправляется сразу и одновременно на адреса всех указанных пользователей в ходе работы компонента. | ||
+ | Следующие пункты доступны только для настройки в сценариях IVR. | ||
+ | * При входящем вызове. Команда на выполнение запоминается, но не отправляется и сохраняется до следующего компонента «Переключение», после чего автоматически удаляется. Особенностью является то, что исполнение производится у всех пользователей, но у каждого только в момент, когда телефон начинает фактически звенеть, с нахождением обслуживаемого канала в первой позиции в очереди. Если пользователь не снимает трубку, а вызов уходит другому или теряется, отправляется команда на прекращение исполнения метода (согласно интеграционному интерфейсу web-socket протокола). | ||
+ | * При коммутации. Аналогично «При входящем вызове», но команда отправляется только в случае успешного переключения тому, с кем произошло соединение обслуживаемого канала. Отмена невозможна. | ||
+ | * При завершении коммутации. Аналогично «При входящем вызове», но команда отправляется только в момент разрыва коммутации с тем, с кем произошло успешное соединение обслуживаемого канала. Отмена невозможна. | ||
+ | |- | ||
+ | |Ключ получателя | ||
+ | |Доступно только при выборе пункта «Сразу» в качестве момента отображения. В других случаях получатели определяются автоматически. | ||
+ | Аргумент, определяющий пользователя-получателя. В качестве ключа может выступать идентификатор пользователя, его имя или логин. Также ключом может являться внутренний стандартный номер, явно определяющий пользователя через правило звонка ([[Внутренние номера#Стандартные номера|«Администрирование. Внутренние номера. Стандартные»]]). В случае, если номер групповой, то получателями будут являться все его участники (пользователи указанные в номере явно, или посредством внутренних линий); при этом запросов будет отправлено ровно столько, сколько обнаружено получателей. | ||
+ | В качестве значения аргумента может быть указан список ключей, разделенных запятыми. | ||
− | + | <span style="color:red;">Внимание! При вызове динамического метода WebCRM в его декларации может быть заявлен режим вызова без указания пользователя (это касается прямых методов, исполняемых непосредственно на сервере без привязки к конкретным пользователям и их станциям). В этом случае ключ получателя применен не будет. О необходимости указания пользователей должно сообщаться в описаниях динамических методов.</span> | |
− | + | |- | |
− | + | |Таймаут, сек | |
− | + | |Доступно только в режиме ожидания завершения. | |
− | + | Устанавливает максимальное время в секундах, которое сценарий простаивает, ожидая ответ внешнего модуля с отчетом о выполнении и выходными значениями. В случае, если ответ не получен долее установленного времени, исполнение передается следующему компоненту по ветке «Таймаут». Значение 0 устанавливает бесконечное ожидание. | |
− | + | |- | |
− | + | |Переход | |
− | + | |Компонент, на который передается управление после успешного выполнения компонента. | |
− | + | |- | |
− | + | |Переход, таймаут | |
− | + | |Компонент, на который передается управление, если за установленный период времени не получен ответ от внешнего модуля/CRM-системы. | |
− | + | Поле доступно только при выборе значения «Да» в свойстве «Дожидаться завершения». | |
− | + | |- | |
+ | |Переход, ошибка | ||
+ | |Компонент, на который передается управление, если модуль не обнаружен, не доступен или другие условия не позволяют провести операцию. | ||
+ | |- | ||
+ | |Имя | ||
+ | |Название компонента для отображения в визуальной среде и выбора в списке. | ||
+ | |} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | <div id="Plugin"></div> | ||
+ | ==[[Файл:cl_cc_scr_i28.png|left]]Плагин== | ||
+ | Компонент позволяет выполнять произвольный сторонний код, подключенный к серверу в виде стандартного плагин-компонента (см. руководство по интеграции, раздел «Встраиваемые plugin-модули»). | ||
− | |||
− | + | Подробно об архитектуре исполнения описано в руководстве по интеграции. | |
− | + | При выполнении компонента осуществляется подгрузка внешней сборки и передача управления компоненту. В случае, если сборка плагина уже загружена, повторной ее загрузки не происходит. Исключением может являться только обновление сборок в модуле [[Внешние модули#Plugin-модули|Администрирование. Внешние модули]]. | |
+ | Передача управления производится путем вызова метода PrepareShow управляющего объекта, описанного в plugin-программе. В качестве параметра для метода передается XML-структура, содержащая комплексную информацию о требуемом компоненте (его guid-идентификатор, описанный при вызове метода GetForms() управляющего объекта), параметрах сценария, сессии, задаче, а также других имеющихся свойств (различаются в зависимости от типа исполняемого сценария). Помимо базовых параметров передаются значения требуемых для работы компонента параметров (информация о них возвращается при вызове GetInputParams управляющего объекта plugin-программы). В качестве возвращаемого значения ожидается XML-структура с описанием всех выходных значений согласно общему списку выходных параметров (определяются при вызове GetOutputParams управляющего объекта). | ||
+ | В качестве возможных для использования в сценариях компонентов принимаются все формы подпрограммы со свойством 'module=2'. | ||
− | + | Назначение входных значений, а также переменных для приема выходных значений производится на отдельной вкладке. | |
− | + | Дальнейшая реализация сценария приостанавливается вплоть до получения назад управления из внешнего компонента. Может быть назначен интервал таймаута, по истечению которого будет произведен принудительный возврат управления и переход к следующему компоненту сценария. Обрыв исполнения производится также при остановке сценария. | |
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | '''Свойства''': | |
− | + | ||
− | + | ||
− | + | {|cellpadding="10" cellspacing="0" border="1" | |
− | + | |Модуль/Форма | |
− | + | |Выбор конкретного плагина и одного из его компонентов для работы в сценарии. | |
− | + | |- | |
+ | |Свойства | ||
+ | |Доступ к вкладке редактора параметров формы для настройки передаваемых и сохраняемых параметров. | ||
+ | |- | ||
+ | |Таймаут, сек | ||
+ | |Аргумент, устанавливающий время в секундах, по истечению которого будет произведен принудительный отъем управления из вызванной подпрограммы. В случае, если интервал нулевой (по умолчанию), таймаут считается не установленным. | ||
+ | |- | ||
+ | |Переход | ||
+ | |Компонент, на который передается управление после возврата в случае успешного проведения операции. | ||
+ | |- | ||
+ | |Переход, компонент не найден | ||
+ | |Компонент, на который передается управление, если plugin-программа не указана, не найдена или не может быть загружена. | ||
+ | |- | ||
+ | |Переход, таймаут | ||
+ | |Компонент, на который передается управление в случае, если за установленный интервал времени не вернулось управление от внешнего компонента. | ||
+ | |- | ||
+ | |Переход, ошибка | ||
+ | |Компонент, на который передается управление в случае возникновения ошибок. | ||
+ | |- | ||
+ | |Имя | ||
+ | |Название компонента для отображения в визуальной среде и выбора в списке. | ||
+ | |} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | <div id="SipRegister"></div> | |
+ | ==[[Файл:cl_cc_scr_i45.png|left]]Регистрация динамического потока== | ||
− | + | Компонент используется совместно со шлюзом с динамической регистрацией потоков (подробнее в разделе [[Свойства компонентов#IP шлюз|Карта сети. Компоненты. Шлюз]]). Служит для проведения динамической регистрации под указанным аккаунтом перед осуществлением звонка по каналу потока такого шлюза. Параметры аккаунта - логин и пароль - могут быть взяты из БД, вычислены, указаны явно в сценарии. Для проведения регистрации достаточно указать в свойствах компонента шлюз, и свободный поток автоматически будет зарегистрирован и зарезервирован под совершение вызова именно в этом экземпляре сценария. Потоки и линии шлюзов с динамической регистрацией недоступны для выбора ни в задачах, ни в настройках прав пользователей, ни в списках линий при наборе номера компонентами сценариев. Осуществить дозвон через них можно только путем явного указания кода зарегистрированного потока в соответствующий аргумент компонентов «Дозвон» служебного сценария и «Переключение на внешние» сценария IVR. | |
− | + | ||
− | + | ||
− | |||
+ | <span style="color:red;">ВНИМАНИЕ! В случае успешной коммутации поток будет разрегистрирован автоматически по завершению разговора и переводу одной из линий потока в состояние готовности. Однако, если коммутации не произведено, то разрегистрация производится автоматически по истечению времени неактивности (3 минуты), либо путем использования этого же компонента с действием «Отмена регистрации». | ||
− | + | '''Свойства''': | |
− | + | {|cellpadding="10" cellspacing="0" border="1" | |
+ | |Действие | ||
+ | |Выбор режима работы. Регистрация / отмена регистрации. | ||
+ | В случае установки режима регистрации осуществляет прямое действие по регистрации аккаунта на сервере и активации (перевода в состояние готовности) одного из потоков указанного шлюза с динамической регистрацией потоков. | ||
+ | В режиме отмены регистрации освобождает аккаунт и переводит указанный поток в отключенное состояние. | ||
+ | |- | ||
+ | |Шлюз | ||
+ | |Доступно только для действия «Регистрация». В списке выбирается один из существующих в карте сети шлюзов с динамической регистрацией потоков. | ||
+ | |- | ||
+ | |Аккаунт | ||
+ | |Доступно только для действия «Регистрация». Аргумент, представляющий собой логин для регистрации потока. | ||
+ | |- | ||
+ | |Пароль | ||
+ | |Доступно только для действия «Регистрация». Аргумент, представляющий собой пароль для регистрации потока. | ||
+ | |- | ||
+ | |Время ожидания | ||
+ | |Доступно только для действия «Регистрация». Максимальное время ожидания регистрации, по истечению которого будет прервана регистрация и произведен выход по ветке «Таймаут». | ||
+ | |- | ||
+ | |Автоматическая отмена регистрации | ||
+ | |Доступно только для действия «Регистрация». Позволяет установить такой режим работы, при котором при любой последующей попытке дозвона по одной из линий зарегистрированного потока даже в случае неудачи (занято, недоступно и т.д.) будет производиться мгновенная отмена регистрации. | ||
+ | |- | ||
+ | |Код потока в переменную | ||
+ | |Доступно только для действия «Регистрация». В случае успешного проведения операции по регистрации в указанную переменную будет размещен Guid-идентификатор зарегистрированного потока. Эта переменная впоследствии может быть использована для осуществления вызова в компонентах [[Компоненты сценариев IVR#Переключение на внешний номер с указанием последовательности выделения линий|Переключение на внешние]] и/или [[Компоненты служебных сценариев#Дозвон|Дозвон]] или отмены регистрации. | ||
+ | |- | ||
+ | |Код ошибки в переменную | ||
+ | |Доступно только для действия «Регистрация». В переменную попадает код ошибки в случае возникновения проблем при регистрации. Большинство кодов совпадают с типами ответов HTTP-сервера (например, 404 - not found). | ||
+ | |- | ||
+ | |Код потока | ||
+ | |Доступно только для действия «Отмена регистрации». Аргумент, представляющий собой Guid-идентификатор потока в строковом представлении. Может быть указан явно, или получен в переменную в одном из предыдущих компонентов «Регистрация». | ||
+ | |- | ||
+ | |Переход | ||
+ | |Компонент, на который передается управление после возврата в случае успешного проведения операции. | ||
+ | |- | ||
+ | |Переход, потоков не найдено | ||
+ | |Доступно только для действия «Регистрация». Компонент, на который передается управление, если у выбранного шлюза нет свободных потоков. | ||
+ | |- | ||
+ | |Переход, таймаут | ||
+ | |Доступно только для действия «Регистрация». Компонент, на который передается управление в случае, если за установленный интервал времени не получен ответ от внешнего сервера/шлюза. | ||
+ | |- | ||
+ | |Переход, ошибка | ||
+ | |Компонент, на который передается управление в случае возникновения ошибок. | ||
+ | |- | ||
+ | |Имя | ||
+ | |Название компонента для отображения в визуальной среде и выбора в списке. | ||
+ | |} | ||
− | |||
− | + | <div id="Counter"></div> | |
+ | ==[[Файл:cl_cc_scr_i16.png|left]]Увеличение значения счетчика== | ||
− | + | Увеличивает значение выбранного счетчика на 1. Подробнее о счетчиках, их создании и анализе в модуле общего меню [[Отчеты#Счетчики|Call-центр. Отчеты. Счетчики]]. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
+ | '''Свойства''': | ||
− | + | {|cellpadding="10" cellspacing="0" border="1" | |
+ | |Счетчик | ||
+ | |Список счетчиков, существующих в системе и доступных для увеличения. | ||
+ | |- | ||
+ | |Переход | ||
+ | |Компонент, на который передается управление в случае успешной коммутации. | ||
+ | |- | ||
+ | |Имя | ||
+ | |Название компонента для отображения в визуальной среде и выбора в списке. | ||
+ | |} | ||
− | |||
− | + | <div id="CallTask"></div> | |
+ | ==[[Файл:cl_cc_scr_i10.png|left]]Создание исходящей задачи== | ||
− | + | Компонент инициирует задачу однократного выполнения в указанное время на указанный номер. Задача запускает указанный в соответствующем свойстве компонента сценарий IVR. Для формируемой задачи в компоненте указываются инициирующие значения, а также параметр задачи, который будет доступен через функцию «Параметр задачи» в сценарии IVR. | |
− | + | <span style="color:red;">ВНИМАНИЕ! Для инициации звонка существует альтернатива данному компоненту. Служебный сценарий имеет компонент «Дозвон», рекомендуемый к использованию в большинстве случаев, так как имеет расширенные настройки и не производит дополнительной нагрузки на менеджер задач. | |
+ | '''Свойства''': | ||
− | + | {|cellpadding="10" cellspacing="0" border="1" | |
+ | |Номер | ||
+ | |Аргумент, определяющий номер, по которому производить дозвон. | ||
+ | |- | ||
+ | |Выполнить сразу | ||
+ | |Да/Нет. Сразу выполнять задачу или дожидаться указанного времени. | ||
+ | |- | ||
+ | |Дата/время | ||
+ | |Дата и время, когда производить выполнение задачи. | ||
+ | Поле доступно только при выборе значения «Нет» в свойстве «Выполнить сразу». | ||
+ | |- | ||
+ | |Сценарий | ||
+ | |Текстовое поле с возможностью выбора из списка имеющихся сценариев. Определяет имя сценария, который необходимо запустить после дозвона. | ||
+ | |- | ||
+ | |Параметр запуска | ||
+ | |Числовой аргумент, передающий свое значение в задачу, а через нее на старт запускаемого сценария и в функцию «Параметр задачи». Может быть использован для идентификации через сопоставление по таблице в БД, или для передачи множества параметров. Доступен в сценарии автоматической задачи через встроенную функцию «Параметр задачи». | ||
+ | |- | ||
+ | |Количество сигналов «Занято» | ||
+ | |Сколько дозвонов с ответом «Занято» считать успешным выполнением задачи. | ||
+ | |- | ||
+ | |Количество сигналов «Не отвечает» | ||
+ | |Сколько дозвонов с ответом «Не отвечает» считать успешным выполнением задачи. | ||
+ | |- | ||
+ | |Время фиксации в секундах | ||
+ | |Сколько секунд необходимо выполнять сценарий после дозвона, чтобы считать успешным выполнение задачи. | ||
+ | |- | ||
+ | |Время ожидания ответа | ||
+ | |Сколько секунд ожидать ответа от линии для получения сигнала «Не отвечает». | ||
+ | |- | ||
+ | |Пауза после сигнала «Занято» | ||
+ | |Сколько секунд делать перерыв в выполнении задачи, если от линии получен сигнал «Занято». | ||
+ | |- | ||
+ | |Пауза после сигнала «Не отвечает» | ||
+ | |Сколько секунд делать перерыв в выполнении задачи, если от линии получен сигнал «Не отвечает». | ||
+ | |- | ||
+ | |Переход | ||
+ | |Компонент, на который передается управление. | ||
+ | |- | ||
+ | |Имя | ||
+ | |Название компонента для отображения в визуальной среде и выбора в списке. | ||
+ | |} | ||
− | |||
− | + | <div id="VoiceMail"></div> | |
− | + | ==[[Файл:cl_cc_scr_i08.png|left]]Голосовая почта== | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
+ | Осуществляет перемещение данных об указанном звуковом файле (чаще после записи в этом же сценарии) в голосовой ящик указанных пользователей. Подробнее о сервисе голосовой почты в разделе [[Кабинет#Голосовая почта|Офис. Кабинет. Голосовая почта]]. | ||
− | + | Заполняя свойство «Голосовой ящик» в окне адресата, можно явно указать существующих в системе пользователей, а также существующие отделы и внутренние номера. Также можно использовать свойство «Ключ получателя», значением которого является вычисляемый аргумент. Это удобно, когда заранее неизвестно получателя, и данные о нем формируются в момент исполнения сценария. При этом сообщение попадет ко всем пользователям, которые указаны явно, составляют указанные внутренние номера и группы. У пользователей, которым поступает голосовая почта, в их модулях появляются данные об абоненте, и возможность прослушать файл. | |
− | + | Сообщение отправится всем выбранным по одному из двух параметров – указателей адресатов. При этом один компонент формирует группу из всех перечисленных участников - прослушивание одним из них будет отражено на всей записи. При необходимости разослать сообщение независимо нескольким пользователям следует использовать серию из компонентов «Голосовая почта» | |
+ | '''Свойства''': | ||
− | + | {|cellpadding="10" cellspacing="0" border="1" | |
+ | |Имя файла | ||
+ | |Аргумент, значение которого определяет абсолютный путь к файлу, который необходимо поместить в голосовой ящик. При использовании после объекта [[Компоненты сценариев IVR#Запись звукового файла|Запись файла]], в котором имя файла генерируется, необходимо в соответствующем свойстве выбирать возврат полного пути в переменную, сохраняющую имя записанного файла. | ||
+ | |- | ||
+ | |Ключ получателя | ||
+ | |Аргумент, определяющий пользователя-получателя почты. В качестве ключа может выступать идентификатор пользователя, его имя или логин. Также ключом может являться внутренний стандартный номер, явно определяющий пользователя через правило звонка («Администрирование. Внутренние номера. Стандартные»). В случае, если номер групповой, то получателями будут являться одновременно все его участники (пользователи указанные в номере явно, или посредством внутренних линий). | ||
+ | В качестве значения аргумента может быть указан список ключей, разделенных запятыми. | ||
+ | |- | ||
+ | |Голосовой ящик | ||
+ | |Окно ввода адресата: списка получателей, среди которых могут быть пользователи системы, отделы и конкретные внутренние номера. Каждый пользователь, участвующей явно через отдел, или через номер получит соответствующее голосовое сообщение. | ||
+ | При одновременном указании голосового ящика и ключа производится объединение всех установленных получателей на момент исполнения компонента. | ||
+ | |- | ||
+ | |Режим подстановки CallerId | ||
+ | |Определяет режим подстановки CallerId. | ||
− | + | * Автоматически. Для сценариев IVR и диалоговых существует возможность автоматически определить номер абонента, чей звонок обслуживается в текущем сценарии. Если голосовую почту оставляет внутренний пользователь системы, будет подставлено его имя. | |
+ | * Из аргумента. В некоторых случаях (если номер не определен, номер требует преобразований, служебный сценарий, работающий без привязки к каналу и т.д.) номер следует указывать вручную. При выборе данного значения появляется возможность задать callerid из аргумента. | ||
+ | |- | ||
+ | |CallerId | ||
+ | |Доступно только в режиме подстановки CallerId из аргумента. | ||
+ | Аргумент, значение которого подставляется при размещении голосового сообщения в поле таблицы CallerId и устанавливает номер абонента, оставившего сообщение. | ||
+ | |- | ||
+ | |Переход | ||
+ | |Компонент, на который передается управление после успешного завершения ввода. | ||
+ | |- | ||
+ | |Имя | ||
+ | |Название компонента для отображения в визуальной среде и выбора в списке. | ||
+ | |} | ||
− | |||
− | + | <div id="Callback"></div> | |
+ | ==[[Файл:cl_cc_scr_i13.png|left]]Заказ на встречный звонок== | ||
− | + | Сохраняет информацию о заказанном звонке в БД, и отображает в клиентском приложении Oktell у пользователей-адресатов, определяющихся указанным внутренним номером. Подробнее о сервисе заказов встречных звонков в разделе [[Кабинет#Заказы на встречные звонки|Офис. Кабинет. Встречные звонки]]. | |
− | + | ||
+ | '''Свойства''': | ||
− | + | {|cellpadding="10" cellspacing="0" border="1" | |
− | + | |Ключ получателя | |
− | + | |Аргумент, определяющий пользователя-получателя сообщения. В качестве ключа может выступать идентификатор пользователя, его имя или логин. Также ключом может являться внутренний стандартный номер, явно определяющий пользователя через правило звонка («Администрирование. Внутренние номера. Стандартные»). В случае, если номер групповой, то получателями будут являться одновременно все его участники (пользователи указанные в номере явно, или посредством внутренних линий). | |
− | + | В качестве значения аргумента может быть указан список ключей, разделенных запятыми. | |
− | + | |- | |
− | + | |Заказ на номер | |
− | + | |Аргумент, определяющий номер, на который заказан встречный звонок. Может быть введен пользователем с клавиатуры, определен как «CallerId», или подставлен из базы по коду. | |
− | + | |- | |
− | + | |Заказ на время | |
− | + | |Ориентировочное время, на которое заказан встречный звонок (сохранится в базе и будет отображено в описании заказа). Не заполнять, если время не указывается. | |
− | + | |- | |
− | + | |Комментарий | |
− | Переход | + | |Комментарий к компоненту (сохранится в базе и будет отображен в описании заказа). |
− | + | |- | |
− | + | |Переход | |
− | Имя | + | |Компонент, на который передается управление. |
− | + | |- | |
− | + | |Имя | |
+ | |Название компонента для отображения в визуальной среде и выбора в списке. | ||
+ | |} | ||
− | |||
− | + | <div id="Notify"></div> | |
+ | ==[[Файл:cl_cc_scr_i09.png|left]]Уведомление== | ||
− | + | Уведомление – всплывающее окно, позволяющее донести до пользователя информацию о происходящем в сценарии действии. В качестве адресатов могут быть выбран список из пользователей, отделов и конкретных номеров. Также в качестве адреса может выступать номер, определяемый значением аргумента. | |
− | |||
− | + | Уведомление получат все пользователи, которые указаны персонально, либо состоят в выбранных группах или внутренних номерах. В режиме [[Кабинет#Системные уведомления|Офис. Кабинет. Уведомления]] пользователь всегда сможет просмотреть пришедшие к нему уведомления и осуществить поиск. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
+ | '''Свойства''': | ||
− | + | {|cellpadding="10" cellspacing="0" border="1" | |
+ | |Отладочный режим | ||
+ | |Да / нет. По умолчанию «нет». При сохранении сценария может быть установлен общий режим отладки (на странице свойств сценария). Отладочные уведомления будут отображаться только в режиме отладки сценария. Остальные будут отображаться в любом случае. | ||
+ | |- | ||
+ | |Ключ получателя | ||
+ | |Аргумент, определяющий пользователя-получателя сообщения. В качестве ключа может выступать идентификатор пользователя, его имя или логин. Также ключом может являться внутренний стандартный номер, явно определяющий пользователя через правило звонка («Администрирование. Внутренние номера. Стандартные»). В случае, если номер групповой, то получателями будут являться одновременно все его участники (пользователи указанные в номере явно, или посредством внутренних линий). | ||
+ | В качестве значения аргумента может быть указан список ключей, разделенных запятыми. | ||
+ | |- | ||
+ | |Адресат | ||
+ | |Окно ввода адресата: списка получателей, среди которых могут быть пользователи системы, отделы и конкретные внутренние номера. Каждый пользователь, участвующий явно, через отдел, или через номер получит соответствующее уведомление. | ||
+ | При одновременном указании адресата и ключа производится объединение всех установленных получателей на момент исполнения компонента. | ||
+ | |- | ||
+ | |Сохранять в БД | ||
+ | |Да/нет. По умолчанию «да». При установке свойства сообщение будет сохранено в БД и будет доступно в модуле [[Кабинет#Системные уведомления|Офис. Кабинет. Уведомления]]. Если пользователь отсутствует, то сообщение будет доставлено сразу после его авторизации в системе. | ||
+ | |- | ||
+ | |Текст | ||
+ | |Аргумент, определяющий текст уведомления. | ||
+ | Поддерживается минимальный набор тегов HTML для форматирования. Чтобы отобразить текст в виде HTML-документа необходимо его заключить в теги <html>..</html> | ||
+ | Ниже за пределами таблицы свойств приведен перечень поддерживаемых HTML-тегов. | ||
+ | |- | ||
+ | |Способ оповещения | ||
+ | |Позволяет выбрать режим, в котором данные поступают указанным адресатам. | ||
+ | * Всплывающее уведомление. Появляющиеся в правой части экрана цветные окна с информацией. | ||
+ | * Системный чат. Сообщение от имени системы во встроенном [[Сотрудники|системном чате]]. | ||
+ | * Лог-журнал. Запись в серверном лог-журнале Common. | ||
+ | |- | ||
+ | |Цвет фона | ||
+ | |Определяет цвет фона всплывающего окошка. | ||
+ | |- | ||
+ | |Скрывать автоматически | ||
+ | |Да/нет. По умолчанию «да». При отключении уведомление будет скрыто только после щелчка пользователя на нем. Поступающие уведомления помещаются в очередь, из которой отображаются в видимых областях экрана в порядке поступления. Очередь сообщений может быть очищена из системного меню в трее. | ||
+ | При отправке уведомления отключенному пользователю с сохранением в БД, отображаемые после авторизации последние несколько пропущенных уведомлений будут в любом случае автоматически скрываться. | ||
+ | |- | ||
+ | |Асинхронный режим | ||
+ | |Да/нет. Способ рассылки уведомлений. При выборе асинхронного режима компонент не ожидает доставки уведомлений пользователям и сразу передает управление следующему объекту сценария. Имеет смысл при рассылке уведомления множеству пользователей из сценариев IVR обработки входящих вызовов во избежание незапланированных пауз. Однако при завершении сценария асинхронные рассылки всех уведомлений, не успевшие завершиться, будут прерваны. | ||
+ | |- | ||
+ | |Разрешать несколько экземпляров на экране | ||
+ | |Да/нет. В некоторых случаях требуется выводить уведомления об одном и том же. Чтобы однотипные отображения не заполняли экран, можно устанавливать режим фильтрации по коду сообщения. Код указывается в открывающемся при этом свойстве. | ||
+ | |- | ||
+ | |Код сообщения | ||
+ | |Доступно только при запрете нескольких экземпляров на экране. Аргумент, определяющий код, на основании которого будет производиться фильтрация и пропуск отображения. | ||
+ | |- | ||
+ | |Переход | ||
+ | |Компонент, на который передается управление после успешного завершения ввода. | ||
+ | |- | ||
+ | |Имя | ||
+ | |Название компонента для отображения в визуальной среде и выбора в списке. | ||
+ | |} | ||
− | |||
− | + | '''Поддерживаемые HTML-теги''': | |
− | + | ||
− | + | * <html>..</html> - определяет, что блок текста должен быть отображен как HTML-документ | |
+ | * <nowiki><span>..</span></nowiki> - текстовый блок, атрибуты: style - стиль | ||
+ | * <nowiki><a>..</a></nowiki> - гиперссылка, атрибуты: href - ссылка, title - заголовок, style - стиль | ||
+ | * <nowiki><b>..</b></nowiki> - полужирный, атрибуты: style - стиль | ||
+ | * <nowiki><u>..</u></nowiki> - подчеркнутый, атрибуты: style - стиль | ||
+ | * <nowiki><i>..</i></nowiki> - курсив, атрибуты: style - стиль | ||
+ | * <nowiki><s>..</s></nowiki> - перечеркнутый, атрибуты: style - стиль | ||
+ | * <nowiki><br></nowiki> - переход на следующую строчку, атрибуты: style - стиль | ||
+ | * <nowiki><center>..</center></nowiki> - выравнение по центру, атрибуты: style - стиль | ||
+ | * <nowiki><p>..</p></nowiki> - параграф, атрибуты: style - стиль > | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | '''Атрибутами стиля могут быть''' | |
− | + | 1. font-weight - толщина символов | |
− | + | Значения: | |
+ | * bold - полужирный | ||
+ | * normal - обычный | ||
+ | (Не поддерживается: bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900)<br /> | ||
− | + | 2. text-decoration - декорация текста | |
− | + | ||
− | + | ||
− | + | ||
− | + | Значения: | |
− | + | * line-through - перечеркнутый | |
− | + | * underline - подчеркнутый | |
− | + | * none - отсутствует | |
− | + | (Не поддерживается: blink | overline ) | |
− | + | 3. font-style - стиль шрифта | |
− | + | Значения: | |
+ | * normal - обычный | ||
+ | * italic - курсив | ||
+ | (Не поддерживается: oblique) | ||
− | + | 4. text-align - выравнение текста (только для<nowiki><p></nowiki>) | |
− | + | Значения: | |
+ | * left - по левому краю | ||
+ | * right - по правому краю | ||
+ | * center - по центру | ||
+ | * justify - по ширине | ||
− | + | 5. color - цвет текста | |
− | + | Значения: | |
+ | * red - красный | ||
+ | * green - зеленый | ||
+ | * blue - синий | ||
+ | * black - черный | ||
+ | * white - белый | ||
+ | * yellow - желтый | ||
+ | * gray - серый | ||
+ | * #XXXXXX - шестнадцатеричный код цвета где (X - шестнадцатеричное число 0..F ) | ||
− | |||
− | |||
− | + | '''Другие атрибуты игнорируются''' | |
− | |||
− | + | Примеры: | |
− | + | * <html>Данное устройство<nowiki> <b style='color:red;'></nowiki>не обнаружено<nowiki></b></html></nowiki> | |
+ | * <html>У Вас новая <nowiki><a style='font-style:bold;color:#127A81</nowiki>;<nowiki>' href='http://mail.ru' title='</nowiki>Нажмите, чтобы открыть<nowiki>'>почта</a></html></nowiki> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | <div id="SmsSend"></div> | ||
+ | ==[[Файл:cl_cc_scr_i19.png|left]]Отправка одного SMS== | ||
− | + | Осуществляет отправку SMS-сообщения по указанному номеру с назначенным текстом. Может быть настроен на ожидание доставки. Компонент работает с SMS-сервисом, указанным в [//wiki.oktell.ru/SMS-сервис общих настройках]. | |
+ | '''Свойства''': | ||
− | + | {|cellpadding="10" cellspacing="0" border="1" | |
− | + | |Номер | |
− | + | |Аргумент, определяющий номер адресата. | |
− | + | |- | |
− | + | |Текст | |
− | + | |Аргумент, определяющий текст SMS-сообщения. | |
− | + | |- | |
− | + | |Подставляемый номер | |
− | + | |Номер, от которого осуществляется доставка. | |
− | + | |- | |
− | + | |Push Id | |
− | + | |Код отправленного сообщения (для дальнейшего запроса отчета о доставке). | |
− | + | |- | |
− | + | |Ожидание доставки | |
− | + | |Да/Нет. Требуется ли ожидать отчета о доставке. | |
− | + | |- | |
− | + | |Таймаут ожидания | |
− | + | |Время, которое компонент будет ожидать отчета о доставке. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | Номер | + | |
− | + | ||
− | + | ||
− | Текст | + | |
− | + | ||
− | + | ||
− | Подставляемый номер | + | |
− | + | ||
− | + | ||
− | Push Id | + | |
− | + | ||
− | + | ||
− | Ожидание доставки | + | |
− | + | ||
− | + | ||
− | Таймаут ожидания | + | |
− | + | ||
− | + | ||
Поле доступно только при выборе значения «Да» в свойстве «Ожидание доставки». | Поле доступно только при выборе значения «Да» в свойстве «Ожидание доставки». | ||
− | + | |- | |
− | Переход, доставлено | + | |Переход, доставлено |
− | + | |Компонент, на который передается управление после успешной отправки сообщения. В случае установки значения «Да» в свойстве "Ожидание доставки", если сообщение успешно доставлено до таймаута ожидания. | |
− | + | |- | |
− | Переход, не доставлено | + | |Переход, не доставлено |
− | + | |Компонент, на который передается управление, если сообщение отправлено, но не было доставлено за установленное время ожидания (в случае если ожидание было назначено). | |
− | + | ||
Поле доступно только при выборе значения «Да» в свойстве «Ожидание доставки». | Поле доступно только при выборе значения «Да» в свойстве «Ожидание доставки». | ||
− | + | |- | |
− | Переход, ошибка | + | |Переход, ошибка |
− | + | |Компонент, на который передается управление, если сервис недоступен или вернул ошибку. | |
− | + | |- | |
− | Имя | + | |Имя |
− | + | |Название компонента для отображения в визуальной среде и выбора в списке. | |
− | + | |} | |
− | |||
− | + | <div id="SmsReceive"></div> | |
+ | ==[[Файл:cl_cc_scr_i21.png|left]]Получение первого SMS== | ||
− | + | Производит запрос к SMS-сервису на получение первого в очереди входящих сообщений. В случае успеха наполняет переменные сценария соответствующими сообщению значениями. Компонент работает с SMS-сервисом, указанным в [//wiki.oktell.ru/SMS-сервис общих настройках]. | |
− | + | ||
+ | '''Свойства''': | ||
− | + | {|cellpadding="10" cellspacing="0" border="1" | |
+ | |Номер отправителя | ||
+ | |Переменная, куда запишется номер отправителя. | ||
+ | |- | ||
+ | |Текст | ||
+ | |Переменная, куда запишется текст сообщения. | ||
+ | |- | ||
+ | |Номер адресата | ||
+ | |Переменная, куда запишется номер, на который сообщение было отправлено. | ||
+ | |- | ||
+ | |Переход, получено | ||
+ | |Компонент, на который передается управление, если сообщение на сервере имеется и получено успешно. | ||
+ | |- | ||
+ | |Переход, сообщений нет | ||
+ | |Компонент, на который передается управление, если входящих сообщений на сервере нет. | ||
+ | |- | ||
+ | |Переход, ошибка | ||
+ | |Компонент, на который передается управление, если сервис недоступен или вернул ошибку. | ||
+ | |- | ||
+ | |Имя | ||
+ | |Название компонента для отображения в визуальной среде и выбора в списке. | ||
+ | |} | ||
− | |||
− | + | <div id="SmsCheck"></div> | |
− | + | ==[[Файл:cl_cc_scr_i20.png|left]]Получение статуса отправленного SMS== | |
− | Push Id | + | Производит запрос к SMS-сервису на получение отчета о доставке конкретного SMS-сообщения по коду отправки (Push Id). Компонент работает с SMS-сервисом, указанным в [//wiki.oktell.ru/SMS-сервис общих настройках]. |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
+ | '''Свойства''': | ||
− | + | {|cellpadding="10" cellspacing="0" border="1" | |
+ | |Push Id | ||
+ | |Код отправленного сообщения. | ||
+ | |- | ||
+ | |Переход, доставлено | ||
+ | |Компонент, на который передается управление, если sms уже доставлено. | ||
+ | |- | ||
+ | |Переход, не доставлено | ||
+ | |Компонент, на который передается управление, если sms еще не доставлено. | ||
+ | |- | ||
+ | |Переход, неудача | ||
+ | |Компонент, на который передается управление, если сервис недоступен или вернул ошибку. | ||
+ | |- | ||
+ | |Имя | ||
+ | |Название компонента для отображения в визуальной среде и выбора в списке. | ||
+ | |} | ||
− | |||
− | + | <div id="SmsBalance"></div> | |
− | + | ==[[Файл:cl_cc_scr_i22.png|left]]Запрос баланса SMS== | |
− | Производит запрос к SMS-сервису на | + | Производит запрос к SMS-сервису для получения баланса на счете. Компонент работает с SMS-сервисом, указанным в [//wiki.oktell.ru/SMS-сервис общих настройках]. |
+ | '''Свойства''': | ||
− | + | {|cellpadding="10" cellspacing="0" border="1" | |
+ | |Количество | ||
+ | |Переменная, куда вернется количество оставшихся оплаченных SMS-сообщений. | ||
+ | |- | ||
+ | |Переход | ||
+ | |Компонент, на который передается управление, если запрос отработан. | ||
+ | |- | ||
+ | |Переход, ошибка | ||
+ | |Компонент, на который передается управление, если сервис недоступен или вернул ошибку. | ||
+ | |- | ||
+ | |Имя | ||
+ | |Название компонента для отображения в визуальной среде и выбора в списке. | ||
+ | |} | ||
+ | <div id="EmailSend"></div> | ||
− | + | ==[[Файл:cl_cc_scr_i23.png|left]]Отправка одного Email== | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | Осуществляет отправку email-сообщения на указанный ящик электронной почты. Для зашифрованного соединения (свойство "SSL-авторизация") компонент использует протокол StartTLS. Это означает, что соединение изначально идет по незащищенному порту 25, а затем шифруется, в отличии от протокола SSL, где соединение изначально происходит по защищенным портам. Именно поэтому, в большинстве случаев в свойстве "Порт почтового сервера" следует указывать незащищенный порт 25, вместо 465. | |
− | |||
− | + | '''Свойства''': | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | Свойства: | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
+ | {|cellpadding="10" cellspacing="0" border="1" | ||
+ | |Почтовый сервер | ||
+ | |Свойство, определяющее источник настроек для SMTP сервера | ||
+ | * Согласно общим настройкам - используется SMTP-сервер, указанный в [//wiki.oktell.ru/Настройки_E-mail общих настройках] комплекса | ||
+ | * SMTP - используется отдельный SMTP-сервер, указанный в настройках данного компонента | ||
+ | |- | ||
+ | |Адрес почтового сервера | ||
+ | |Адрес SMTP-сервера. | ||
+ | |- | ||
+ | |Порт почтового сервера | ||
+ | |Порт SMTP-сервера. В большинстве случаев, порт 25 (смотрите выше). | ||
+ | |- | ||
+ | |Логин | ||
+ | |Учетная запись на почтовом сервере | ||
+ | |- | ||
+ | |Пароль | ||
+ | |Пароль учетной записи на почтовом сервере | ||
+ | |- | ||
+ | |SSL-авторизация | ||
+ | |Устанавливается "Да", если SMTP сервер требует SSL-авторизацию. | ||
+ | |- | ||
+ | |Кому | ||
+ | |Аргумент, определяющий получателей email сообщения. Если письмо предназначается нескольким адресатам, то адреса должны быть перечислены через «,». Для версий ниже 2.9 адреса должны быть перечислены через «;» | ||
+ | |- | ||
+ | |От кого | ||
+ | |Аргумент, определяющий отправителя email сообщения. Ряд почтовых серверов требует явного указания поля "Отправитель" (e-mail адрес отправителя). В этом случае свойство должно быть вычислено к моменту, когда компонент получит управление. | ||
В качестве отправителя может быть указана строка вида "username <address@mail.com>". | В качестве отправителя может быть указана строка вида "username <address@mail.com>". | ||
− | + | |- | |
− | Тема | + | |Тема |
− | + | |Аргумент, определяющий тему email сообщения. | |
− | + | |- | |
− | Формат | + | |Формат |
− | + | |Текст или HTML. Определяет формат, в котором будет сформировано тело для отправки. | |
− | + | |- | |
− | Содержание письма | + | |Содержание письма |
− | + | |Аргумент, определяющий текстовую часть e-mail сообщения. | |
− | + | |- | |
− | Кодировка | + | |Кодировка |
− | + | |Определяет кодировку отправляемого письма. При необходимости осуществляется преобразование тела. | |
− | + | * UTF-8 | |
− | + | * UTF-7 | |
− | + | * Windows-1251 | |
− | + | * KOI8-R | |
− | + | * Текущая кодовая страница Windows | |
− | + | * Указанная кодовая страница Windows | |
− | + | |- | |
− | + | |Кодовая страница Windows | |
− | + | |Доступно только при выборе кодировки «Указанная кодовая страница Windows». | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | Кодовая страница Windows | + | |
− | + | ||
− | + | ||
Числовой аргумент, определяющий кодовую страницу Windows для формирования тела письма. | Числовой аргумент, определяющий кодовую страницу Windows для формирования тела письма. | ||
− | + | |- | |
− | Вложение 1 | + | |Вложение 1 |
− | + | |Аргумент, значение которого определяет абсолютный путь к файлу, который необходимо прикрепить к сообщению email. | |
− | + | |- | |
− | Вложение 2 | + | |Вложение 2 |
− | + | |Появляется, только если выбрано "Вложение 1". | |
− | + | |- | |
− | Вложение 3 | + | |Вложение 3 |
− | + | |Появляется, только если выбрано "Вложение 2". | |
− | + | |- | |
− | Вложение 4 | + | |Вложение 4 |
− | + | |Появляется, только если выбрано "Вложение 3". | |
− | + | |- | |
− | Вложение 5 | + | |Вложение 5 |
− | + | |Появляется, только если выбрано "Вложение 4". | |
− | + | |- | |
− | Уведомлять об ошибках | + | |Уведомлять об ошибках |
− | + | |Форма выбора пользователей-получателей уведомлений об ошибках, возникающих в момент выполнения отправки. Необходимо в отладочных целях в первые дни работы новых проектов. | |
− | + | |- | |
− | Переход | + | |Переход |
− | + | |Компонент, на который передается управление, если сообщение успешно отправлено. | |
− | + | |- | |
− | Переход, неудача | + | |Переход, неудача |
− | + | |Компонент, на который передается управление, если при отправке SMTP сервер вернул ошибку. | |
− | + | |- | |
− | Имя | + | |Имя |
− | + | |Название компонента для отображения в визуальной среде и выбора в списке. | |
− | + | |} | |
− | |||
− | + | <div id="EmailReceive"></div> | |
− | + | ||
− | + | ||
+ | ==[[Файл:cl_cc_scr_i24.png|left]]Получение первого Email== | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Осуществляет прием email-сообщения с указанного ящика электронной почты. | Осуществляет прием email-сообщения с указанного ящика электронной почты. | ||
− | |||
− | Свойства: | + | '''Свойства''': |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
+ | {|cellpadding="10" cellspacing="0" border="1" | ||
+ | |Почтовый сервер | ||
+ | |Свойство, определяющее источник настроек для сервера входящей почты. | ||
+ | *Согласно общим настройкам — используется сервер входящей почты, указанный в [//wiki.oktell.ru/Настройки_E-mail общих настройках] комплекса | ||
+ | *POP3 — используется отдельный сервер, работающий по протоколу POP3 | ||
+ | *IMAP4 — используется отдельный сервер, работающий по протоколу IMAP4 | ||
+ | |- | ||
+ | |Адрес почтового сервера | ||
+ | |Адрес сервера входящей почты | ||
+ | |- | ||
+ | |Порт почтового сервера | ||
+ | |Порт сервера входящей почты (стандартный порт POP сервера - 110, IMAP сервера - 143). | ||
+ | |- | ||
+ | |Логин | ||
+ | |Учетная запись на сервере | ||
+ | |- | ||
+ | |Пароль | ||
+ | |Пароль учетной записи на сервере | ||
+ | |- | ||
+ | |SSL-авторизация | ||
+ | |Устанавливается "Да", если почтовый сервер требует SSL-авторизацию. | ||
+ | |- | ||
+ | |MessageId | ||
+ | |Переменная, в которую будут сохранен идентификатор email сообщения. | ||
+ | |- | ||
+ | |Кому | ||
+ | |Переменная, в которую будут сохранены получатели email сообщения. | ||
+ | |- | ||
+ | |От кого | ||
+ | |Переменная, в которую будут сохранены отправители email сообщения. | ||
+ | |- | ||
+ | |Тема | ||
+ | |Переменная, в которую будут сохранена тема email сообщения. | ||
+ | |- | ||
+ | |Предпочитаемый тип контента | ||
+ | |Для разделов multipart/alternative позволяет установить предпочитаемый тип текстового контента. При наличии указанного типа среди блоков в переменную будет сохранено именно его содержимое, а остальные дублирующие альтернативные блоки будут игнорироваться. По умолчанию text/plain, но может быть установлен text/html, text/xml, text/rtf, text/richtext. | ||
+ | |- | ||
+ | |Текст письма | ||
+ | |Переменная, в которую будут сохранен текст email сообщения. | ||
+ | |- | ||
+ | |Текст письма часть2 | ||
+ | |Переменная, в которую будут сохранен текст из второй части email сообщения. Используется для сообщений multipart. | ||
+ | |- | ||
+ | |Текст письма часть3 | ||
+ | |Переменная, в которую будут сохранен текст из третьей части email сообщения. Используется для сообщений multipart. | ||
+ | |- | ||
+ | |IMAP каталог | ||
+ | |Аргумент, значение которого определяет IMAP каталог, из которого будет получено сообщение. По умолчанию используется стандартный каталог входящей почты Inbox. | ||
Поле доступно только при работе с IMAP-сервером (свойство «Способ получения»). | Поле доступно только при работе с IMAP-сервером (свойство «Способ получения»). | ||
− | + | |- | |
− | IMAP запрос | + | |IMAP-запрос |
− | + | |Аргумент, значение которого определяет IMAP запрос. Запрос определяет критерии выбора сообщения из каталога, заданного свойством IMAP каталог. По умолчанию используется запрос, возвращающий все письма (значение "ALL"). Более подробно о синтаксисе IMAP запросов можно узнать из документации <nowiki>RFC 2060</nowiki>. | |
− | + | ||
Поле доступно только при работе с IMAP-сервером (свойство «Способ получения»). | Поле доступно только при работе с IMAP-сервером (свойство «Способ получения»). | ||
− | + | |- | |
− | Принимать только заголовки | + | |Принимать только заголовки |
− | + | |Да/Нет. Требуется ли получать только заголовки письма (в этом случае тело сообщения и прикрепленные файлы скачиваться с почтового сервера не будут) | |
− | + | |- | |
− | Удалять с сервера | + | |Удалять с сервера |
− | + | |Да/Нет. Требуется ли удалить письмо с почтового сервера после получения. | |
− | + | |- | |
− | Сохранять вложения | + | |Сохранять вложения |
− | + | |Определяет режим сохранения вложений. | |
− | + | * Нет. Вложения сохранены не будут. | |
− | + | * В указанную папку. В этом случае все вложенные файлы будут сохранены в папку, путь к которой установлен свойством "Папка для вложений". | |
− | + | * В папку по умолчанию. В этом случае каталог определяется из общих настроек, раздел «Настройки e-mail». | |
− | + | |- | |
− | + | |Папка для вложений | |
− | + | |Доступно только при выбранном режиме сохранения вложений в указанную папку. | |
− | + | ||
− | + | ||
− | Папка для вложений | + | |
− | + | ||
− | + | ||
Представляет собой аргумент, устанавливающий абсолютный или относительный путь к папке, куда будут сохранены вложения с исходными именами. | Представляет собой аргумент, устанавливающий абсолютный или относительный путь к папке, куда будут сохранены вложения с исходными именами. | ||
− | + | |- | |
− | Путь к папке для вложений в переменную | + | |Путь к папке для вложений в переменную |
− | + | |Доступно только при выбранном режиме сохранения вложений в папку по умолчанию, заданную в общих настройках. | |
− | + | ||
Представляет собой переменную, в которую будет сохранен путь к папке с вложениями, заданный в общих настройках. | Представляет собой переменную, в которую будет сохранен путь к папке с вложениями, заданный в общих настройках. | ||
− | + | |- | |
− | Уведомлять об ошибках | + | |Уведомлять об ошибках |
− | + | |Форма выбора пользователей-получателей уведомлений об ошибках, возникающих в момент выполнения отправки. Необходимо в отладочных целях в первые дни работы новых проектов. | |
− | + | |- | |
− | Переход, получено | + | |Переход, получено |
− | + | |Компонент, на который передается управление, если сообщение успешно получено. | |
− | + | |- | |
− | Переход, не получено | + | |Переход, не получено |
− | + | |Компонент, на который передается управление, если сообщение не получено, но при этом ошибок не возникло. Такая ситуация может возникнуть, если: | |
+ | * на POP3 сервере нет сообщений | ||
+ | * на IMAP4 сервере нет сообщений в заданном каталоге | ||
+ | * на IMAP4 сервере нет сообщений в заданном каталоге удовлетворяющих заданным критериям | ||
+ | |- | ||
+ | |Переход, неудача | ||
+ | |Компонент, на который передается управление, если при получении сообщения POP3 ( IMAP4 ) сервер вернул ошибку. | ||
+ | |- | ||
+ | |Имя | ||
+ | |Название компонента для отображения в визуальной среде и выбора в списке. | ||
+ | |} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | <div id="ICQSend"></div> | ||
− | + | ==[[Файл:cl_cc_scr_i25.png|left]]Отправка сообщения IM (ICQ, Jabber) == | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
Осуществляет отправку IM-сообщения (ICQ или Jabber). Указываются сервер, аккаунт адресата, аккаунт отправителя, способ подключения к серверу (прокси/без прокси). | Осуществляет отправку IM-сообщения (ICQ или Jabber). Указываются сервер, аккаунт адресата, аккаунт отправителя, способ подключения к серверу (прокси/без прокси). | ||
+ | Работа с аккаунтом происходит через пул подключений. Любые обращения к аккаунту (отправки/приема из разных сценариев), влекущие подключение к серверу, помещают созданное подключение в специальный пул, где оно поддерживается некоторое время (устанавливается в разделах «[[ICQ-сервис|Общие настройки. ICQ-сервис]]» и «[[Jabber-сервис|Общие настройки. Jabber-сервис]]»). Каждое последующее обращение к аккаунту работает с подключением из пула и продляет время его существования. В случае таймаута аккаунт отключается. Также аккаунт отключается при получении ошибки сервера или выгрузке серверного приложения. Такой механизм работы в частности гарантирует работу комплекса от ошибки сервера ICQ «Превышен лимит подключений». Для каждого аккаунта в пуле держится отдельное подключение. Для Jabber-аккаунтов держатся отдельно подключения с разными настройками, даже если они имеют одинаковый JID. | ||
− | |||
− | + | '''Свойства''': | |
− | + | {|cellpadding="10" cellspacing="0" border="1" | |
+ | |Протокол | ||
+ | |ICQ / Jabber. | ||
+ | |- | ||
+ | |Прокси-сервер | ||
+ | |Свойство, определяющее источник настроек для подключения к прокси-серверу. | ||
+ | * Не использовать — подключение выполняется напрямую к серверу ICQ/Jabber, минуя прокси. | ||
+ | * Согласно общим настройкам — используется режим подключения, заданный в общих настройках комплекса (отдельно разделы [[ICQ-сервис|ICQ-сервис]] и [[Jabber-сервис|Jabber-сервис]]). | ||
+ | * HTTPS — используется тип протокола прокси-сервера HTTPS | ||
+ | * SOCKS5 — используется тип протокола прокси-сервера SOCKS5 | ||
+ | |- | ||
+ | |Адрес прокси-сервера | ||
+ | |Адрес сервера. | ||
+ | |- | ||
+ | |Порт прокси-сервера | ||
+ | |Порт сервера. (стандартный порт SOCKS5 сервера - 1080, HTTPS сервера - 8080). | ||
+ | |- | ||
+ | |Авторизация на прокси | ||
+ | |Устанавливается "Да", если сервер требует авторизацию. | ||
+ | |- | ||
+ | |Учетная запись | ||
+ | |Свойство, определяющее источник настроек учетной записи для ICQ или Jabber, которая будет использоваться в качестве отправителя сообщения. | ||
+ | * Использовать общую (из настроек комплекса) — используется учетная запись, заданная в общих настройках комплекса (отдельно разделы [[ICQ-сервис|ICQ-сервис]] и [[Jabber-сервис|Jabber-сервис]]). | ||
+ | * Настроить — настройки учетной записи определяются нижеследующими свойствами. | ||
+ | |- | ||
+ | |Адрес jabber-сервера | ||
+ | |Только при использовании протокола Jabber. Адрес сервера | ||
+ | |- | ||
+ | |Порт jabber-сервера | ||
+ | |Только при использовании протокола Jabber. Порт сервера | ||
+ | |- | ||
+ | |UIN / Jabber ID | ||
+ | |Номер учетной записи ICQ/Jabber | ||
+ | |- | ||
+ | |Пароль UIN / JID | ||
+ | |Пароль учетной записи ICQ/Jabber | ||
+ | |- | ||
+ | |Таймаут ожидания соединения | ||
+ | |Аргумент, определяющий временной интервал (в миллисекундах), в течение которого система ожидает соединения с IM-сервером (ICQ / Jabber). При отправке сообщения выполнение сценария будет приостановленно до тех пор пока: | ||
+ | * Будет установлено успешное соединение с сервером | ||
+ | * Истечет таймаут ожидания соединения | ||
+ | |- | ||
+ | |Таймаут отправки сообщения | ||
+ | |Аргумент, определяющий временную задержку ( в миллисекундах ) перед отправкой сообщения. | ||
+ | |- | ||
+ | |UIN / JID получателя | ||
+ | |Аргумент, определяющий UIN-номера / JID-аккаунты получателей IM-сообщения. Если сообщение предназначается нескольким адресатам, то адреса должны быть перечислены через «,». | ||
+ | |- | ||
+ | |Текст сообщения | ||
+ | |Аргумент, определяющий текст сообщения. | ||
+ | |- | ||
+ | |Уведомлять об ошибках | ||
+ | |Форма выбора пользователей-получателей уведомлений об ошибках, возникающих в момент выполнения отправки. Необходимо в отладочных целях в первые дни работы новых проектов. | ||
+ | |- | ||
+ | |Переход | ||
+ | |Компонент, на который передается управление, если сообщение успешно отправлено. | ||
+ | |- | ||
+ | |Переход, неудача | ||
+ | |Компонент, на который передается управление, если при отправке сервер вернул ошибку. | ||
+ | |- | ||
+ | |Имя | ||
+ | |Название компонента для отображения в визуальной среде и выбора в списке. | ||
+ | |} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | <div id="ICQReceive"></div> | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ==[[Файл:cl_cc_scr_i26.png|left]]Прием первого сообщения IM (ICQ, Jabber) == | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
Осуществляет прием IM-сообщения (ICQ или Jabber). Указываются сервер, аккаунт получателя, способ подключения к серверу. | Осуществляет прием IM-сообщения (ICQ или Jabber). Указываются сервер, аккаунт получателя, способ подключения к серверу. | ||
− | |||
Получаемые сообщения сохраняют в указанных переменных аккаунт отправителя и текст сообщения. | Получаемые сообщения сохраняют в указанных переменных аккаунт отправителя и текст сообщения. | ||
− | |||
Работа компонента происходит через пул подключений аналогично компоненту «Отправка IM-сообщения». | Работа компонента происходит через пул подключений аналогично компоненту «Отправка IM-сообщения». | ||
− | |||
− | Свойства: | + | '''Свойства''': |
− | + | {|cellpadding="10" cellspacing="0" border="1" | |
+ | |Протокол | ||
+ | |ICQ / Jabber | ||
+ | |- | ||
+ | |Настройки прокси | ||
+ | |Форма, определяющая настройки подключения к прокси-серверу. | ||
+ | |- | ||
+ | |Настройки учетной записи | ||
+ | |При получении ICQ-сообщения - форма, определяющая настройки учетной записи (UIN) ICQ, которая будет использоваться в качестве получателя сообщения ICQ. | ||
+ | При получении Jabber-сообщения - форма настройки учетной записи (JID) сервиса Jabber, которая будет использоваться в качестве получателя Jabber-сообщения, а также настройки сервера, к которому необходимо осуществлять подключение для работы в сети Jabber. Обратите внимание на рекомендации, приведенные в разделе [[Jabber-сервис|Общие настройки. Jabber-сервис]]. | ||
+ | |- | ||
+ | |UIN / JID | ||
+ | |Переменная, в которую будет сохранен UIN / JID отправителя IM-сообщения. | ||
+ | |- | ||
+ | |Таймаут ожидания соединения | ||
+ | |Аргумент, определяющий временной интервал (в миллисекундах), в течение которого система ожидает соединения с сервером. При получении сообщения выполнение сценария будет приостановленно до тех пор пока: | ||
+ | * Будет установлено успешное соединение с сервером | ||
+ | * Истечет таймаут ожидания соединения | ||
+ | |- | ||
+ | |Таймаут получения сообщения | ||
+ | |Аргумент, определяющий временную задержку (в миллисекундах) перед получением сообщения. Если на указанный в свойстве «Настройки учетной записи» аккаунт раньше приходили сообщения, то таймаут игнорируется, а в переменные «UIN/JID», «Текст сообщения» будет подставлены значения, сохраненные в пуле сервера состояний системы. | ||
+ | |- | ||
+ | |Текст сообщения | ||
+ | |Переменная, в которую будет сохранен текст полученного сообщения. | ||
+ | |- | ||
+ | |Уведомлять об ошибках | ||
+ | |Форма выбора пользователей-получателей уведомлений об ошибках, возникающих в момент выполнения получения. Необходимо в отладочных целях в первые дни работы новых проектов. | ||
+ | |- | ||
+ | |Переход | ||
+ | |Компонент, на который передается управление, если сообщение успешно получено. | ||
+ | |- | ||
+ | |Переход, сообщений нет | ||
+ | |Компонент, на который передается управление, если новых сообщений не обнаружено. | ||
+ | |- | ||
+ | |Переход, неудача | ||
+ | |Компонент, на который передается управление, если при получении сервер вернул ошибку. | ||
+ | |- | ||
+ | |Имя | ||
+ | |Название компонента для отображения в визуальной среде и выбора в списке. | ||
+ | |} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | <div id="1CQuery"></div> | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ==[[Файл:cl_cc_scr_i501.png|left]]Запрос к веб-сервису 1С== | |
− | + | Осуществляет запрос к веб-сервису 1C, зарегистрированному в общих настройках или в компоненте. Запрос формируется на языке 1C. Параметры веб-сервиса могут быть заданы как в компоненте, так и в общих настройках. | |
+ | Для работы компонента (для его появления в редакторе сценариев) требуется наличие интеграционной лицензии. | ||
− | |||
− | + | '''Свойства''': | |
− | + | {|cellpadding="10" cellspacing="0" border="1" | |
+ | |Запрос | ||
+ | |Тело запроса на языке 1С. | ||
+ | |- | ||
+ | |Параметры веб-сервиса | ||
+ | |Устанавливает к использованию параметры веб-сервиса из общих настроек или позволяет настроить в рамках компонента (в этом случае появляются дополнительные поля ''URI'', ''логин'', ''пароль''). | ||
+ | |- | ||
+ | |URI | ||
+ | |Аргумент, определяющий URI веб-сервиса 1С. | ||
+ | Доступно только при выборе режима доступа к веб-сервису по параметрам, определенным текущим компонентом. | ||
+ | |- | ||
+ | |Логин | ||
+ | |Аргумент, определяющий логин к веб-сервису 1С. | ||
+ | Доступно только при выборе режима доступа к веб-сервису по параметрам, определенным текущим компонентом. | ||
+ | |- | ||
+ | |Пароль | ||
+ | |Аргумент, определяющий пароль к веб-сервису 1С. | ||
+ | Доступно только при выборе режима доступа к веб-сервису по параметрам, определенным текущим компонентом. | ||
+ | |- | ||
+ | |Режим запроса | ||
+ | |Асинхронно без ожидания/Ожидание ответа/Ожидание ответа с таймаутом. | ||
+ | |- | ||
+ | |Таймаут, с | ||
+ | |Аргумент, определяющий таймаут в секундах для ожидания ответа от веб-сервиса на отправленный запрос. | ||
+ | Доступно только при выборе режима ''Ожидание ответа с таймаутом''. | ||
+ | |- | ||
+ | |Сохранять значения первой строки | ||
+ | |Да/нет. Определяет, сохранять ли значения из первой строки вернувшегося в ответе от веб-сервиса набора данных в переменных сценария, сопоставляя их имена с названиями столбцов в наборе. | ||
+ | |- | ||
+ | |Результат CSV в переменную | ||
+ | |Переменная, в которую сохранится результат в формате CSV. | ||
+ | |- | ||
+ | |Результат XML в переменную | ||
+ | |Переменная, в которую сохранится результат в формате XML | ||
+ | |- | ||
+ | |Таймаут получения сообщения | ||
+ | |Аргумент, определяющий временную задержку (в миллисекундах) перед получением сообщения. Если на указанный в свойстве «Настройки учетной записи» аккаунт раньше приходили сообщения, то таймаут игнорируется, а в переменные «UIN/JID», «Текст сообщения» будет подставлены значения, сохраненные в пуле сервера состояний системы. | ||
+ | |- | ||
+ | |Переход | ||
+ | |Компонент, на который передается управление, если работа компонента завершена удачно. | ||
+ | |- | ||
+ | |Переход, таймаут | ||
+ | |Компонент, на который передается управление, если работа компонента завершена по таймауту. | ||
+ | |- | ||
+ | |Переход, неудача | ||
+ | |Компонент, на который передается управление, если при веб-сервер вернул ошибку или задан не верно. | ||
+ | |- | ||
+ | |Имя | ||
+ | |Название компонента для отображения в визуальной среде и выбора в списке. | ||
+ | |} | ||
− | |||
− | + | <div id="ClientGroup"></div> | |
+ | ==[[Файл:cl_cc_scr_i15.png|left]](Удалено) Определить группу клиента== | ||
− | + | <span style="color:red">ВНИМАНИЕ: Компонент перенесен в "Статус объекта", начиная с версии 2.11.3.150320. | |
− | + | Осуществляет проверку на принадлежность контакта (определившегося номера телефона, почтового адреса и любого другого переданного аргумента) указанной группе клиентов. Позволяет разделить обработку в сценарии звонков VIP клиентов, клиентов из черного списка, личных контактов и пр. | |
− | + | ||
− | + | ||
+ | '''Свойства''': | ||
− | + | {|cellpadding="10" cellspacing="0" border="1" | |
+ | |Контакт | ||
+ | |Аргумент, содержащий произвольную контактную информацию. | ||
+ | |- | ||
+ | |Группа | ||
+ | |Аргумент, содержащий имя группы клиентов. | ||
+ | |- | ||
+ | |Переход, принадлежит | ||
+ | |Компонент, на который передается управление, если соответствующий контакту клиент найден, указанная группа существует, и клиент принадлежит группе. | ||
+ | |- | ||
+ | |Переход, не принадлежит | ||
+ | |Компонент, на который передается управление, если не найден соответствующий контакту клиент, не существует группа, или клиент не принадлежит группе. | ||
+ | |- | ||
+ | |Имя | ||
+ | |Название компонента для отображения в визуальной среде и выбора в списке. | ||
+ | |} |
Текущая версия на 08:51, 16 февраля 2023
Техническая документация / Call-центр или Администрирование / Сценарии / Общие компоненты сценариев
Смотрите также:
В данном блоке в справочном порядке будут приведены все компоненты, являющиеся общими для всех типов сценариев, а также краткое описание действий и перечни свойств.
Содержание
- 1 Старт
- 2 Стоп
- 3 Присвоение значения переменной
- 4 Сравнение
- 5 Меню сравнения
- 6 Запуск сценария
- 7 Пауза
- 8 Статус объекта
- 9 Запрос в базу данных
- 10 Запрос к WEB-сервису
- 11 Парсер (XML, HTML, текст)
- 12 Файловая операция
- 13 Запуск внешнего процесса с параметрами
- 14 Действие/карточка в plugin или WebCRM
- 15 Плагин
- 16 Регистрация динамического потока
- 17 Увеличение значения счетчика
- 18 Создание исходящей задачи
- 19 Голосовая почта
- 20 Заказ на встречный звонок
- 21 Уведомление
- 22 Отправка одного SMS
- 23 Получение первого SMS
- 24 Получение статуса отправленного SMS
- 25 Запрос баланса SMS
- 26 Отправка одного Email
- 27 Получение первого Email
- 28 Отправка сообщения IM (ICQ, Jabber)
- 29 Прием первого сообщения IM (ICQ, Jabber)
- 30 Запрос к веб-сервису 1С
- 31 (Удалено) Определить группу клиента
Старт
Компонент существует в любом сценарии – с него начинается действие, если трубка обрабатываемой линии положена. Старт на вход принимает параметр, который может сохранить в некоторой внутренней переменной сценария для дальнейшего использования.
Свойства:
Параметр запуска | Переменная, в которую необходимо сохранить значение, переданное из другого сценария, запустившего этот. |
Переход | Компонент, на который передается управление. |
Имя | Название компонента для отображения в визуальной среде и выбора в списке. |
Стоп
Осуществляет завершение сценария без разрыва связи. Служит для остановки выполнения сценария после появления соответствующих условий. Классические примеры успешное переключение в сценарии IVR или корректное завершение работы в сценарии диалога.
Свойства:
Возврат управления | Да/нет. По умолчанию «Да». Флаг определяет необходимо ли в текущей точке передать управление стеку (да) или прекратить выполнение всей последовательности сценариев (нет). Актуален только в сценариях, вызванных через компонент Запуск сценария с установленным флагом «Возврат управления» и в проектных сценариях IVR, вызванных через компонент Вход в проект. |
Имя | Название компонента для отображения в визуальной среде и выбора в списке. |
Присвоение значения переменной
Задает значение указанной переменной. В качестве присваемого значения выступает аргумент. Используется механизм преобразования типов, если типы значения аргумента и переменной не совпадают.
Свойства:
Режим | Одиночный / Множественный
Множественный режим позволяет в одном компоненте производить сразу несколько операций присвоения. |
Переменная | Локальная переменная, в которую нужно записать указанное значение.
Доступно только в режиме одиночной операции. |
Значение | Аргумент (значение, переменная, функция, выражение), значение которого необходимо задать для указанной переменной.
Доступно только в режиме одиночной операции. |
Операции | Список операций (пар элементов {Переменная, Аргумент}), которые будут выполнены в порядке перечисления в окне задания значений нескольких операций присвоения.
Если в одной из операций в аргументе используется переменная, указанная в качестве приемщика значения в более ранней операции по списку, то при расчете значения аргумента будет использовано новое ее значение. Таким образом компонент с множественным присвоением является компактным аналогом последовательности одиночных присвоений. |
Переход | Компонент, на который передается управление. |
Имя | Название компонента для отображения в визуальной среде и выбора в списке. |
Сравнение
Сравнивает значения двух аргументов. Компонент осуществляет ветвление сценария. В случае соответствия выбранной логической операции и значений аргументов переход осуществляется по ветке «Правда», в противном случае – по ветке «Ложь».
Свойства:
Аргумент 1 | Аргумент (значение, переменная, функция, выражение), значение которого необходимо сравнить. |
Аргумент 2 | Аргумент (значение, переменная, функция, выражение), значение которого необходимо сравнить. |
Тип сравнения | Один из вариантов логической операции
|
Переход, правда | Компонент, на который передается управление, если выбранная логическая операция вернула истину. |
Переход, ложь | Компонент, на который передается управление, если выбранная логическая операция вернула ложь. |
Имя | Название компонента для отображения в визуальной среде и выбора в списке. |
Меню сравнения
Сравнивает аргумент со списком значений. Компонент может иметь неограниченное число веток перехода. Переход осуществляется по ветке значения, с которым совпало значение аргумента. Если совпадений не найдено, переход осуществляется по ветке «Прочее».
Свойства:
Аргумент | Аргумент (значение, переменная, функция, выражение), значение которого необходимо сравнить. |
Значения (варианты) | Окно ввода значений, позволяющее задать возможные значения и связывающее с каждым указанным значением элемент перехода. Соответственно переход осуществляется по ветке первого найденного совпадающего значения. |
Переход, прочее | Компонент, на который передается управление, если среди значений не найдено того, которое соответствует значению аргумента. |
Имя | Название компонента для отображения в визуальной среде и выбора в списке. |
Запуск сценария
В случае организации автоматических сервисов размеры сценария могут быть достаточно велики, и компонент «Запуск сценария» предоставляет возможность разбить крупный сценарий на несколько логических блоков. Таким образом, один сценарий передает управление в начало другого сценария. При этом можно задать некоторое значение на запуск, которое примет компонент «Старт» вложенного сценария и сохранит в свою локальную переменную. Помимо этого, все переменные одного типа, которые названы одинаково в запускающем и запускаемом сценариях, перенесут свои значения из одного в другой без изменений. Такой способ запуска называется вложенным.
ВНИМАНИЕ! Обработка сценария начинается с компонента Старт и ведется последовательно согласно значениям свойств перехода, если трубка положена (в основном это входящие звонки с внешних линий). В случае, когда трубка уже поднята, после компонента Старт производится безусловный переход к компоненту "Поднять трубку", если такой имеется в сценарии. При этом обработчик пропускает все компоненты, которые находятся между ними. Запуск вложенных сценариев следует этим же правилам.
Также с помощью компонента можно запускать в параллельный процесс любой служебный сценарий, не работающий с зависимыми от основного сценария ресурсами (линией, оператором). При запуске асинхронного служебного сценария начальные значения его переменных, совпадающих по типам и именам с переменными основного сценария, будут установлены в соответствии с их значениями.
Свойства:
Тип запуска | Определяет тип и формат запуска дочернего сценария.
|
Сценарий | Текстовое поле с возможностью выбора из списка имеющихся сценариев. Определяет имя сценария, который необходимо запустить. |
Параметр запуска | Аргумент, передающий свое значение на старт запускаемого сценария. |
Возврат управления | Да/нет. По умолчанию «Нет». Определяет способ вызова вложенного сценария.
При установке значения «Нет» выполнение текущего сценария прекращается и запускается вложенный сценарий (с сохранением значений всех переменных). Такой способ наиболее часто применим на практике. При установке значения «Да» вложенный сценарий вызывается как функция и после его завершения происходит возврат в точку вызова. Все переменные исходного сценария доступны во вложенном и наоборот, таким образом после возврата они будут иметь соответствующие измененные значения. На процедуру возврата также влияет флаг «Возврат управления» компонента Стоп, - используется во вложенном сценарии после успешного переключения с необходимостью безусловно прервать обработчик сценариев.
ВНИМАНИЕ! Вызов внутри одной цепочки исполнения может происходить одновременно как с возвратом, так и без возврата. |
Переход | Компонент, на который передается управление после возврата в случае запуска вложенного сценария, а также непосредственно после запуска служебного сценария.
Поле используется (и обязательно для заполнения) только в случае асинхронного запуска служебного сценария, а также в случае вложенного, если флаг «Возврат управления» установлен. |
Имя | Название компонента для отображения в визуальной среде и выбора в списке. |
Пауза
Осуществляет задержку сценария перед выполнением следующего компонента. В случае указания длительности 0 – компонент пропускается. В некоторых случаях при работе с большими сценариями удобно использовать компонент «Пауза» в качестве пустышки, для удобства и быстроты смены свойств. Например, по веткам выхода из компонента «Меню», где каждое свойство перехода задается внутри специального окна путем выбора одного объекта из списка всех объектов сценария.
Свойства:
Время задержки | Время в миллисекундах, которое необходимо простоять на компоненте в паузе. |
Переход | Компонент, на который передается управление. |
Имя | Название компонента для отображения в визуальной среде и выбора в списке. |
Статус объекта
Позволяет получить доступ к состояниям различных объектов (на чтение и запись). Например до начала переключения определить статус объекта (пользователя, задачи, номера), чтобы без попытки переключения и, соответственно, без включения сигнала ожидания, озвучить соответствующий текст меню.
Свойства:
Действие | Доступные действия:
|
Тип объекта | Один из вариантов: Задача, Пользователь, Номер, Линия, Направление, Конференция, Сервер. Тип объекта, с которым производится работа: статус которого подлежит определению, изменению, или который необходимо создать/удалить.
В зависимости от выбранного действия перечень типов может меняться. |
Задача (ключ), Пользователь (ключ), Номер, Линия (ключ), Направление (ключ), Конференция (ключ), Сервер | Доступны только для действий определить/установить.
В зависимости от выбранного типа поле принимает тот или иной вид:
|
Функция / действие | Доступно только для действий определить/установить.
В зависимости от выбранного действия и типа объекта поле содержит список доступных состояний. Определение состояния.Доступные функции для задач:
Установка состояния.Доступные функции для задач:
|
Значение в переменную | Доступно только для действия «Определить».
Переменная, в которую заносится результат вычисления функции. |
Значение | Доступно только для действия «Установить».
Аргумент, значение которого вычисляется для установки состояния. |
Идентификатор в переменную | Доступно только для действия «Создать».
Переменная, в которую заносится идентификатор вновь созданного объекта. |
Переход | Компонент, на который передается управление. |
Имя | Название компонента для отображения в визуальной среде и выбора в списке. |
Запрос в базу данных
Позволяет производить действия в БД, а также передавать параметры (на вход и на выход). В качестве параметров выступают переменные сценария. Обращение к БД происходит по одной из выбранных технологий: ADO, OLE, ODBC. Для запросов во внешние БД необходимо заполнить строку подключения с помощью помощника – построителя. В случае ошибки переход осуществляется по ветке «Ошибка», и в переменную «Код ошибки» возвращается соответствующий код исключения БД.
Свойства:
SQL запрос | Окно ввода запроса в формате SQL. В нем вы можете проверить запрос, а также исполнить в базе в момент создания. Параметры запроса в виде переменных SQL обозначаются маркером «@» в начале имени («:» в начале имени для OLE, Oracle, или «?» для входных параметров ODBC). Встроенный парсер разберет параметры и предложит сопоставить им переменные сценария. Входные параметры запроса получат значение из соответствующих переменных сценария перед выполнением запроса, выходные параметры занесут свои значения в переменные сценария после выполнения запроса. Также, если в возвращаемой выборке название какого-либо поля совпадает с названием внутренней переменной сценария, в нее будет занесено соответствующее значение из выборки.
На вкладке «Подключение» вы можете выбрать один из вариантов подключения к БД. Это используется в большей части для получения индивидуальных нестандартных настроек, а также при подключении к внешним БД. В случае использования общего формата ADO, OLE или ODBC (а также подключения по отдельно выделенным каналам к БД Oracle) необходимо заполнить строку подключения. В строке и определяются индивидуальные настройки. Например, таймаут ожидания ответа, или драйвер для подключения к различным СУБД при использовании технологии ODBC. В окне помощника формирования строки подключения вы можете увидеть все доступные для использования параметры и их описания. В случае необходимости плотного взаимодействия с внешней СУБД, обилия хранимых процедур, запросов и их параметров рекомендуется настроить прилинкованный сервер СУБД в MS SQL Server и работать с внешней СУБД по правилам, определяемым TSQL. Подробнее о процедуре подключения линкованных серверов можно узнать в разделе Подключение внешних БД Формат самих запросов SQL вне рамок данного описания. |
Таймаут | Устанавливает временное ограничение выполнения запроса на сервере БД. По умолчанию 30 секунд.
В случае, если используется уникальная строка подключения, таймаут может быть установлен в ней (Command Time Out). Если значением является 0, таймаут особым образом не устанавливается и применятся таймаут по умолчанию для созданного подключения (берется из строки подключения или из параметров соответствующего драйвера). Не применяется при подключении к Oracle. |
Код ошибки | Переменная, в которую сохранится код возврата. |
Переход | Компонент, на который передается управление после успешной транзакции. |
Переход, ошибка | Компонент, на который передается управление при появлении исключительной ситуации. В переменную свойства «Код ошибки» попадает код полученного исключения из сервера БД. |
Имя | Название компонента для отображения в визуальной среде и выбора в списке. |
Запрос к WEB-сервису
Позволяет выполнять запросы к web-сервисам в форматах get, post, put, head, delete. На вход может передавать указанным образом заполненную структуру XML документа. Прием данных и их обработку осуществляет также согласно прикрепленной к компоненту структуре XML документа. В случае ошибки переход осуществляется по ветке «Ошибка», и в переменную «Код ошибки» возвращается соответствующий код исключения. Для детального разбора ответа может быть использован совместно с компонентом «Парсер»: сохранив ответ в строковой переменной, его дальнейший анализ производится совокупностью других компонентов сценария.
Компонент поддерживает работу в сессиях, сохраняя и используя COOKIE, а также HTTPS и подтверждение сертификатов.
Свойства:
URL | Переменная, определяющая адрес web-сервера |
Прокси-сервер | Свойство, определяющее источник настроек для подключения к прокси-серверу.
|
Адрес прокси-сервера | Доступно, если выбраны индивидуальные настройки прокси-сервере. Адрес прокси-сервера. |
Порт прокси-сервера | Доступно, если выбраны индивидуальные настройки прокси-сервере. Порт прокси-сервера. |
Авторизация на прокси | Да/Нет. Доступно, если выбраны индивидуальные настройки прокси-сервере. Свойство, отвечающее за необходимость авторизации на прокси-сервер. |
Логин для авторизации на прокси | Доступно, если необходима авторизация на прокси. Логин учетной записи на прокси-сервере |
Пароль для авторизации на прокси | Доступно, если необходима авторизация на прокси. Пароль учетной записи на прокси-сервере |
Базовая авторизация | Свойство, определяющее необходимости использования авторизация на web-сервере
|
Логин для базовой авторизации | Доступно, если выбрано использование базовой авторизации. Логин для авторизации на web-сервере |
Пароль для базовой авторизации | Доступно, если выбрано использование базовой авторизации. Пароль для авторизации на web-сервере |
Максимальное число перенаправлений | Устанавливает ограничение на количество перенаправлений при отправке запроса. По умолчанию свойство не задано, что эквивалентно ограничению в 20 перенаправлений - недостижимое в нормальных условиях значение. 0 - полностью игнорирует перенаправления.
При каждом перенаправлении cookie-файлы накапливаются и передаются дальше. |
Метод | POST / GET / PUT / HEAD / DELETE
В случае POST, PUT, HEAD, DELETE запроса становится доступным формирование и отправка контента. |
Тип контента | Доступно только для методов POST, PUT, HEAD, DELETE. Строка contenttype, подставляемая в отсылаемый запрос. Например,
Допускается указание других строк. |
Тип запроса | XML / Аргумент.
Доступно только для методов POST, PUT, HEAD, DELETE. Вариант определения тела запроса - формирование в специальной форме с подстановкой переменных, либо на базе указанного аргумента. |
Запрос | Доступно только для методов POST, PUT, HEAD, DELETE. В зависимости от выбранного значения свойства «Тип запроса» это либо форма, определяющая структуру запроса и подстановку в качестве параметров аргументов (переменных) сценария, либо форма выбора строкового аргумента. |
Кодировка запроса | Определяет в какой кодировке передается тело запроса. В списке возможных вариантов:
|
Кодовая страница Windows для запроса | Доступно только при выборе кодировки запроса «Указанная кодовая страница Windows».
Числовой аргумент, определяющий кодовую страницу Windows для формирования запроса. |
Дополнительные заголовки | Позволяет переопределить некоторые стандартные заголовки, а также установить новые персональные заголовки.
Строковый аргумент, подразумевающий многострочное присутствие одного или нескольких заголовков в виде: HeaderName1: Value1 HeaderName2: Value2 |
Дополнительные cookie | Позволяет установить дополнительные cookie значения.
Строковый аргумент, подразумевающий присутствие одного или нескольких дуплетов "ключ=значение", разделенных переводом строки, запятой или точкой с запятой. |
Режим работы | Определяет режим работы компонента. Один из четырех вариантов:
|
Таймаут, секунды | Определяет таймаут, после которого компонент завершит свою работу в соответствии с выбранным режимом работы. Доступно только для режимов обрыва и выхода по таймауту. |
Тип ответа | XML / TEXT. Определяет, в каком режиме производить сохранение полученного ответа - парсить XML или сохранять в строковую переменную для дальнейшего анализа. Недоступно для асинхронного режима. |
Ответ(XML) | Если выбран "Тип ответа" — XML. Форма, определяющая структуру стандартного ответа сервера и характер распределения выходных значений по переменным сценария. Поддерживает только строгое соответствие дерева XML. Недоступно для асинхронного режима. |
Ответ в переменную | Если выбран "Тип ответа" — Текст. Переменная, в которую сохранится текст ответа. Недоступно для асинхронного режима. |
Кодировка ответа | Определяет в какой кодировке форматировать тело ответа. В списке возможных вариантов:
|
Кодовая страница Windows для ответа | Доступно только при выборе кодировки ответа «Указанная кодовая страница Windows».
Числовой аргумент, определяющий кодовую страницу Windows для разбора ответа. |
Заголовки ответа в переменную | Переменная, в которую сохранятся заголовки ответа |
Код ошибки в переменную | Переменная, в которую сохранится код возврата сценария.
Если был получен ответ от web-сервиса, то код ошибки совпадает с кодом состояния HTTP. В противном случае это внутренние коды ошибок работы компонента:
|
Переход | Компонент, на который передается управление после успешной транзакции. |
Переход, таймаут | Компонент, на который передается управление в случае, если выход осуществляется по таймауту. |
Переход, ошибка | Компонент, на который передается управление, если web-сервис не доступен или вернул ошибку. |
Имя | Название компонента для отображения в визуальной среде и выбора. |
Парсер (XML, HTML, текст)
Осуществляет разбор любых текстовых структур. Может использоваться метод регулярных выражений или встроенный анализатор гипертекста OQuery. Согласно строке поиска формирует ответ, либо вырезает запрошенный раздел или их совокупность, либо определяет количество элементов в указанном разделе структуры. Сложные структуры могут быть разобраны последовательностью элементов «Парсер». Каждый из которых выделяет из документа некоторую структуру и возвращает ее на вход следующего элемента.
В общем случае производится разбор HTML, XML структур различного формата. На уровне сценария могут быть организованы циклы и условия. Чаще применяется для разбора ответов веб-сервисов компонентом «Web-запрос».
Подробнее о компоненте можете прочитать в статье Компонент Парсер
Документ | Аргумент, содержащий текстовую структуру, подлежащую разбору. |
Алгоритм | Метод разбора:
|
Поисковый запрос | Строка запроса для соответствующего алгоритма. Язык регулярных выражений совпадает со стандартом .NET. Синтаксис языка OQuery и JSON описан ниже. |
Функция | Тип запроса (возвращаемого значения)
В зависимости от выбранного алгоритма допускает выбор одного из возможных вариантов.
|
Номер элемента | Доступно для регулярных выражений и языка OQuery.
Аргумент, определяющий порядковый номер структуры на случай, если поисковый запрос нашел несколько результатов. Нумерация у парсера OQuery начинается с 1, нумерация в случае регулярных выражения и парсера JSON начинается с 0. |
Атрибут | Доступно только для алгоритма OQuery и функций, связанных с атрибутами.
Аргумент, определяющий параметры интересующего атрибута. Функция "Значение атрибута" ждет в качестве значения аргумента имя или порядковый номер атрибута. Функция "Имя атрибута" ждет в качестве значения аргумента порядковый номер атрибута. |
Результат в переменную | Переменная, в которую будет сохранен результат применения поискового запроса к документу (число или часть текста вырезанного или сформированного). |
Переход | Компонент, на который передается управление в случае корректного выполнения поискового запроса. |
Переход, неудача | Компонент, на который передается управление в случае неудачи при разборе. |
Имя | Название компонента для отображения в визуальной среде и выбора в списке. |
Синтаксис языка OQuery
Запрос - это набор команд. Запрос пишется в одну строчку и выполняется в порядке перечисления (слева направо). Для тестирования запросов можно воспользоваться программой OQuery-tester.exe.
Уровни:
* | Все элементы |
> | Все дочерние элементы |
^ | Корневые элементы (содержатся на нулевом уровне искомой структуры) |
пробел | Все элементы кроме корневых |
Простые команды:
название тега документа | Теги, английские буквы и цифры (начинаются на букву).
Пример: ^TITLE - найдет тег TITLE в корне |
#значение | Возвращает теги, у которых атрибут id равен указанному значению.
Пример: FORM#32 - найдет все теги FORM, у которых атрибут id равен 32 ( <FORM class=a id=32> ) |
[название=значение] | Возвращает теги, в теле которых присутствует атрибут с соответствующим названием и значением.
Пример: TABLE[width=90%] |
.значение | Возвращает теги, у которых атрибут class равен указанному значению.
Пример: INPUT.b.c - найдет теги, у которых атрибут class содержит b и c ( <INPUT class="a b c" /> ) |
Примечание: Результат не зависит от порядка перечисления команд. Например TABLE#big.sample = TABLE.sample#big - найдет теги, у которых атрибут id = big и атрибут class содержит sample.
Операции сравнения:
= | Знак полного совпадения значения аттрибута. Пример: TABLE[width=90%] |
^= | Начинается со значения. Пример:IMG[src^="http://bulmas.ru/images"] |
$= | Заканчивается значением. Пример: IMG[src$=".gif"] |
*= | Значение содержится где-то в центре. Пример: IMG[src*="erotic"] |
Суффиксы:
:first | Возвращает первый элемент коллекции. Пример: TD:first |
:last | Возвращает последний элемент коллекции. Пример: UL:last |
:parent | Возвращает родительские теги элементов коллекции. Пример: TABLE>TD>A:parent:parent |
Простые функции - команды с параметрами:
:gt(позиция) | Возвращает элементы начиная с текущей позиции. Пример: TD:gt(10) |
:lt(позиция) | Возвращает элементы до текущей позиции включительно. Пример: TD:lt(15) |
:eq(позиция) | Возвращает элемент соответсвующей позиции, если число отрицательное, то с конца. Пример: TD:eq(-3) третий тег с конца. |
:eq(начало,конец) | Возвращает набор элементов от начальной до конечной позиции, если числа отрицательные, то с конца.
Пример: TD:eq (10,24) - Аналог TD:eq(10):lt(15) Пример: TD:eq(-1,-3) - возвращает последние 3 элемента eq, equal, range - синонимы |
Сложные функции - команды, которым в качестве параметра можно передавать набор команд:
:has(OQuery-запрос) | Возвращает теги, содержащие другие теги, которые удовлетворяют указанному OQuery-запросу.
Пример: TABLE:has(^TD>A) - аналог TABLE>TD>A:parent:parent |
:not(OQuery-запрос) | Возвращает теги не удовлетворяющие указанному OQuery-запросу.
Пример: A:not([href=http://bulmas.ru]) - найдет все теги A, которые не ссылаются на http://bulmas.ru. Или: A:eq(1,10):not(:eq(2)) - Все теги A по порядку от 1 до 10, кроме второго. |
Пример: Результат следующих запросов разный
- A:has(:not(IMG)) - все теги A, которые содержат не IMG
- A:not(:has(IMG)) - все теги A, которые не содержат IMG
Операции и знаки:
запрос1 , запрос2 | Запятая (логическое "или"), для перечисления запросов.
Примеры: *A>IMG,>TABLE - вернет все IMG, содержащиеся в A, и TABLE содержащиеся в корне. INPUT([value="Петр"],[value="Виктор"]) - все INPUT со значениями "Петр" или "Виктор". |
запрос1 + запрос2 | Плюс, найдет теги удовлетворяющие запросу1, за которым идут теги удовлетворяющие запросу2. |
запрос1 - запрос2 | Минус, найдет теги удовлетворяющие запросу1 перед которым идут теги, удовлетворяющие запросу2. |
Примечание: Операции могут объединять и более двух запросов например A + IMG + #num - вернет все теги A, за которыми идут теги IMG, за которым в свою очередь идут теги с id="num".
Скобки:
() | Скобки, для объединения команд одинакового приоритета.
Пример: (FONT,A)(:has(IMG),:has(SPAN)) - теги FONT и A содержащие IMG или SPAN, Аналог (FONT:has(IMG), FONT:has(SPAN), A:has(IMG), A:has(SPAN)) |
Наборы команд:
^FONT | все теги FONT корневого (нулевого) уровня. |
>FONT | все теги FONT первого уровня. |
*FONT | все теги FONT. |
*>FONT | все теги FONT кроме корня. |
*>>FONT или >*>FONT | все теги FONT начиная со второго уровня. |
A>>B | все теги B находящиеся на втором уровне у A. |
Рекомендации
Время выполнения запроса в основном зависит от размера исходного текста и количетсва тегов в нем, и значительно меньше от длины самого запроса.
Если данные нужно получать в цикле, постарайтесь сначала сократить размер исходного текста.
Например, если хотим вернуть прогноз погоды в Казани с содержимого сайта "http://weather.yandex.ru/?city=27595" (Около 50кб) за последние 10 дней, можно воспользоваться запросами
tr.data.day>td>b:eq(1) tr.data.day>td>b:eq(2) tr.data.day>td>b:eq(3)
и т. д.
Каждый запрос выполняется примерно ~50мс. Итого: ~500мс
Но можно поступить следующим образом: Организуется цепочка из нескольких компонентов «Парсер», первый из которых забирает все нужные теги <B> запросом tr.data.day>td>b (~50мс) в переменную сценария. Далее в цикле сценария следующими компонентами забираются соответствующие значения
:eq(1) :eq(2) :eq(3)
и т. д.
Каждый запрос выполняется примерно ~0.2мс. Итого время выполнения ~50мс. Получается тот же результат, но в 10 раз быстрее.
Синтаксис парсера JSON
Запросом к парсеру JSON является строка, определяющая ключи свойств объектов или номера элементов в массиве, разделенных символом слэша. При выполнении запроса слева направо парсер на каждом этапе углубляется внутрь структуры JSON.
Таким образом, строка
"values"/3/"x"
примененная к структуре JSON с выбранным значением свойства Функция -> Содержимое
{ "name": "xxx", "values": [ "37", true, 99, {"x":2, "y":3}, "value" ], "result": true }
вернет значение 2.
Файловая операция
Производит указанную дисковую операцию с файлом, каталогом или путем.
Свойства:
Путь | Аргумент, определяющий место размещения объекта, подвергаемого файловой операции - абсолютный путь к каталогу или файлу. |
Тип объекта | Каталог / Файл / Путь
Определяет перечень операций, возможных для проведения с объектом, указанным с помощью пути. |
Операция | В зависимости от выбранного типа объекта предоставляет перечень возможных операций.
Каталог:
Файл:
Путь:
|
Новый путь
Новое имя Путь копии |
Путь или имя, которое будет присвоено вновь созданному файлу (или каталогу).
В случае, если при переименовании указывается имя без пути, за основу будет взят путь к исходному объекту. |
Данные | Аргумент, представляющий собой строку. Строка в соответствии с выбранной кодировкой будет переведена в бинарный формат и размещена в содержимом файла при проведении операций создания и записи в файл. |
Кодировка | Определяет кодировку, посредством которой происходит преобразовании строки в бинарные данные и обратно при проведении операций записи в файл и чтения из файла.
|
Данные в переменную | Строковая переменная, куда будет сохранено содержимое файла при проведении операции чтения. Данные из файла считываются в бинарном виде и преобразуются в строку согласно выбранной кодировке.
Внимание! Если целью считывания данных из файла является их дальнейшая передача вовне без изменений (например используя веб-запрос или сохранение файла, осуществляющие преобразование строки в бинарные данные), необходимо в обоих компонентах использовать кодировки ANSI, так как только она гарантирует однозначное двустороннее преобразование без потери данных. |
Маска | Аргумент, представляющий собой маску для файлов/каталогов в формате операционной системы, например *.inf или data_??.txt. Используется при определении содержимого каталога.
Внимание! Если целью определения содержимого является обнаружение конкретного подкаталога/файла, либо обработка всего содержимого, соответствующего маске, то при взятии пути к конкретному файлу используется индекс. В этом случае необходимо также указывать ту же самую маску. |
Индекс | Аргумент, определяющий индекс файла/подкаталога при взятии его пути. Индекс - порядковый номер объекта в общем списке файлов/подкаталогов исследуемого каталога, отфильтрованного в соответствии с указанной маской. Индекс начинается с 0. |
Добавочный путь | Аргумент, определяющий часть пути, подвергаемый склейке с основным. Например, если основной указанный путь 'C:\1', а добавочный '2.txt', то при проведении склейки результатом будет 'C:\1\2.txt'. |
Результат в переменную | Переменная, куда будет сохранен результат выполнения операции. Может быть строковой, либо числовой для проведения отдельных операций. |
Переход | Компонент, на который передается управление после успешного завершения ввода. |
Переход, не найдено | Компонент, на который передается управление в случае, если указанный каталог или файл не найден. |
Переход, ошибка | Компонент, на который передается управление в случае, если в назначенных параметрах допущена ошибка или при проведении указанной операции возникла ошибка. |
Имя | Название компонента для отображения в визуальной среде и выбора в списке. |
Запуск внешнего процесса с параметрами
Запускает на сервере внешний процесс или открывает приложение с указанным документом. В сценариях IVR используется чаще для запуска системных программ, а также учетных, сервисных, обслуживающих программ организации-клиента Oktell.
ВНИМАНИЕ! При работе сервера Oktell в режиме службы запуск процесса производится от имени того пользователя, который указан в настройках службы. По умолчанию это системная учетная запись «NETWORK SERVICE». Запускаемые таким образом процессы выполняются в фоновом режиме и не отображаются на экране пользователя.
Свойства:
Файла | Строковый аргумент, определяющий имя или путь к файлу, который необходимо запустить. |
Путь | Относительный/абсолютный. Определяет, какой путь будет подставляться впереди к имени файла. Относительный – от папки запуска приложения Oktell. |
Параметры командной строки | Строковый аргумент, определяющий параметры запуска для командной строки, если необходимо. |
Режим запуска | Определяет способ исполнения указанного файла
|
Ожидание завершения | Да/нет. Определяет, приостанавливать ли сценарий в ожидании завершения работы запущенного процесса. |
Консольный ввод/вывод | Доступно только при ожидании завершения процесса, запущенном в обычном режиме (не с помощью оболочки).
|
Консольный ввод | Доступно только при ожидании завершения процесса, запущенном в консольном режиме (не с помощью оболочки).
Строковый аргумент, значение которого передается в консоль сразу после запуска приложения. ВНИМАНИЕ! При передаче сложных данных для простоты реализации чтения из консоли рекомендуется компоновать данные общим размером в самом начале. |
Консольный вывод в переменную | Доступно только при ожидании завершения процесса, запущенном в консольном режиме (не с помощью оболочки).
Строковая переменная, в которую полностью сохраняется консольный вывод исполненного приложения. |
Таймаут, мс | Доступно только для режима ожидания завершения процесса.
Аргумент, определяющий предельное время ожидания, по истечении которого управление будет в любом случае передано дальше по сценарию. «0» - таймаут не установлен. |
Завершать при обрыве | Доступно только для режима ожидания завершения процесса.
Да/нет. Определяет, следует ли принудительно завершить работу запущенного процесса, если за установленный таймаут он так и не завершился самостоятельно. |
Переход, успех | Компонент, на который передается управление, если приложение успешно стартовало. |
Переход, таймаут | Доступно только для режима ожидания завершения процесса.
Компонент, на который передается управление в случае таймаута ожидания. |
Переход, неудача | Компонент, на который передается управление, если файл не найден, отсутствует доступ, или по другой причине не удалось запустить приложение. |
Имя | Название компонента для отображения в визуальной среде и выбора в списке. |
Действие/карточка в plugin или WebCRM
В любом месте сценария может быть выполнен компонент, осуществляющий исполнение динамического (известного только на этапе создания сценария) метода во внешней среде. Суть метода в предоставлении сервисных функций внешней средой серверу Oktell. Такой средой может быть указанный плагин или активная подключенная Web-CRM система.
Интеграция с сервером коммуникаций подразумевает то, что Oktell выступает в качестве сервера, исполняя запросы WebCRM системы, и информируя ее о происходящих коммуникационных событиях. Этот компонент позволяет наладить встречное взаимодействие, когда Oktell выступает в качестве клиента WebCRM системы.
В указанном клиентском плагине в качестве динамических методов выступают заявленные формы (опрос производится после регистрации плагина при настройке сценария). В качестве исполнимых поддерживаются диалоговые формы (тип 0) и компоненты типа 3 (подробно в руководстве по интеграции). При настройке компонента задаются значения всем заявленным входным параметрам, привязанным к выбранной форме, возможно ожидание возвращаемых значений и сохранение их в переменные сценария. Серверные плагины не требуют тонко настраиваемого функционала, и вызов их методов осуществляется компонентом Серверный плагин. Web-CRM система предоставляет информацию о поддерживаемых динамических методах в рамках обмена информацией между сервером Oktell и web-socket сервером Web-CRM системы согласно интеграционному протоколу (подробно в статье «Интеграции. Web-Socket протокол»). Каждый динамический метод может принимать на вход определяемые в сценарии значения для всех заявленных входных параметров. Компонент может дожидаться исполнения и возврата выходных значений. Вызов метода производится согласно описанию Web-CRM системы и детальным настройкам компонента.
В качестве возможных примеров можно привести такие общесерверные запросы, как «Определение компании и ответственного сотрудника по определившемуся номеру телефона», «Создать инцидент в связи с обращением» и т.д., и такие пользовательско-ориентированные методы как «Отобразить карточку указанной компании», «Закрыть карточку», «Переключить отображение в режим работы с партнерами» и т.д.
Свойства:
Модуль, действие | Окно выбора plugin-модуля или web-crm системы, ответственной за вызов настраиваемого метода, а также одного из списка динамических методов, заявленных в выбранном модуле. |
Свойства | Настройка входных и выходных параметров выбранного метода. Выходные параметры сохраняются только в случае, если настраивается вызов метода с ожиданием завершения исполнения. |
Дожидаться завершения | Да/нет. При ожидании завершения устанавливается также допустимый таймаут. Сценарий приостанавливается до получения ответа, после чего сохраняет выходные значения в переменные в соответствии с настроенными свойствами.
Если ожидание не выставлено, то сценарий отправляет команду на исполнение метода, а сам переходит к следующим компонентам. |
Момент отображения | Доступно только при отключенном режиме ожидания завершения. В случае, если стоит ожидание завершения, то автоматически применяется значение «Сразу».
Следующие пункты доступны только для настройки в сценариях IVR.
|
Ключ получателя | Доступно только при выборе пункта «Сразу» в качестве момента отображения. В других случаях получатели определяются автоматически.
Аргумент, определяющий пользователя-получателя. В качестве ключа может выступать идентификатор пользователя, его имя или логин. Также ключом может являться внутренний стандартный номер, явно определяющий пользователя через правило звонка («Администрирование. Внутренние номера. Стандартные»). В случае, если номер групповой, то получателями будут являться все его участники (пользователи указанные в номере явно, или посредством внутренних линий); при этом запросов будет отправлено ровно столько, сколько обнаружено получателей. В качестве значения аргумента может быть указан список ключей, разделенных запятыми. Внимание! При вызове динамического метода WebCRM в его декларации может быть заявлен режим вызова без указания пользователя (это касается прямых методов, исполняемых непосредственно на сервере без привязки к конкретным пользователям и их станциям). В этом случае ключ получателя применен не будет. О необходимости указания пользователей должно сообщаться в описаниях динамических методов. |
Таймаут, сек | Доступно только в режиме ожидания завершения.
Устанавливает максимальное время в секундах, которое сценарий простаивает, ожидая ответ внешнего модуля с отчетом о выполнении и выходными значениями. В случае, если ответ не получен долее установленного времени, исполнение передается следующему компоненту по ветке «Таймаут». Значение 0 устанавливает бесконечное ожидание. |
Переход | Компонент, на который передается управление после успешного выполнения компонента. |
Переход, таймаут | Компонент, на который передается управление, если за установленный период времени не получен ответ от внешнего модуля/CRM-системы.
Поле доступно только при выборе значения «Да» в свойстве «Дожидаться завершения». |
Переход, ошибка | Компонент, на который передается управление, если модуль не обнаружен, не доступен или другие условия не позволяют провести операцию. |
Имя | Название компонента для отображения в визуальной среде и выбора в списке. |
Плагин
Компонент позволяет выполнять произвольный сторонний код, подключенный к серверу в виде стандартного плагин-компонента (см. руководство по интеграции, раздел «Встраиваемые plugin-модули»).
Подробно об архитектуре исполнения описано в руководстве по интеграции.
При выполнении компонента осуществляется подгрузка внешней сборки и передача управления компоненту. В случае, если сборка плагина уже загружена, повторной ее загрузки не происходит. Исключением может являться только обновление сборок в модуле Администрирование. Внешние модули. Передача управления производится путем вызова метода PrepareShow управляющего объекта, описанного в plugin-программе. В качестве параметра для метода передается XML-структура, содержащая комплексную информацию о требуемом компоненте (его guid-идентификатор, описанный при вызове метода GetForms() управляющего объекта), параметрах сценария, сессии, задаче, а также других имеющихся свойств (различаются в зависимости от типа исполняемого сценария). Помимо базовых параметров передаются значения требуемых для работы компонента параметров (информация о них возвращается при вызове GetInputParams управляющего объекта plugin-программы). В качестве возвращаемого значения ожидается XML-структура с описанием всех выходных значений согласно общему списку выходных параметров (определяются при вызове GetOutputParams управляющего объекта). В качестве возможных для использования в сценариях компонентов принимаются все формы подпрограммы со свойством 'module=2'.
Назначение входных значений, а также переменных для приема выходных значений производится на отдельной вкладке. Дальнейшая реализация сценария приостанавливается вплоть до получения назад управления из внешнего компонента. Может быть назначен интервал таймаута, по истечению которого будет произведен принудительный возврат управления и переход к следующему компоненту сценария. Обрыв исполнения производится также при остановке сценария.
Свойства:
Модуль/Форма | Выбор конкретного плагина и одного из его компонентов для работы в сценарии. |
Свойства | Доступ к вкладке редактора параметров формы для настройки передаваемых и сохраняемых параметров. |
Таймаут, сек | Аргумент, устанавливающий время в секундах, по истечению которого будет произведен принудительный отъем управления из вызванной подпрограммы. В случае, если интервал нулевой (по умолчанию), таймаут считается не установленным. |
Переход | Компонент, на который передается управление после возврата в случае успешного проведения операции. |
Переход, компонент не найден | Компонент, на который передается управление, если plugin-программа не указана, не найдена или не может быть загружена. |
Переход, таймаут | Компонент, на который передается управление в случае, если за установленный интервал времени не вернулось управление от внешнего компонента. |
Переход, ошибка | Компонент, на который передается управление в случае возникновения ошибок. |
Имя | Название компонента для отображения в визуальной среде и выбора в списке. |
Регистрация динамического потока
Компонент используется совместно со шлюзом с динамической регистрацией потоков (подробнее в разделе Карта сети. Компоненты. Шлюз). Служит для проведения динамической регистрации под указанным аккаунтом перед осуществлением звонка по каналу потока такого шлюза. Параметры аккаунта - логин и пароль - могут быть взяты из БД, вычислены, указаны явно в сценарии. Для проведения регистрации достаточно указать в свойствах компонента шлюз, и свободный поток автоматически будет зарегистрирован и зарезервирован под совершение вызова именно в этом экземпляре сценария. Потоки и линии шлюзов с динамической регистрацией недоступны для выбора ни в задачах, ни в настройках прав пользователей, ни в списках линий при наборе номера компонентами сценариев. Осуществить дозвон через них можно только путем явного указания кода зарегистрированного потока в соответствующий аргумент компонентов «Дозвон» служебного сценария и «Переключение на внешние» сценария IVR.
ВНИМАНИЕ! В случае успешной коммутации поток будет разрегистрирован автоматически по завершению разговора и переводу одной из линий потока в состояние готовности. Однако, если коммутации не произведено, то разрегистрация производится автоматически по истечению времени неактивности (3 минуты), либо путем использования этого же компонента с действием «Отмена регистрации».
Свойства:
Действие | Выбор режима работы. Регистрация / отмена регистрации.
В случае установки режима регистрации осуществляет прямое действие по регистрации аккаунта на сервере и активации (перевода в состояние готовности) одного из потоков указанного шлюза с динамической регистрацией потоков. В режиме отмены регистрации освобождает аккаунт и переводит указанный поток в отключенное состояние. |
Шлюз | Доступно только для действия «Регистрация». В списке выбирается один из существующих в карте сети шлюзов с динамической регистрацией потоков. |
Аккаунт | Доступно только для действия «Регистрация». Аргумент, представляющий собой логин для регистрации потока. |
Пароль | Доступно только для действия «Регистрация». Аргумент, представляющий собой пароль для регистрации потока. |
Время ожидания | Доступно только для действия «Регистрация». Максимальное время ожидания регистрации, по истечению которого будет прервана регистрация и произведен выход по ветке «Таймаут». |
Автоматическая отмена регистрации | Доступно только для действия «Регистрация». Позволяет установить такой режим работы, при котором при любой последующей попытке дозвона по одной из линий зарегистрированного потока даже в случае неудачи (занято, недоступно и т.д.) будет производиться мгновенная отмена регистрации. |
Код потока в переменную | Доступно только для действия «Регистрация». В случае успешного проведения операции по регистрации в указанную переменную будет размещен Guid-идентификатор зарегистрированного потока. Эта переменная впоследствии может быть использована для осуществления вызова в компонентах Переключение на внешние и/или Дозвон или отмены регистрации. |
Код ошибки в переменную | Доступно только для действия «Регистрация». В переменную попадает код ошибки в случае возникновения проблем при регистрации. Большинство кодов совпадают с типами ответов HTTP-сервера (например, 404 - not found). |
Код потока | Доступно только для действия «Отмена регистрации». Аргумент, представляющий собой Guid-идентификатор потока в строковом представлении. Может быть указан явно, или получен в переменную в одном из предыдущих компонентов «Регистрация». |
Переход | Компонент, на который передается управление после возврата в случае успешного проведения операции. |
Переход, потоков не найдено | Доступно только для действия «Регистрация». Компонент, на который передается управление, если у выбранного шлюза нет свободных потоков. |
Переход, таймаут | Доступно только для действия «Регистрация». Компонент, на который передается управление в случае, если за установленный интервал времени не получен ответ от внешнего сервера/шлюза. |
Переход, ошибка | Компонент, на который передается управление в случае возникновения ошибок. |
Имя | Название компонента для отображения в визуальной среде и выбора в списке. |
Увеличение значения счетчика
Увеличивает значение выбранного счетчика на 1. Подробнее о счетчиках, их создании и анализе в модуле общего меню Call-центр. Отчеты. Счетчики.
Свойства:
Счетчик | Список счетчиков, существующих в системе и доступных для увеличения. |
Переход | Компонент, на который передается управление в случае успешной коммутации. |
Имя | Название компонента для отображения в визуальной среде и выбора в списке. |
Создание исходящей задачи
Компонент инициирует задачу однократного выполнения в указанное время на указанный номер. Задача запускает указанный в соответствующем свойстве компонента сценарий IVR. Для формируемой задачи в компоненте указываются инициирующие значения, а также параметр задачи, который будет доступен через функцию «Параметр задачи» в сценарии IVR.
ВНИМАНИЕ! Для инициации звонка существует альтернатива данному компоненту. Служебный сценарий имеет компонент «Дозвон», рекомендуемый к использованию в большинстве случаев, так как имеет расширенные настройки и не производит дополнительной нагрузки на менеджер задач.
Свойства:
Номер | Аргумент, определяющий номер, по которому производить дозвон. |
Выполнить сразу | Да/Нет. Сразу выполнять задачу или дожидаться указанного времени. |
Дата/время | Дата и время, когда производить выполнение задачи.
Поле доступно только при выборе значения «Нет» в свойстве «Выполнить сразу». |
Сценарий | Текстовое поле с возможностью выбора из списка имеющихся сценариев. Определяет имя сценария, который необходимо запустить после дозвона. |
Параметр запуска | Числовой аргумент, передающий свое значение в задачу, а через нее на старт запускаемого сценария и в функцию «Параметр задачи». Может быть использован для идентификации через сопоставление по таблице в БД, или для передачи множества параметров. Доступен в сценарии автоматической задачи через встроенную функцию «Параметр задачи». |
Количество сигналов «Занято» | Сколько дозвонов с ответом «Занято» считать успешным выполнением задачи. |
Количество сигналов «Не отвечает» | Сколько дозвонов с ответом «Не отвечает» считать успешным выполнением задачи. |
Время фиксации в секундах | Сколько секунд необходимо выполнять сценарий после дозвона, чтобы считать успешным выполнение задачи. |
Время ожидания ответа | Сколько секунд ожидать ответа от линии для получения сигнала «Не отвечает». |
Пауза после сигнала «Занято» | Сколько секунд делать перерыв в выполнении задачи, если от линии получен сигнал «Занято». |
Пауза после сигнала «Не отвечает» | Сколько секунд делать перерыв в выполнении задачи, если от линии получен сигнал «Не отвечает». |
Переход | Компонент, на который передается управление. |
Имя | Название компонента для отображения в визуальной среде и выбора в списке. |
Голосовая почта
Осуществляет перемещение данных об указанном звуковом файле (чаще после записи в этом же сценарии) в голосовой ящик указанных пользователей. Подробнее о сервисе голосовой почты в разделе Офис. Кабинет. Голосовая почта.
Заполняя свойство «Голосовой ящик» в окне адресата, можно явно указать существующих в системе пользователей, а также существующие отделы и внутренние номера. Также можно использовать свойство «Ключ получателя», значением которого является вычисляемый аргумент. Это удобно, когда заранее неизвестно получателя, и данные о нем формируются в момент исполнения сценария. При этом сообщение попадет ко всем пользователям, которые указаны явно, составляют указанные внутренние номера и группы. У пользователей, которым поступает голосовая почта, в их модулях появляются данные об абоненте, и возможность прослушать файл.
Сообщение отправится всем выбранным по одному из двух параметров – указателей адресатов. При этом один компонент формирует группу из всех перечисленных участников - прослушивание одним из них будет отражено на всей записи. При необходимости разослать сообщение независимо нескольким пользователям следует использовать серию из компонентов «Голосовая почта»
Свойства:
Имя файла | Аргумент, значение которого определяет абсолютный путь к файлу, который необходимо поместить в голосовой ящик. При использовании после объекта Запись файла, в котором имя файла генерируется, необходимо в соответствующем свойстве выбирать возврат полного пути в переменную, сохраняющую имя записанного файла. |
Ключ получателя | Аргумент, определяющий пользователя-получателя почты. В качестве ключа может выступать идентификатор пользователя, его имя или логин. Также ключом может являться внутренний стандартный номер, явно определяющий пользователя через правило звонка («Администрирование. Внутренние номера. Стандартные»). В случае, если номер групповой, то получателями будут являться одновременно все его участники (пользователи указанные в номере явно, или посредством внутренних линий).
В качестве значения аргумента может быть указан список ключей, разделенных запятыми. |
Голосовой ящик | Окно ввода адресата: списка получателей, среди которых могут быть пользователи системы, отделы и конкретные внутренние номера. Каждый пользователь, участвующей явно через отдел, или через номер получит соответствующее голосовое сообщение.
При одновременном указании голосового ящика и ключа производится объединение всех установленных получателей на момент исполнения компонента. |
Режим подстановки CallerId | Определяет режим подстановки CallerId.
|
CallerId | Доступно только в режиме подстановки CallerId из аргумента.
Аргумент, значение которого подставляется при размещении голосового сообщения в поле таблицы CallerId и устанавливает номер абонента, оставившего сообщение. |
Переход | Компонент, на который передается управление после успешного завершения ввода. |
Имя | Название компонента для отображения в визуальной среде и выбора в списке. |
Заказ на встречный звонок
Сохраняет информацию о заказанном звонке в БД, и отображает в клиентском приложении Oktell у пользователей-адресатов, определяющихся указанным внутренним номером. Подробнее о сервисе заказов встречных звонков в разделе Офис. Кабинет. Встречные звонки.
Свойства:
Ключ получателя | Аргумент, определяющий пользователя-получателя сообщения. В качестве ключа может выступать идентификатор пользователя, его имя или логин. Также ключом может являться внутренний стандартный номер, явно определяющий пользователя через правило звонка («Администрирование. Внутренние номера. Стандартные»). В случае, если номер групповой, то получателями будут являться одновременно все его участники (пользователи указанные в номере явно, или посредством внутренних линий).
В качестве значения аргумента может быть указан список ключей, разделенных запятыми. |
Заказ на номер | Аргумент, определяющий номер, на который заказан встречный звонок. Может быть введен пользователем с клавиатуры, определен как «CallerId», или подставлен из базы по коду. |
Заказ на время | Ориентировочное время, на которое заказан встречный звонок (сохранится в базе и будет отображено в описании заказа). Не заполнять, если время не указывается. |
Комментарий | Комментарий к компоненту (сохранится в базе и будет отображен в описании заказа). |
Переход | Компонент, на который передается управление. |
Имя | Название компонента для отображения в визуальной среде и выбора в списке. |
Уведомление
Уведомление – всплывающее окно, позволяющее донести до пользователя информацию о происходящем в сценарии действии. В качестве адресатов могут быть выбран список из пользователей, отделов и конкретных номеров. Также в качестве адреса может выступать номер, определяемый значением аргумента.
Уведомление получат все пользователи, которые указаны персонально, либо состоят в выбранных группах или внутренних номерах. В режиме Офис. Кабинет. Уведомления пользователь всегда сможет просмотреть пришедшие к нему уведомления и осуществить поиск.
Свойства:
Отладочный режим | Да / нет. По умолчанию «нет». При сохранении сценария может быть установлен общий режим отладки (на странице свойств сценария). Отладочные уведомления будут отображаться только в режиме отладки сценария. Остальные будут отображаться в любом случае. |
Ключ получателя | Аргумент, определяющий пользователя-получателя сообщения. В качестве ключа может выступать идентификатор пользователя, его имя или логин. Также ключом может являться внутренний стандартный номер, явно определяющий пользователя через правило звонка («Администрирование. Внутренние номера. Стандартные»). В случае, если номер групповой, то получателями будут являться одновременно все его участники (пользователи указанные в номере явно, или посредством внутренних линий).
В качестве значения аргумента может быть указан список ключей, разделенных запятыми. |
Адресат | Окно ввода адресата: списка получателей, среди которых могут быть пользователи системы, отделы и конкретные внутренние номера. Каждый пользователь, участвующий явно, через отдел, или через номер получит соответствующее уведомление.
При одновременном указании адресата и ключа производится объединение всех установленных получателей на момент исполнения компонента. |
Сохранять в БД | Да/нет. По умолчанию «да». При установке свойства сообщение будет сохранено в БД и будет доступно в модуле Офис. Кабинет. Уведомления. Если пользователь отсутствует, то сообщение будет доставлено сразу после его авторизации в системе. |
Текст | Аргумент, определяющий текст уведомления.
Поддерживается минимальный набор тегов HTML для форматирования. Чтобы отобразить текст в виде HTML-документа необходимо его заключить в теги <html>..</html> Ниже за пределами таблицы свойств приведен перечень поддерживаемых HTML-тегов. |
Способ оповещения | Позволяет выбрать режим, в котором данные поступают указанным адресатам.
|
Цвет фона | Определяет цвет фона всплывающего окошка. |
Скрывать автоматически | Да/нет. По умолчанию «да». При отключении уведомление будет скрыто только после щелчка пользователя на нем. Поступающие уведомления помещаются в очередь, из которой отображаются в видимых областях экрана в порядке поступления. Очередь сообщений может быть очищена из системного меню в трее.
При отправке уведомления отключенному пользователю с сохранением в БД, отображаемые после авторизации последние несколько пропущенных уведомлений будут в любом случае автоматически скрываться. |
Асинхронный режим | Да/нет. Способ рассылки уведомлений. При выборе асинхронного режима компонент не ожидает доставки уведомлений пользователям и сразу передает управление следующему объекту сценария. Имеет смысл при рассылке уведомления множеству пользователей из сценариев IVR обработки входящих вызовов во избежание незапланированных пауз. Однако при завершении сценария асинхронные рассылки всех уведомлений, не успевшие завершиться, будут прерваны. |
Разрешать несколько экземпляров на экране | Да/нет. В некоторых случаях требуется выводить уведомления об одном и том же. Чтобы однотипные отображения не заполняли экран, можно устанавливать режим фильтрации по коду сообщения. Код указывается в открывающемся при этом свойстве. |
Код сообщения | Доступно только при запрете нескольких экземпляров на экране. Аргумент, определяющий код, на основании которого будет производиться фильтрация и пропуск отображения. |
Переход | Компонент, на который передается управление после успешного завершения ввода. |
Имя | Название компонента для отображения в визуальной среде и выбора в списке. |
Поддерживаемые HTML-теги:
- <html>..</html> - определяет, что блок текста должен быть отображен как HTML-документ
- <span>..</span> - текстовый блок, атрибуты: style - стиль
- <a>..</a> - гиперссылка, атрибуты: href - ссылка, title - заголовок, style - стиль
- <b>..</b> - полужирный, атрибуты: style - стиль
- <u>..</u> - подчеркнутый, атрибуты: style - стиль
- <i>..</i> - курсив, атрибуты: style - стиль
- <s>..</s> - перечеркнутый, атрибуты: style - стиль
- <br> - переход на следующую строчку, атрибуты: style - стиль
- <center>..</center> - выравнение по центру, атрибуты: style - стиль
- <p>..</p> - параграф, атрибуты: style - стиль >
Атрибутами стиля могут быть
1. font-weight - толщина символов
Значения:
- bold - полужирный
- normal - обычный
(Не поддерживается: bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900)
2. text-decoration - декорация текста
Значения:
- line-through - перечеркнутый
- underline - подчеркнутый
- none - отсутствует
(Не поддерживается: blink | overline )
3. font-style - стиль шрифта
Значения:
- normal - обычный
- italic - курсив
(Не поддерживается: oblique)
4. text-align - выравнение текста (только для<p>)
Значения:
- left - по левому краю
- right - по правому краю
- center - по центру
- justify - по ширине
5. color - цвет текста
Значения:
- red - красный
- green - зеленый
- blue - синий
- black - черный
- white - белый
- yellow - желтый
- gray - серый
- #XXXXXX - шестнадцатеричный код цвета где (X - шестнадцатеричное число 0..F )
Другие атрибуты игнорируются
Примеры:
- <html>Данное устройство <b style='color:red;'>не обнаружено</b></html>
- <html>У Вас новая <a style='font-style:bold;color:#127A81;' href='http://mail.ru' title='Нажмите, чтобы открыть'>почта</a></html>
Отправка одного SMS
Осуществляет отправку SMS-сообщения по указанному номеру с назначенным текстом. Может быть настроен на ожидание доставки. Компонент работает с SMS-сервисом, указанным в общих настройках.
Свойства:
Номер | Аргумент, определяющий номер адресата. |
Текст | Аргумент, определяющий текст SMS-сообщения. |
Подставляемый номер | Номер, от которого осуществляется доставка. |
Push Id | Код отправленного сообщения (для дальнейшего запроса отчета о доставке). |
Ожидание доставки | Да/Нет. Требуется ли ожидать отчета о доставке. |
Таймаут ожидания | Время, которое компонент будет ожидать отчета о доставке.
Поле доступно только при выборе значения «Да» в свойстве «Ожидание доставки». |
Переход, доставлено | Компонент, на который передается управление после успешной отправки сообщения. В случае установки значения «Да» в свойстве "Ожидание доставки", если сообщение успешно доставлено до таймаута ожидания. |
Переход, не доставлено | Компонент, на который передается управление, если сообщение отправлено, но не было доставлено за установленное время ожидания (в случае если ожидание было назначено).
Поле доступно только при выборе значения «Да» в свойстве «Ожидание доставки». |
Переход, ошибка | Компонент, на который передается управление, если сервис недоступен или вернул ошибку. |
Имя | Название компонента для отображения в визуальной среде и выбора в списке. |
Получение первого SMS
Производит запрос к SMS-сервису на получение первого в очереди входящих сообщений. В случае успеха наполняет переменные сценария соответствующими сообщению значениями. Компонент работает с SMS-сервисом, указанным в общих настройках.
Свойства:
Номер отправителя | Переменная, куда запишется номер отправителя. |
Текст | Переменная, куда запишется текст сообщения. |
Номер адресата | Переменная, куда запишется номер, на который сообщение было отправлено. |
Переход, получено | Компонент, на который передается управление, если сообщение на сервере имеется и получено успешно. |
Переход, сообщений нет | Компонент, на который передается управление, если входящих сообщений на сервере нет. |
Переход, ошибка | Компонент, на который передается управление, если сервис недоступен или вернул ошибку. |
Имя | Название компонента для отображения в визуальной среде и выбора в списке. |
Получение статуса отправленного SMS
Производит запрос к SMS-сервису на получение отчета о доставке конкретного SMS-сообщения по коду отправки (Push Id). Компонент работает с SMS-сервисом, указанным в общих настройках.
Свойства:
Push Id | Код отправленного сообщения. |
Переход, доставлено | Компонент, на который передается управление, если sms уже доставлено. |
Переход, не доставлено | Компонент, на который передается управление, если sms еще не доставлено. |
Переход, неудача | Компонент, на который передается управление, если сервис недоступен или вернул ошибку. |
Имя | Название компонента для отображения в визуальной среде и выбора в списке. |
Запрос баланса SMS
Производит запрос к SMS-сервису для получения баланса на счете. Компонент работает с SMS-сервисом, указанным в общих настройках.
Свойства:
Количество | Переменная, куда вернется количество оставшихся оплаченных SMS-сообщений. |
Переход | Компонент, на который передается управление, если запрос отработан. |
Переход, ошибка | Компонент, на который передается управление, если сервис недоступен или вернул ошибку. |
Имя | Название компонента для отображения в визуальной среде и выбора в списке. |
Отправка одного Email
Осуществляет отправку email-сообщения на указанный ящик электронной почты. Для зашифрованного соединения (свойство "SSL-авторизация") компонент использует протокол StartTLS. Это означает, что соединение изначально идет по незащищенному порту 25, а затем шифруется, в отличии от протокола SSL, где соединение изначально происходит по защищенным портам. Именно поэтому, в большинстве случаев в свойстве "Порт почтового сервера" следует указывать незащищенный порт 25, вместо 465.
Свойства:
Почтовый сервер | Свойство, определяющее источник настроек для SMTP сервера
|
Адрес почтового сервера | Адрес SMTP-сервера. |
Порт почтового сервера | Порт SMTP-сервера. В большинстве случаев, порт 25 (смотрите выше). |
Логин | Учетная запись на почтовом сервере |
Пароль | Пароль учетной записи на почтовом сервере |
SSL-авторизация | Устанавливается "Да", если SMTP сервер требует SSL-авторизацию. |
Кому | Аргумент, определяющий получателей email сообщения. Если письмо предназначается нескольким адресатам, то адреса должны быть перечислены через «,». Для версий ниже 2.9 адреса должны быть перечислены через «;» |
От кого | Аргумент, определяющий отправителя email сообщения. Ряд почтовых серверов требует явного указания поля "Отправитель" (e-mail адрес отправителя). В этом случае свойство должно быть вычислено к моменту, когда компонент получит управление.
В качестве отправителя может быть указана строка вида "username <address@mail.com>". |
Тема | Аргумент, определяющий тему email сообщения. |
Формат | Текст или HTML. Определяет формат, в котором будет сформировано тело для отправки. |
Содержание письма | Аргумент, определяющий текстовую часть e-mail сообщения. |
Кодировка | Определяет кодировку отправляемого письма. При необходимости осуществляется преобразование тела.
|
Кодовая страница Windows | Доступно только при выборе кодировки «Указанная кодовая страница Windows».
Числовой аргумент, определяющий кодовую страницу Windows для формирования тела письма. |
Вложение 1 | Аргумент, значение которого определяет абсолютный путь к файлу, который необходимо прикрепить к сообщению email. |
Вложение 2 | Появляется, только если выбрано "Вложение 1". |
Вложение 3 | Появляется, только если выбрано "Вложение 2". |
Вложение 4 | Появляется, только если выбрано "Вложение 3". |
Вложение 5 | Появляется, только если выбрано "Вложение 4". |
Уведомлять об ошибках | Форма выбора пользователей-получателей уведомлений об ошибках, возникающих в момент выполнения отправки. Необходимо в отладочных целях в первые дни работы новых проектов. |
Переход | Компонент, на который передается управление, если сообщение успешно отправлено. |
Переход, неудача | Компонент, на который передается управление, если при отправке SMTP сервер вернул ошибку. |
Имя | Название компонента для отображения в визуальной среде и выбора в списке. |
Получение первого Email
Осуществляет прием email-сообщения с указанного ящика электронной почты.
Свойства:
Почтовый сервер | Свойство, определяющее источник настроек для сервера входящей почты.
|
Адрес почтового сервера | Адрес сервера входящей почты |
Порт почтового сервера | Порт сервера входящей почты (стандартный порт POP сервера - 110, IMAP сервера - 143). |
Логин | Учетная запись на сервере |
Пароль | Пароль учетной записи на сервере |
SSL-авторизация | Устанавливается "Да", если почтовый сервер требует SSL-авторизацию. |
MessageId | Переменная, в которую будут сохранен идентификатор email сообщения. |
Кому | Переменная, в которую будут сохранены получатели email сообщения. |
От кого | Переменная, в которую будут сохранены отправители email сообщения. |
Тема | Переменная, в которую будут сохранена тема email сообщения. |
Предпочитаемый тип контента | Для разделов multipart/alternative позволяет установить предпочитаемый тип текстового контента. При наличии указанного типа среди блоков в переменную будет сохранено именно его содержимое, а остальные дублирующие альтернативные блоки будут игнорироваться. По умолчанию text/plain, но может быть установлен text/html, text/xml, text/rtf, text/richtext. |
Текст письма | Переменная, в которую будут сохранен текст email сообщения. |
Текст письма часть2 | Переменная, в которую будут сохранен текст из второй части email сообщения. Используется для сообщений multipart. |
Текст письма часть3 | Переменная, в которую будут сохранен текст из третьей части email сообщения. Используется для сообщений multipart. |
IMAP каталог | Аргумент, значение которого определяет IMAP каталог, из которого будет получено сообщение. По умолчанию используется стандартный каталог входящей почты Inbox.
Поле доступно только при работе с IMAP-сервером (свойство «Способ получения»). |
IMAP-запрос | Аргумент, значение которого определяет IMAP запрос. Запрос определяет критерии выбора сообщения из каталога, заданного свойством IMAP каталог. По умолчанию используется запрос, возвращающий все письма (значение "ALL"). Более подробно о синтаксисе IMAP запросов можно узнать из документации RFC 2060.
Поле доступно только при работе с IMAP-сервером (свойство «Способ получения»). |
Принимать только заголовки | Да/Нет. Требуется ли получать только заголовки письма (в этом случае тело сообщения и прикрепленные файлы скачиваться с почтового сервера не будут) |
Удалять с сервера | Да/Нет. Требуется ли удалить письмо с почтового сервера после получения. |
Сохранять вложения | Определяет режим сохранения вложений.
|
Папка для вложений | Доступно только при выбранном режиме сохранения вложений в указанную папку.
Представляет собой аргумент, устанавливающий абсолютный или относительный путь к папке, куда будут сохранены вложения с исходными именами. |
Путь к папке для вложений в переменную | Доступно только при выбранном режиме сохранения вложений в папку по умолчанию, заданную в общих настройках.
Представляет собой переменную, в которую будет сохранен путь к папке с вложениями, заданный в общих настройках. |
Уведомлять об ошибках | Форма выбора пользователей-получателей уведомлений об ошибках, возникающих в момент выполнения отправки. Необходимо в отладочных целях в первые дни работы новых проектов. |
Переход, получено | Компонент, на который передается управление, если сообщение успешно получено. |
Переход, не получено | Компонент, на который передается управление, если сообщение не получено, но при этом ошибок не возникло. Такая ситуация может возникнуть, если:
|
Переход, неудача | Компонент, на который передается управление, если при получении сообщения POP3 ( IMAP4 ) сервер вернул ошибку. |
Имя | Название компонента для отображения в визуальной среде и выбора в списке. |
Отправка сообщения IM (ICQ, Jabber)
Осуществляет отправку IM-сообщения (ICQ или Jabber). Указываются сервер, аккаунт адресата, аккаунт отправителя, способ подключения к серверу (прокси/без прокси). Работа с аккаунтом происходит через пул подключений. Любые обращения к аккаунту (отправки/приема из разных сценариев), влекущие подключение к серверу, помещают созданное подключение в специальный пул, где оно поддерживается некоторое время (устанавливается в разделах «Общие настройки. ICQ-сервис» и «Общие настройки. Jabber-сервис»). Каждое последующее обращение к аккаунту работает с подключением из пула и продляет время его существования. В случае таймаута аккаунт отключается. Также аккаунт отключается при получении ошибки сервера или выгрузке серверного приложения. Такой механизм работы в частности гарантирует работу комплекса от ошибки сервера ICQ «Превышен лимит подключений». Для каждого аккаунта в пуле держится отдельное подключение. Для Jabber-аккаунтов держатся отдельно подключения с разными настройками, даже если они имеют одинаковый JID.
Свойства:
Протокол | ICQ / Jabber. |
Прокси-сервер | Свойство, определяющее источник настроек для подключения к прокси-серверу.
|
Адрес прокси-сервера | Адрес сервера. |
Порт прокси-сервера | Порт сервера. (стандартный порт SOCKS5 сервера - 1080, HTTPS сервера - 8080). |
Авторизация на прокси | Устанавливается "Да", если сервер требует авторизацию. |
Учетная запись | Свойство, определяющее источник настроек учетной записи для ICQ или Jabber, которая будет использоваться в качестве отправителя сообщения.
|
Адрес jabber-сервера | Только при использовании протокола Jabber. Адрес сервера |
Порт jabber-сервера | Только при использовании протокола Jabber. Порт сервера |
UIN / Jabber ID | Номер учетной записи ICQ/Jabber |
Пароль UIN / JID | Пароль учетной записи ICQ/Jabber |
Таймаут ожидания соединения | Аргумент, определяющий временной интервал (в миллисекундах), в течение которого система ожидает соединения с IM-сервером (ICQ / Jabber). При отправке сообщения выполнение сценария будет приостановленно до тех пор пока:
|
Таймаут отправки сообщения | Аргумент, определяющий временную задержку ( в миллисекундах ) перед отправкой сообщения. |
UIN / JID получателя | Аргумент, определяющий UIN-номера / JID-аккаунты получателей IM-сообщения. Если сообщение предназначается нескольким адресатам, то адреса должны быть перечислены через «,». |
Текст сообщения | Аргумент, определяющий текст сообщения. |
Уведомлять об ошибках | Форма выбора пользователей-получателей уведомлений об ошибках, возникающих в момент выполнения отправки. Необходимо в отладочных целях в первые дни работы новых проектов. |
Переход | Компонент, на который передается управление, если сообщение успешно отправлено. |
Переход, неудача | Компонент, на который передается управление, если при отправке сервер вернул ошибку. |
Имя | Название компонента для отображения в визуальной среде и выбора в списке. |
Прием первого сообщения IM (ICQ, Jabber)
Осуществляет прием IM-сообщения (ICQ или Jabber). Указываются сервер, аккаунт получателя, способ подключения к серверу. Получаемые сообщения сохраняют в указанных переменных аккаунт отправителя и текст сообщения. Работа компонента происходит через пул подключений аналогично компоненту «Отправка IM-сообщения».
Свойства:
Протокол | ICQ / Jabber |
Настройки прокси | Форма, определяющая настройки подключения к прокси-серверу. |
Настройки учетной записи | При получении ICQ-сообщения - форма, определяющая настройки учетной записи (UIN) ICQ, которая будет использоваться в качестве получателя сообщения ICQ.
При получении Jabber-сообщения - форма настройки учетной записи (JID) сервиса Jabber, которая будет использоваться в качестве получателя Jabber-сообщения, а также настройки сервера, к которому необходимо осуществлять подключение для работы в сети Jabber. Обратите внимание на рекомендации, приведенные в разделе Общие настройки. Jabber-сервис. |
UIN / JID | Переменная, в которую будет сохранен UIN / JID отправителя IM-сообщения. |
Таймаут ожидания соединения | Аргумент, определяющий временной интервал (в миллисекундах), в течение которого система ожидает соединения с сервером. При получении сообщения выполнение сценария будет приостановленно до тех пор пока:
|
Таймаут получения сообщения | Аргумент, определяющий временную задержку (в миллисекундах) перед получением сообщения. Если на указанный в свойстве «Настройки учетной записи» аккаунт раньше приходили сообщения, то таймаут игнорируется, а в переменные «UIN/JID», «Текст сообщения» будет подставлены значения, сохраненные в пуле сервера состояний системы. |
Текст сообщения | Переменная, в которую будет сохранен текст полученного сообщения. |
Уведомлять об ошибках | Форма выбора пользователей-получателей уведомлений об ошибках, возникающих в момент выполнения получения. Необходимо в отладочных целях в первые дни работы новых проектов. |
Переход | Компонент, на который передается управление, если сообщение успешно получено. |
Переход, сообщений нет | Компонент, на который передается управление, если новых сообщений не обнаружено. |
Переход, неудача | Компонент, на который передается управление, если при получении сервер вернул ошибку. |
Имя | Название компонента для отображения в визуальной среде и выбора в списке. |
Запрос к веб-сервису 1С
Осуществляет запрос к веб-сервису 1C, зарегистрированному в общих настройках или в компоненте. Запрос формируется на языке 1C. Параметры веб-сервиса могут быть заданы как в компоненте, так и в общих настройках. Для работы компонента (для его появления в редакторе сценариев) требуется наличие интеграционной лицензии.
Свойства:
Запрос | Тело запроса на языке 1С. |
Параметры веб-сервиса | Устанавливает к использованию параметры веб-сервиса из общих настроек или позволяет настроить в рамках компонента (в этом случае появляются дополнительные поля URI, логин, пароль). |
URI | Аргумент, определяющий URI веб-сервиса 1С.
Доступно только при выборе режима доступа к веб-сервису по параметрам, определенным текущим компонентом. |
Логин | Аргумент, определяющий логин к веб-сервису 1С.
Доступно только при выборе режима доступа к веб-сервису по параметрам, определенным текущим компонентом. |
Пароль | Аргумент, определяющий пароль к веб-сервису 1С.
Доступно только при выборе режима доступа к веб-сервису по параметрам, определенным текущим компонентом. |
Режим запроса | Асинхронно без ожидания/Ожидание ответа/Ожидание ответа с таймаутом. |
Таймаут, с | Аргумент, определяющий таймаут в секундах для ожидания ответа от веб-сервиса на отправленный запрос.
Доступно только при выборе режима Ожидание ответа с таймаутом. |
Сохранять значения первой строки | Да/нет. Определяет, сохранять ли значения из первой строки вернувшегося в ответе от веб-сервиса набора данных в переменных сценария, сопоставляя их имена с названиями столбцов в наборе. |
Результат CSV в переменную | Переменная, в которую сохранится результат в формате CSV. |
Результат XML в переменную | Переменная, в которую сохранится результат в формате XML |
Таймаут получения сообщения | Аргумент, определяющий временную задержку (в миллисекундах) перед получением сообщения. Если на указанный в свойстве «Настройки учетной записи» аккаунт раньше приходили сообщения, то таймаут игнорируется, а в переменные «UIN/JID», «Текст сообщения» будет подставлены значения, сохраненные в пуле сервера состояний системы. |
Переход | Компонент, на который передается управление, если работа компонента завершена удачно. |
Переход, таймаут | Компонент, на который передается управление, если работа компонента завершена по таймауту. |
Переход, неудача | Компонент, на который передается управление, если при веб-сервер вернул ошибку или задан не верно. |
Имя | Название компонента для отображения в визуальной среде и выбора в списке. |
(Удалено) Определить группу клиента
ВНИМАНИЕ: Компонент перенесен в "Статус объекта", начиная с версии 2.11.3.150320.
Осуществляет проверку на принадлежность контакта (определившегося номера телефона, почтового адреса и любого другого переданного аргумента) указанной группе клиентов. Позволяет разделить обработку в сценарии звонков VIP клиентов, клиентов из черного списка, личных контактов и пр.
Свойства:
Контакт | Аргумент, содержащий произвольную контактную информацию. |
Группа | Аргумент, содержащий имя группы клиентов. |
Переход, принадлежит | Компонент, на который передается управление, если соответствующий контакту клиент найден, указанная группа существует, и клиент принадлежит группе. |
Переход, не принадлежит | Компонент, на который передается управление, если не найден соответствующий контакту клиент, не существует группа, или клиент не принадлежит группе. |
Имя | Название компонента для отображения в визуальной среде и выбора в списке. |