Общие компоненты сценариев — различия между версиями

Материал из Oktell
Перейти к: навигация, поиск
м (leftОтправка одного Email)
 
(не показано 110 промежуточных версии 2 участников)
Строка 1: Строка 1:
[[Сценарии|Наверх]]
+
<code>[[Техническая документация]] / [[Call-центр]] или [[Администрирование]] / [[Сценарии]] / [[Общие компоненты сценариев]] </code>
 +
 
 +
 
 +
<code>Смотрите также:
 +
* [[Компоненты сценариев IVR]]
 +
* [[Компоненты сценариев диалога]]
 +
* [[Компоненты служебных сценариев]]
 +
</code>
 +
 
 +
----
  
  
Строка 7: Строка 16:
  
  
===Старт===
+
 
[[Файл:cl_cc_scr_i01.png|left]]                    
+
<div id="Start"></div>
+
==[[Файл:cl_cc_scr_i01.png|left]]Старт==
+
  
 
Компонент существует в любом сценарии – с него начинается действие, если трубка обрабатываемой линии положена. Старт на вход принимает параметр, который может сохранить в некоторой внутренней переменной сценария для дальнейшего использования.
 
Компонент существует в любом сценарии – с него начинается действие, если трубка обрабатываемой линии положена. Старт на вход принимает параметр, который может сохранить в некоторой внутренней переменной сценария для дальнейшего использования.
 +
  
 
'''Свойства''':
 
'''Свойства''':
Строка 29: Строка 38:
 
   
 
   
  
[[Файл:cl_cc_scr_i02.png|left]]
 
===Стоп===
 
 
 
  
 +
<div id="Stop"></div>
 +
==[[Файл:cl_cc_scr_i02.png|left]]Стоп==
  
 
Осуществляет завершение сценария без разрыва связи. Служит для остановки выполнения сценария после появления соответствующих условий. Классические примеры успешное переключение в сценарии IVR или корректное завершение работы в сценарии диалога.
 
Осуществляет завершение сценария без разрыва связи. Служит для остановки выполнения сценария после появления соответствующих условий. Классические примеры успешное переключение в сценарии IVR или корректное завершение работы в сценарии диалога.
Строка 49: Строка 56:
  
  
+
<div id="Appropriate"></div>
[[Файл:cl_cc_scr_i03.png|left]]
+
==[[Файл:cl_cc_scr_i04.png|left]]Присвоение значения переменной==
===Пауза===
+
 
+
+
 
+
Осуществляет задержку сценария перед выполнением следующего компонента. В случае указания длительности 0 – компонент пропускается. В некоторых случаях при работе с большими сценариями удобно использовать компонент «Пауза» в качестве пустышки, для удобства и быстроты смены свойств. Например, по веткам выхода из компонента «Меню», где каждое свойство перехода задается внутри специального окна путем выбора одного объекта из списка всех объектов сценария.
+
 
+
+
'''Свойства''':
+
 
+
{|cellpadding="10" cellspacing="0" border="1"
+
|Время задержки
+
|Время в миллисекундах, которое необходимо простоять на компоненте в паузе.
+
|-
+
|Переход
+
|Компонент, на который передается управление.
+
|-
+
|Имя
+
|Название компонента для отображения в визуальной среде и выбора в списке.
+
|}
+
 
+
+
 
+
[[Файл:cl_cc_scr_i04.png|left]]
+
===Присвоение значения===
+
 
+
+
  
 
Задает значение указанной переменной. В качестве присваемого значения выступает аргумент. Используется механизм преобразования типов, если типы значения аргумента и переменной не совпадают.
 
Задает значение указанной переменной. В качестве присваемого значения выступает аргумент. Используется механизм преобразования типов, если типы значения аргумента и переменной не совпадают.
Строка 108: Строка 89:
 
|}
 
|}
  
 
 
[[Файл:cl_cc_scr_i05.png|left]]
 
===Сравнение===
 
  
+
<div id="Compare"></div>
 +
 
 +
==[[Файл:cl_cc_scr_i05.png|left]]Сравнение==
  
 
Сравнивает значения двух аргументов. Компонент осуществляет ветвление сценария. В случае соответствия выбранной логической операции и значений аргументов переход осуществляется по ветке «Правда», в противном случае – по ветке «Ложь».
 
Сравнивает значения двух аргументов. Компонент осуществляет ветвление сценария. В случае соответствия выбранной логической операции и значений аргументов переход осуществляется по ветке «Правда», в противном случае – по ветке «Ложь».
Строка 146: Строка 125:
 
|}  
 
|}  
  
 
  
[[Файл:cl_cc_scr_i06.png|left]]
+
<div id="Menu"></div>
===Меню===
+
==[[Файл:cl_cc_scr_i06.png|left]]Меню сравнения==
 
+
+
  
 
Сравнивает аргумент со списком значений. Компонент может иметь неограниченное число веток перехода. Переход осуществляется по ветке значения, с которым совпало значение аргумента. Если совпадений не найдено, переход осуществляется по ветке «Прочее».
 
Сравнивает аргумент со списком значений. Компонент может иметь неограниченное число веток перехода. Переход осуществляется по ветке значения, с которым совпало значение аргумента. Если совпадений не найдено, переход осуществляется по ветке «Прочее».
Строка 173: Строка 149:
  
  
+
<div id="ExecScript"></div>
[[Файл:cl_cc_scr_i07.png|left]]
+
===Файловая операция===
+
  
 +
==[[Файл:cl_cc_scr_i18.png|left]]Запуск сценария==
  
Производит указанную дисковую операцию с файлом, каталогом или путем.  
+
В случае организации автоматических сервисов размеры сценария могут быть достаточно велики, и компонент «Запуск сценария» предоставляет возможность разбить крупный сценарий на несколько логических блоков. Таким образом, один сценарий передает управление в начало другого сценария. При этом можно задать некоторое значение на запуск, которое примет компонент «Старт» вложенного сценария и сохранит в свою локальную переменную. Помимо этого, все переменные одного типа, которые названы одинаково в запускающем и запускаемом сценариях, перенесут свои значения из одного в другой без изменений. Такой способ запуска называется вложенным.
  
 
  
'''Свойства''':
+
<span style="color:red;">ВНИМАНИЕ! Обработка сценария начинается с компонента Старт и ведется последовательно согласно значениям свойств перехода, если трубка положена (в основном это входящие звонки с внешних линий). В случае, когда трубка уже поднята, после компонента [[#Старт|Старт]] производится безусловный переход к компоненту "Поднять трубку", если такой имеется в сценарии. При этом обработчик пропускает все компоненты, которые находятся между ними. Запуск вложенных сценариев следует этим же правилам.
  
{|cellpadding="10" cellspacing="0" border="1"
 
|Путь
 
|Аргумент, определяющий место размещения объекта, подвергаемого файловой операции - абсолютный путь к каталогу или файлу.
 
|-
 
|Тип объекта
 
|Каталог / Файл / Путь
 
Определяет перечень операций, возможных для проведения с объектом, указанным с помощью пути.
 
|-
 
|Операция
 
|В зависимости от выбранного типа объекта предоставляет перечень возможных операций.
 
  
Каталог:
 
* Создать
 
* Удалить
 
* Переместить
 
* Переименовать
 
* Скопировать
 
* Проверить существование
 
* Количество подкаталогов
 
* Вернуть путь к подкаталогу
 
* Количество файлов
 
* Вернуть путь к файлу
 
  
Файл:
+
Также с помощью компонента можно запускать в параллельный процесс любой служебный сценарий, не работающий с зависимыми от основного сценария ресурсами (линией, оператором). При запуске асинхронного служебного сценария начальные значения его переменных, совпадающих по типам и именам с переменными основного сценария, будут установлены в соответствии с их значениями.
* Создать
+
* Удалить
+
* Переместить
+
* Переименовать
+
* Скопировать
+
* Проверить существование
+
* Определить размер
+
* Считать данные
+
* Дописать данные в конец
+
  
Путь:
+
* Вернуть родительский каталог
+
'''Свойства''':
* Вернуть имя
+
* Вернуть имя без расширения
+
* Вернуть расширение
+
* Проверить полноту
+
* Склеить пути
+
|-
+
|Новый путь
+
Новое имя
+
  
Путь копии
+
{|cellpadding="10" cellspacing="0" border="1"
|Путь или имя, которое будет присвоено вновь созданному файлу (или каталогу).
+
|Тип запуска
В случае, если при переименовании указывается имя без пути, за основу будет взят путь к исходному объекту.
+
|Определяет тип и формат запуска дочернего сценария.
 +
* Вложенный. Запуск вложенного сценария прекращает выполнение (возможно на время, до возврата управления) текущего сценария и активизирует обработку выбранного сценария того же типа.
 +
* Асинхронный служебный. Запускает в параллельном процессе выполнение выбранного служебного сценария и продолжает выполнение текущего. 
 +
* Фоновое медиа-взаимодействие. Доступно только для IVR сценариев. Инициирует дублирующий параллельный сценарий IVR. Подробнее в разделе [[Фоновый IVR-сценарий медиа-взаимодействия|Сценарии IVR. Фоновый сценарий]].
 +
|-
 +
|Сценарий
 +
|Текстовое поле с возможностью выбора из списка имеющихся сценариев. Определяет имя сценария, который необходимо запустить.
 
|-
 
|-
|Данные
+
|Параметр запуска
|Аргумент, представляющий собой строку. Строка в соответствии с выбранной кодировкой будет переведена в бинарный формат и размещена в содержимом файла при проведении операций создания и записи в файл.
+
|Аргумент, передающий свое значение на старт запускаемого сценария.
 
|-
 
|-
|Кодировка
+
|Возврат управления
|Определяет кодировку, посредством которой происходит преобразовании строки в бинарные данные и обратно при проведении операций записи в файл и чтения из файла.
+
|Да/нет. По умолчанию «Нет». Определяет способ вызова вложенного сценария.  
  
* Unicode
+
При установке значения «Нет» выполнение текущего сценария прекращается и запускается вложенный сценарий (с сохранением значений всех переменных). Такой способ наиболее часто применим на практике.
* UTF-8
+
При установке значения «Да» вложенный сценарий вызывается как функция и после его завершения происходит возврат в точку вызова. Все переменные исходного сценария доступны во вложенном и наоборот, таким образом после возврата они будут иметь соответствующие измененные значения. На процедуру возврата также влияет флаг «Возврат управления» компонента [[#Стоп|Стоп]], - используется во вложенном сценарии после успешного переключения с необходимостью безусловно прервать обработчик сценариев.  
* UTF-7
+
* Текущая кодовая страница Windows
+
* Windows-1251
+
* Указанная кодовая страница Windows
+
|-
+
|Данные в переменную
+
|Строковая переменная, куда будет сохранено содержимое файла при проведении операции чтения. Данные из файла считываются в бинарном виде и преобразуются в строку согласно выбранной кодировке.
+
  
<span style="color:red;">Внимание! Если целью считывания данных из файла является их дальнейшая передача вовне без изменений (например используя веб-запрос или сохранение файла, осуществляющие преобразование строки в бинарные данные), необходимо в обоих компонентах использовать кодировки ANSI, так как только она гарантирует однозначное двустороннее преобразование без потери данных.
 
|-
 
|Маска
 
|Аргумент, представляющий собой маску для файлов/каталогов в формате операционной системы, например *.inf или data_??.txt. Используется при определении содержимого каталога.
 
  
<span style="color:red;">Внимание! Если целью определения содержимого является обнаружение конкретного подкаталога/файла, либо обработка всего содержимого, соответствующего маске, то при взятии пути к конкретному файлу используется индекс. В этом случае необходимо также указывать ту же самую маску.
+
<span style="color:red;">ВНИМАНИЕ! Обработчик сценариев поддерживает условно неограниченную вложенность и имеет стек с ограничением в 100 сценариев во избежание зацикливания.
 +
 
 +
<span style="color:red;">ВНИМАНИЕ! Вызов внутри одной цепочки исполнения может происходить одновременно как с возвратом, так и без возврата.
 
|-  
 
|-  
|Индекс
 
|Аргумент, определяющий индекс файла/подкаталога при взятии его пути. Индекс - порядковый номер объекта в общем списке файлов/подкаталогов исследуемого каталога, отфильтрованного в соответствии с указанной маской.
 
|-
 
|Добавочный путь
 
|Аргумент, определяющий часть пути, подвергаемый склейке с основным. Например, если основной указанный путь 'C:\1', а добавочный '2.txt', то при проведении склейки результатом будет 'C:\1\2.txt'.
 
|-
 
|Результат в переменную
 
|Переменная, куда будет сохранен результат выполнения операции. Может быть строковой, либо числовой для проведения отдельных операций.
 
|-
 
 
|Переход
 
|Переход
|Компонент, на который передается управление после успешного завершения ввода.
+
|Компонент, на который передается управление после возврата в случае запуска вложенного сценария, а также непосредственно после запуска служебного сценария.
|-
+
Поле используется (и обязательно для заполнения) только в случае асинхронного запуска служебного сценария, а также в случае вложенного, если флаг «Возврат управления» установлен.
|Переход, не найдено
+
|Компонент, на который передается управление в случае, если указанный каталог или файл не найден.
+
|-
+
|Переход, ошибка
+
|Компонент, на который передается управление в случае, если в назначенных параметрах допущена ошибка или при проведении указанной операции возникла ошибка.
+
 
|-  
 
|-  
 
|Имя
 
|Имя
Строка 279: Строка 198:
  
  
+
<div id="Pause"></div>
[[Файл:cl_cc_scr_i08.png|left]]
+
==[[Файл:cl_cc_scr_i03.png|left]]Пауза==
===Голосовая почта===
+
  
+
Осуществляет задержку сценария перед выполнением следующего компонента. В случае указания длительности 0 – компонент пропускается. В некоторых случаях при работе с большими сценариями удобно использовать компонент «Пауза» в качестве пустышки, для удобства и быстроты смены свойств. Например, по веткам выхода из компонента «Меню», где каждое свойство перехода задается внутри специального окна путем выбора одного объекта из списка всех объектов сценария.
Осуществляет перемещение данных об указанном звуковом файле (чаще после записи в этом же сценарии) в голосовой ящик указанных пользователей. Подробнее о сервисе голосовой почты в разделе [[Кабинет#Голосовая почта|Офис. Кабинет. Голосовая почта]].
+
 
+
Заполняя свойство «Голосовой ящик» в окне адресата, можно явно указать существующих в системе пользователей, а также существующие отделы и внутренние номера. Также можно использовать свойство «Ключ получателя», значением которого является вычисляемый аргумент. Это удобно, когда заранее неизвестно получателя, и данные о нем формируются в момент исполнения сценария. При этом сообщение попадет ко всем пользователям, которые указаны явно, составляют указанные внутренние номера и группы. У пользователей, которым поступает голосовая почта, в их модулях появляются данные об абоненте, и возможность прослушать файл.
+
 
+
Сообщение отправится всем выбранным по одному из двух параметров – указателей адресатов. При этом один компонент формирует группу из всех перечисленных участников - прослушивание одним из них будет отражено на всей записи. При необходимости разослать сообщение независимо нескольким пользователям следует использовать серию из компонентов «Голосовая почта»
+
  
 
   
 
   
Строка 294: Строка 207:
  
 
{|cellpadding="10" cellspacing="0" border="1"
 
{|cellpadding="10" cellspacing="0" border="1"
|Имя файла
+
|Время задержки
|Аргумент, значение которого определяет абсолютный путь к файлу, который необходимо поместить в голосовой ящик. При использовании после объекта [[Компоненты сценариев IVR#Запись звукового файла|Запись файла]], в котором имя файла генерируется, необходимо в соответствующем свойстве выбирать возврат полного пути в переменную, сохраняющую имя записанного файла.
+
|Время в миллисекундах, которое необходимо простоять на компоненте в паузе.
 
|-
 
|-
|Ключ получателя
 
|Аргумент, определяющий пользователя-получателя почты. В качестве ключа может выступать идентификатор пользователя, его имя или логин. Также ключом может являться внутренний стандартный номер, явно определяющий пользователя через правило звонка («Администрирование. Внутренние номера. Стандартные»). В случае, если номер групповой, то получателями будут являться одновременно все его участники (пользователи указанные в номере явно, или посредством внутренних линий).
 
В качестве значения аргумента может быть указан список ключей, разделенных запятыми.
 
|-
 
|Голосовой ящик
 
|Окно ввода адресата: списка получателей, среди которых могут быть пользователи системы, отделы и конкретные внутренние номера. Каждый пользователь, участвующей явно через отдел, или через номер получит соответствующее голосовое сообщение.
 
При одновременном указании голосового ящика и ключа производится объединение всех установленных получателей на момент исполнения компонента.
 
|-
 
|Режим подстановки CallerId
 
|Определяет режим подстановки CallerId.
 
 
* Автоматически. Для сценариев IVR и диалоговых существует возможность автоматически определить номер абонента, чей звонок обслуживается в текущем сценарии. Если голосовую почту оставляет внутренний пользователь системы, будет подставлено его имя.
 
* Из аргумента. В некоторых случаях (если номер не определен, номер требует преобразований, служебный сценарий, работающий без привязки к каналу и т.д.) номер следует указывать вручную. При выборе данного значения появляется возможность задать callerid из аргумента.
 
|-
 
|CallerId
 
|Доступно только в режиме подстановки CallerId из аргумента.
 
Аргумент, значение которого подставляется при размещении голосового сообщения в поле таблицы CallerId и устанавливает номер абонента, оставившего сообщение.
 
|-
 
 
|Переход
 
|Переход
|Компонент, на который передается управление после успешного завершения ввода.
+
|Компонент, на который передается управление.
|-  
+
|-
 
|Имя
 
|Имя
 
|Название компонента для отображения в визуальной среде и выбора в списке.
 
|Название компонента для отображения в визуальной среде и выбора в списке.
 
|}
 
|}
  
 
  
 +
<div id="UserState"></div>
 +
==[[Файл:cl_cc_scr_i14.png|left]]Статус объекта==
  
[[Файл:cl_cc_scr_i09.png|left]]
+
Позволяет получить доступ к состояниям различных объектов (на чтение и запись). Например до начала переключения определить статус объекта (пользователя, задачи, номера), чтобы без попытки переключения и, соответственно, без включения сигнала ожидания, озвучить соответствующий текст меню.  
===Уведомление===
+
 
+
+
 
+
Уведомление – всплывающее окно, позволяющее донести до пользователя информацию о происходящем в сценарии действии. В качестве адресатов могут быть выбран список из пользователей, отделов и конкретных номеров. Также в качестве адреса может выступать номер, определяемый значением аргумента.
+
 
+
 
+
Уведомление получат все пользователи, которые указаны персонально, либо состоят в выбранных группах или внутренних номерах. В режиме [[Кабинет#Системные уведомления|Офис. Кабинет. Уведомления]] пользователь всегда сможет просмотреть пришедшие к нему уведомления и осуществить поиск.
+
  
 
   
 
   
Строка 339: Строка 227:
  
 
{|cellpadding="10" cellspacing="0" border="1"
 
{|cellpadding="10" cellspacing="0" border="1"
|Отладочный режим
+
|Действие
|Да / нет. По умолчанию «нет». При сохранении сценария может быть установлен общий режим отладки (на странице свойств сценария). Отладочные уведомления будут отображаться только в режиме отладки сценария. Остальные будут отображаться в любом случае.
+
|Доступные действия:
 +
* Определить. Формирует работу компонента для записи в назначенную переменную выбранного состояния указанного объекта.  
 +
* Установить. Изменяет выбранное состояние указанного объекта на результат вычисления назначенного аргумента.  
 +
<!-- * Создать. Создает объект выбранного типа, возвращая его идентификатор.
 +
* Удалить. Удаляет объект выбранного типа. -->
 
|-  
 
|-  
|Ключ получателя
+
|Тип объекта
|Аргумент, определяющий пользователя-получателя сообщения. В качестве ключа может выступать идентификатор пользователя, его имя или логин. Также ключом может являться внутренний стандартный номер, явно определяющий пользователя через правило звонка («Администрирование. Внутренние номера. Стандартные»). В случае, если номер групповой, то получателями будут являться одновременно все его участники (пользователи указанные в номере явно, или посредством внутренних линий).  
+
|Один из вариантов: Задача, Пользователь, Номер, Линия, Направление, Конференция, Сервер. Тип объекта, с которым производится работа: статус которого подлежит определению, изменению, или который необходимо создать/удалить.
В качестве значения аргумента может быть указан список ключей, разделенных запятыми.
+
В зависимости от выбранного действия перечень типов может меняться.
|-
+
|Адресат
+
|Окно ввода адресата: списка получателей, среди которых могут быть пользователи системы, отделы и конкретные внутренние номера. Каждый пользователь, участвующий явно, через отдел, или через номер получит соответствующее уведомление.
+
При одновременном указании адресата и ключа производится объединение всех установленных получателей на момент исполнения компонента.
+
 
|-  
 
|-  
|Сохранять в БД
+
|Задача (ключ), Пользователь (ключ), Номер, Линия (ключ), Направление (ключ), Конференция (ключ), Сервер
|Да/нет. По умолчанию «да». При установке свойства сообщение будет сохранено в БД и будет доступно в модуле [[Кабинет#Системные уведомления|Офис. Кабинет. Уведомления]]. Если пользователь отсутствует, то сообщение будет доставлено сразу после его авторизации в системе.
+
|Доступны только для действий определить/установить.
 +
В зависимости от выбранного типа поле принимает тот или иной вид:
 +
* Задача. Одна из списка задач системы (или проекта, если сценарий принадлежит проекту). Возможно задание через строковый аргумент «Ключ задачи». Может содержать идентификатор в виде Guid значения «xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx», код задачи или название задачи. Будет использован только в случае, если задача не указана явно в списке имеющихся в системе задач.
 +
* Пользователь. Один из списка пользователей системы. Возможно задание через строковый аргумент «Ключ пользователя». Может содержать идентификатор в виде GUID значения, имя или логин.
 +
* Номер. Аргумент, определяющий внутренний номер (стандартный).
 +
* Линия. Аргумент, определяющий номер, код или Guid-идентификатор линии.
 +
* Направление. Аргумент, определяющий направление (код или Guid-идентификатор).
 +
* Конференция. Аргумент, определяющий номер комнаты, Guid-идентификатор или код идентификатора конференции.
 +
* Сессия. Аргумент, определяющий Id цепочки коммутации или сессию служебного сценария.
 +
* Контакт. Аргумент, определяющий телефон (электронную почту, ICQ и т.д.) у контакта.
 
|-  
 
|-  
|Текст
+
|Функция / действие
|Аргумент, определяющий текст уведомления.
+
|Доступно только для действий определить/установить.
Поддерживается минимальный набор тегов HTML для форматирования. Чтобы отобразить текст в виде HTML-документа необходимо его заключить в теги <html>..</html>
+
Ниже за пределами таблицы свойств приведен перечень поддерживаемых HTML-тегов.
+
|-
+
|Способ оповещения
+
|Позволяет выбрать режим, в котором данные поступают указанным адресатам.
+
  
* Всплывающее уведомление. Появляющиеся в правой части экрана цветные окна с информацией.
+
В зависимости от выбранного действия и типа объекта поле содержит список доступных состояний.
* Системный чат. Сообщение от имени системы во встроенном [[Сотрудники|системном чате]].
+
* Лог-журнал. Запись в серверном лог-журнале Common.
+
|-
+
|Цвет фона
+
|Определяет цвет фона всплывающего окошка.
+
|-
+
|Скрывать автоматически
+
|Да/нет. По умолчанию «да». При отключении уведомление будет скрыто только после щелчка пользователя на нем. Поступающие уведомления помещаются в очередь, из которой отображаются в видимых областях экрана в порядке поступления. Очередь сообщений может быть очищена из системного меню в трее.
+
При отправке уведомления отключенному пользователю с сохранением в БД, отображаемые после авторизации последние несколько пропущенных уведомлений будут в любом случае автоматически скрываться.
+
|-
+
|Асинхронный режим
+
|Да/нет. Способ рассылки уведомлений. При выборе асинхронного режима компонент не ожидает доставки уведомлений пользователям и сразу передает управление следующему объекту сценария. Имеет смысл при рассылке уведомления множеству пользователей из сценариев IVR обработки входящих вызовов во избежание незапланированных пауз. Однако при завершении сценария асинхронные рассылки всех уведомлений, не успевшие завершиться, будут прерваны.
+
|-
+
|Разрешать несколько экземпляров на экране
+
|Да/нет. В некоторых случаях требуется выводить уведомления об одном и том же. Чтобы однотипные отображения не заполняли экран, можно устанавливать режим фильтрации по коду сообщения. Код указывается в открывающемся при этом свойстве.
+
|-
+
|Код сообщения
+
|Доступно только при запрете нескольких экземпляров на экране. Аргумент, определяющий код, на основании которого будет производиться фильтрация и пропуск отображения.
+
|-
+
|Переход
+
|Компонент, на который передается управление после успешного завершения ввода.
+
|-
+
|Имя
+
|Название компонента для отображения в визуальной среде и выбора в списке.
+
|}
+
  
 +
<h3>Определение состояния.</h3>
  
'''Поддерживаемые HTML-теги''':
+
'''Доступные функции для задач:'''  
 +
* Количество абонентов в очереди.
 +
* Наибольшее время ожидания среди абонентов очереди (при сохранении в переменную типа дата/время подставляется значение переменной начиная с 01.01.0000; в переменную строка - значение ЧЧ:мм:cc, ЧЧ при превышении 24 продолжает увеличиваться; в числовую переменную попадает действительное значение количества минут).
 +
* Расчетное время ожидания в очереди (при сохранении в переменную типа дата/время подставляется значение переменной начиная с 01.01.0000; в переменную строка - значение ЧЧ:мм:cc, ЧЧ при превышении 24 продолжает увеличиваться; в числовую переменную попадает действительное значение количества секунд). Осуществляет расчет времени ожидания при гипотетическом размещении текущего звонка в очереди указанной задачи. В случае, если установлен приоритет звонку, он будет учтен. При выполнении в диалоговом и служебном сценариях, где отсутствует понятие приоритета звонка, происходит оценка времени ожидания при размещении в конец очереди.
 +
* Количество активных операторов задачи.
 +
* Количество свободных операторов задачи.
 +
* Активность задачи. 0 - неактивна, 1 - активна.
 +
* Доступность по расписанию. 0 - в данный момент недоступна, 1 - в данный момент доступна.
 +
* Проверка доступности входа. -1 — функция не выполнена, 0 — вход разрешен, 1 — текущее время не подходит по расписанию, 2 — текущее время не подходит по установленному периоду активности, 3 — превышение максимального числа одновременно активных внешних линий, 4 — задача не найдена, 5 — несоответствие состояния (задача неактивна, отсутствуют операторы и т.д.), 6 — ошибка при попытке входа
 +
* Количество использованных линий.
 +
* Количество линий в разговоре.
 +
* Количество линий в дозвоне.
 +
* Количество линий в ожидании оператора.
  
* <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 - стиль >
 
  
 +
'''Доступные функции для пользователей:'''
 +
* Идентификатор пользователя.
 +
* Имя пользователя.
 +
* Логин пользователя.
 +
* Скилл-тэги.
 +
* Идентификатор связанной линии, по которой пользователь совершает звонки.
 +
* Внутренний номер. Возвращает персональный номер, а в случае его отсутствия - групповой номер, в котором пользователь приоритетнее (вызывается первее или имеет наибольший приоритет). Если под это условие попадает несколько номеров, то выбирается с наименьшим номером.
 +
* Отдел. Пустая строка — если без отдела, название отдела — если установлено.
 +
* 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-номеров.
  
1. font-weight - толщина символов
 
  
Значения:
+
'''Доступные функции для линий:'''
* bold - полужирный
+
* Идентификатор линии.
* normal - обычный               
+
* Номер линии.
(Не поддерживается: bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900)<br />
+
* Код линии.
 +
* Внутренний номер. Возвращает персональный номер линии или логически связанного с линией пользователя. Если персональных номеров нет, то возвращается групповой номер, в котором линия или связанный пользователь самый приоритетный (вызывается первее или имеет приоритет выше чем в остальных). Среди двух одинаковых номеров, приоритет отдается номер на логически связанного пользователя с наименьшим номером.
 +
* 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-сообщения.
  
2. text-decoration - декорация текста
 
  
Значения:
+
'''Доступные функции для направлений:'''
* line-through - перечеркнутый
+
* Существование. 0 — не существует, 1 - существует.
* underline - подчеркнутый
+
* Идентификатор. Если не существует, возвращает "''00000000-0000-0000-0000-000000000000''"
* none - отсутствует
+
* Код.
(Не поддерживается: blink | overline )
+
* Название.
 +
* Включено. Проверка активности, 0 - не активно, 1 - активно
 +
* Выход во внешнюю сеть. 0 - есть, 1 - нет
 +
* Количество линий.
 +
* Количество свободных линий.
 +
* Количество занятых линий.
 +
* Количество линий, занятых исходящими звонками.
 +
* Количество линий, занятых входящими звонками.
 +
* Проверить принадлежность линии. В значении указывается GUID, код или номер линии. 0 - не принадлежит, 1 - принадлежит направлению.
 +
* Найти свободную линию (без резервирования). Возвращает GUID-идентификатор линии.
  
3. font-style - стиль шрифта
 
  
Значения:
+
'''Доступные функции для конференций:'''
* normal - обычный
+
* Существование. 0 - не существует, 1 - существует.
* italic - курсив
+
* Время активности. Возвращает время существования конференции в секундах.
(Не поддерживается: oblique)
+
* Идентификатор. Уникальный GUID для конференции.
 +
* Код идентификатора. Уникальный числовой код для конференции.
 +
* Номер комнаты.
 +
* Название.
 +
* Описание.
 +
* Идентификатор управляющего.
 +
* Идентификатор создателя.
 +
* Количество всех участников.
 +
* Количество активных участников.
 +
* Тип доступа. 11 — Открытое совещание, 12 - Закрытое, с возможностью подать заявку на вход, 13 — закрытое, вход только по приглашениям.
 +
* Активность воспроизведения. Свойство определяет воспроизводится ли музыкальный файл в конференцию (с помощью компонента Статус Объекта,  свойство "''Установить — Конференция — Воспроизвести файл''"). 0 - не воспроизводится, 1 - воспроизводится.
  
4. text-align - выравнение текста (только для<nowiki><p></nowiki>)
 
  
Значения:
+
'''Доступные функции для сессии (цепочки коммутаций):'''
* left - по левому краю
+
* Существование. 1 - существует, 0 - не существует. 
* right - по правому краю
+
* Количество активных линий. Если нет, возвращает -1.
* center - по центру
+
* Количество активных сценариев. Возвращает общее количество сценариев (IVR, служебных и диалоговых), запущенных под данной сессией.
* justify - по ширине
+
* Наличие активного обработчика задачи. Определяет, обрабатывается ли данный звонок по задаче 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>
  
5. color - цвет текста
 
  
Значения:
+
'''Доступные функции для контактов:'''
* red - красный
+
* Проверить группу. В поле "Группа" необходимо указать название группы контактов. 0 - не входит, 1 - входит.
* green - зеленый
+
* blue - синий
+
* black - черный
+
* white - белый
+
* yellow - желтый
+
* gray - серый
+
* #XXXXXX - шестнадцатеричный код цвета где (X - шестнадцатеричное число 0..F )
+
  
  
 +
'''Доступные функции для сервера:'''
 +
* Имя хоста сервера.
 +
* Локальный 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 — снять ограничение.
  
Примеры:
 
* <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>
 
  
+
'''Доступные функции для пользователей:'''
 +
* Сохранить скриншот (в размерах 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-ввести.
  
[[Файл:cl_cc_scr_i10.png|left]]
 
===Задание на звонок===
 
  
   
+
'''Доступные функции для линий:'''
 +
* Разрыв (выполняется безусловно). Производит разрыв и отсоединение линии.
 +
* Мягкий сброс. Производит разрыв с переключением в [[Параметры_АТС#Сценарий 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.
  
Компонент инициирует задачу однократного выполнения в указанное время на указанный номер. Задача запускает указанный в соответствующем свойстве компонента сценарий IVR. Для формируемой задачи в компоненте указываются инициирующие значения, а также параметр задачи, который будет доступен через функцию «Параметр задачи» в сценарии IVR.
 
  
<span style="color:red;">ВНИМАНИЕ! Для инициации звонка существует альтернатива данному компоненту. Служебный сценарий имеет компонент «Дозвон», рекомендуемый к использованию в большинстве случаев, так как имеет расширенные настройки и не производит дополнительной нагрузки на менеджер задач.  
+
'''Доступные функции для конференции:'''
 +
* Установить название.
 +
* Установить описание.
 +
* Обновить информацию у клиентов. Во всех клиентских приложениях обновляется название и описание конференции.
 +
* Воспроизвести файл. Позволяет проиграть указанный звуковой файл в формате 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.
  
 
'''Свойства''':
 
  
{|cellpadding="10" cellspacing="0" border="1"
+
'''Доступные функции для сервера:'''
|Номер
+
* Обновить список задач. Синхронизирует менеджер задач с базой данных, обновляя список задач и их свойства.
|Аргумент, определяющий номер, по которому производить дозвон.
+
* Обновить общие настройки. Перезагружает текущие общие настройки, задаваемые в разделе ''[[Общие Настройки]]'', из БД.
|-
+
* Перерегистрировать все 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>.
 
|-  
 
|-  
|Дата/время
+
|Значение в переменную
|Дата и время, когда производить выполнение задачи.
+
|Доступно только для действия «Определить».
Поле доступно только при выборе значения «Нет» в свойстве «Выполнить сразу».
+
Переменная, в которую заносится результат вычисления функции.
|-
+
|Сценарий
+
|Текстовое поле с возможностью выбора из списка имеющихся сценариев. Определяет имя сценария, который необходимо запустить после дозвона.
+
 
|-  
 
|-  
|Параметр запуска
+
|Значение
|Числовой аргумент, передающий свое значение в задачу, а через нее на старт запускаемого сценария и в функцию «Параметр задачи». Может быть использован для идентификации через сопоставление по таблице в БД, или для передачи множества параметров. Доступен в сценарии автоматической задачи через встроенную функцию «Параметр задачи».
+
|Доступно только для действия «Установить».
|-
+
Аргумент, значение которого вычисляется для установки состояния.
|Количество сигналов «Занято»
+
|-  
|Сколько дозвонов с ответом «Занято» считать успешным выполнением задачи.
+
|Идентификатор в переменную
|-
+
|Доступно только для действия «Создать».  
|Количество сигналов «Не отвечает»
+
Переменная, в которую заносится идентификатор вновь созданного объекта.
|Сколько дозвонов с ответом «Не отвечает» считать успешным выполнением задачи.
+
|-
+
|Время фиксации в секундах
+
|Сколько секунд необходимо выполнять сценарий после дозвона, чтобы считать успешным выполнение задачи.
+
|-
+
|Время ожидания ответа
+
|Сколько секунд ожидать ответа от линии для получения сигнала «Не отвечает».
+
|-
+
|Пауза после сигнала «Занято»
+
|Сколько секунд делать перерыв в выполнении задачи, если от линии получен сигнал «Занято».
+
|-
+
|Пауза после сигнала «Не отвечает»
+
|Сколько секунд делать перерыв в выполнении задачи, если от линии получен сигнал «Не отвечает».
+
 
|-
 
|-
 
|Переход
 
|Переход
Строка 511: Строка 501:
 
|Имя
 
|Имя
 
|Название компонента для отображения в визуальной среде и выбора в списке.
 
|Название компонента для отображения в визуальной среде и выбора в списке.
|}  
+
|}
  
 
[[Файл:cl_cc_scr_i11.png|left]]
 
===Запрос SQL в БД===
 
  
 +
<div id="SQL"></div>
 +
 +
==[[Файл:cl_cc_scr_i11.png|left]]Запрос в базу данных==
 
   
 
   
 
Позволяет производить действия в БД, а также передавать параметры (на вход и на выход). В качестве параметров выступают переменные сценария. Обращение к БД происходит по одной из выбранных технологий: ADO, OLE, ODBC. Для запросов во внешние БД необходимо заполнить строку подключения с помощью помощника – построителя. В случае ошибки переход осуществляется по ветке «Ошибка», и в переменную «Код ошибки» возвращается соответствующий код исключения БД.  
 
Позволяет производить действия в БД, а также передавать параметры (на вход и на выход). В качестве параметров выступают переменные сценария. Обращение к БД происходит по одной из выбранных технологий: ADO, OLE, ODBC. Для запросов во внешние БД необходимо заполнить строку подключения с помощью помощника – построителя. В случае ошибки переход осуществляется по ветке «Ошибка», и в переменную «Код ошибки» возвращается соответствующий код исключения БД.  
Строка 548: Строка 538:
 
|}  
 
|}  
  
 
  
+
<div id="WebRequest"></div>
[[Файл:cl_cc_scr_i12.png|left]]
+
===Запрос к WEB-сервису, XML-запрос===
+
  
+
==[[Файл:cl_cc_scr_i12.png|left]]Запрос к WEB-сервису==
Позволяет выполнять запросы к web-сервисам в форматах get и post. На вход может передавать указанным образом заполненную структуру XML документа. Прием данных и их обработку осуществляет также согласно прикрепленной к компоненту структуре XML документа. В случае ошибки переход осуществляется по ветке «Ошибка», и в переменную «Код ошибки» возвращается соответствующий код исключения. Для детального разбора ответа может быть использован совместно с компонентом «Парсер»: сохранив ответ в строковой переменной, его дальнейший анализ производится совокупностью других компонентов сценария.
+
 
 +
Позволяет выполнять запросы к web-сервисам в форматах get, post, put, head, delete. На вход может передавать указанным образом заполненную структуру XML документа. Прием данных и их обработку осуществляет также согласно прикрепленной к компоненту структуре XML документа. В случае ошибки переход осуществляется по ветке «Ошибка», и в переменную «Код ошибки» возвращается соответствующий код исключения. Для детального разбора ответа может быть использован совместно с компонентом «Парсер»: сохранив ответ в строковой переменной, его дальнейший анализ производится совокупностью других компонентов сценария.
  
 
Компонент поддерживает работу в сессиях, сохраняя и используя COOKIE, а также HTTPS и подтверждение сертификатов.
 
Компонент поддерживает работу в сессиях, сохраняя и используя COOKIE, а также HTTPS и подтверждение сертификатов.
Строка 563: Строка 551:
  
 
{|cellpadding="10" cellspacing="0" border="1"
 
{|cellpadding="10" cellspacing="0" border="1"
|Подключение
+
|URL
|Форма, определяющая адрес сервера, а также способ подключения к нему и параметры авторизации. При необходимости устанавливаются адрес и пароль подключения к Proxy-серверу.
+
|Переменная, определяющая адрес web-сервера
 
|-  
 
|-  
 +
|Прокси-сервер
 +
|Свойство, определяющее источник настроек для подключения к прокси-серверу.
 +
*Не использовать — подключение выполняется напрямую к серверу ICQ/Jabber, минуя прокси.
 +
*Согласно общим настройкам — используется режим подключения, заданный в общих настройках комплекса (отдельно разделы ICQ-сервис и Jabber-сервис).
 +
*Настроить индивидуально — используются настройки, указанные в данном компоненте
 +
|-
 +
|Адрес прокси-сервера
 +
|Доступно, если выбраны индивидуальные настройки прокси-сервере. Адрес прокси-сервера.
 +
|-
 +
|Порт прокси-сервера
 +
|Доступно, если выбраны индивидуальные настройки прокси-сервере. Порт прокси-сервера.
 +
|-
 +
|Авторизация на прокси
 +
|Да/Нет. Доступно, если выбраны индивидуальные настройки прокси-сервере. Свойство, отвечающее за необходимость авторизации на прокси-сервер.
 +
|-
 +
|Логин для авторизации на прокси
 +
|Доступно, если необходима авторизация на прокси. Логин учетной записи на прокси-сервере
 +
|-
 +
|Пароль для авторизации на прокси
 +
|Доступно, если необходима авторизация на прокси. Пароль учетной записи на прокси-сервере
 +
|-
 +
|Базовая авторизация
 +
|Свойство, определяющее необходимости использования авторизация на web-сервере
 +
*Не использовать — подключение выполняется без авторизации
 +
*По логину и паролю — подключение выполняется с указанным логином и паролем
 +
|-
 +
|Логин для базовой авторизации
 +
|Доступно, если выбрано использование базовой авторизации. Логин для авторизации на web-сервере
 +
|-
 +
|Пароль для базовой авторизации
 +
|Доступно, если выбрано использование базовой авторизации. Пароль для авторизации на web-сервере
 +
|-
 
|Максимальное число перенаправлений
 
|Максимальное число перенаправлений
 
|Устанавливает ограничение на количество перенаправлений при отправке запроса. По умолчанию свойство не задано, что эквивалентно ограничению в 20 перенаправлений - недостижимое в нормальных условиях значение. 0 - полностью игнорирует перенаправления.
 
|Устанавливает ограничение на количество перенаправлений при отправке запроса. По умолчанию свойство не задано, что эквивалентно ограничению в 20 перенаправлений - недостижимое в нормальных условиях значение. 0 - полностью игнорирует перенаправления.
 
При каждом перенаправлении cookie-файлы накапливаются и передаются дальше.
 
При каждом перенаправлении cookie-файлы накапливаются и передаются дальше.
 
|-  
 
|-  
 +
|Метод
 +
|POST / GET / PUT / HEAD / DELETE
 +
В случае POST, PUT, HEAD, DELETE запроса становится доступным формирование и отправка контента.
 +
|-
 
|Тип контента
 
|Тип контента
|Строка contenttype, подставляемая в отсылаемый запрос.
+
|Доступно только для методов POST, PUT, HEAD, DELETE. Строка contenttype, подставляемая в отсылаемый запрос. Например,
 
+
 
+
Например:
+
 
* application/x-www-form-urlencoded  
 
* application/x-www-form-urlencoded  
 
* text/xml  
 
* text/xml  
 
* text/html  
 
* text/html  
 
* text/plain  
 
* text/plain  
 
 
Допускается указание других строк.
 
Допускается указание других строк.
 
|-  
 
|-  
|Метод
 
|POST / GET
 
В случае POST запроса становится доступным формирование и отправка контента.
 
|-
 
 
|Тип запроса
 
|Тип запроса
 
|XML / Аргумент.  
 
|XML / Аргумент.  
Доступно только для метода POST. Вариант определения тела POST запроса - формирование в специальной форме с подстановкой переменных, либо на базе указанного аргумента.
+
Доступно только для методов POST, PUT, HEAD, DELETE. Вариант определения тела запроса - формирование в специальной форме с подстановкой переменных, либо на базе указанного аргумента.
 
|-
 
|-
 
|Запрос
 
|Запрос
|Доступно только для метода POST.
+
|Доступно только для методов POST, PUT, HEAD, DELETE. В зависимости от выбранного значения свойства «Тип запроса» это либо форма, определяющая структуру запроса и подстановку в качестве параметров аргументов (переменных) сценария, либо форма выбора строкового аргумента.
В зависимости от выбранного значения свойства «Тип запроса» это либо форма, определяющая структуру запроса и подстановку в качестве параметров аргументов (переменных) сценария, либо форма выбора строкового аргумента.
+
 
|-  
 
|-  
 
|Кодировка запроса
 
|Кодировка запроса
|Определяет в какой кодировке передается тело POST-запроса. В списке возможных вариантов:
+
|Определяет в какой кодировке передается тело запроса. В списке возможных вариантов:
 
* Unicode  
 
* Unicode  
 
* UTF-8  
 
* UTF-8  
Строка 602: Строка 617:
 
* Windows-1251  
 
* Windows-1251  
 
* Указанная кодовая страница Windows  
 
* Указанная кодовая страница Windows  
 +
|-
 +
|Кодовая страница Windows для запроса
 +
|Доступно только при выборе кодировки запроса «Указанная кодовая страница Windows».
 +
Числовой аргумент, определяющий кодовую страницу Windows для формирования запроса.
 
|-  
 
|-  
 
|Дополнительные заголовки
 
|Дополнительные заголовки
Строка 609: Строка 628:
 
   HeaderName2: Value2
 
   HeaderName2: Value2
 
|-  
 
|-  
|Дополнительные cookies
+
|Дополнительные cookie
 
|Позволяет установить дополнительные cookie значения.
 
|Позволяет установить дополнительные cookie значения.
 
Строковый аргумент, подразумевающий присутствие одного или нескольких дуплетов "ключ=значение", разделенных переводом строки, запятой или точкой с запятой.
 
Строковый аргумент, подразумевающий присутствие одного или нескольких дуплетов "ключ=значение", разделенных переводом строки, запятой или точкой с запятой.
|-
 
|Кодовая страница Windows для запроса
 
|Доступно только при выборе кодировки запроса «Указанная кодовая страница Windows».
 
Числовой аргумент, определяющий кодовую страницу Windows для формирования запроса.
 
 
|-  
 
|-  
 
|Режим работы
 
|Режим работы
Строка 631: Строка 646:
 
|-
 
|-
 
|Ответ(XML)
 
|Ответ(XML)
|Форма, определяющая структуру стандартного ответа сервера и характер распределения выходных значений по переменным сценария. Поддерживает только строгое соответствие дерева XML. Недоступно для асинхронного режима.
+
|Если выбран "Тип ответа" — XML. Форма, определяющая структуру стандартного ответа сервера и характер распределения выходных значений по переменным сценария. Поддерживает только строгое соответствие дерева XML. Недоступно для асинхронного режима.
 
|-
 
|-
|Ответ(строка)
+
|Ответ в переменную
|Переменная, в которую сохранится текст ответа. Недоступно для асинхронного режима.
+
|Если выбран "Тип ответа" — Текст. Переменная, в которую сохранится текст ответа. Недоступно для асинхронного режима.
 
|-
 
|-
 
|Кодировка ответа
 
|Кодировка ответа
Строка 651: Строка 666:
 
Числовой аргумент, определяющий кодовую страницу Windows для разбора ответа.
 
Числовой аргумент, определяющий кодовую страницу Windows для разбора ответа.
 
|-
 
|-
|Код ошибки
+
|Заголовки ответа в переменную
 +
|Переменная, в которую сохранятся заголовки ответа
 +
|-
 +
|Код ошибки в переменную
 
|Переменная, в которую сохранится код возврата сценария.
 
|Переменная, в которую сохранится код возврата сценария.
 +
Если был получен ответ от web-сервиса, то код ошибки совпадает с кодом состояния HTTP.
 +
В противном случае это внутренние коды ошибок работы компонента:
 +
* 661 - истёк таймаут установления подключения (10 секунд) для отправки данных
 +
* 662 - не удалось установить соединение для отправки данных
 +
* 663 - истёк таймаут отправки тела запроса
 +
* 664 - ошибка при завершении отправки тела запроса
 +
* 1 - прочие ошибки. Конкретная информация об ошибке попадёт в серверный лог Exception
 
|-
 
|-
 
|Переход
 
|Переход
Строка 666: Строка 691:
 
|Название компонента для отображения в визуальной среде и выбора.
 
|Название компонента для отображения в визуальной среде и выбора.
 
|}
 
|}
 
  
 
[[Файл:cl_cc_scr_i27.png|left]]
 
===Парсер текста===
 
  
+
<div id="Parser"></div>
 +
 
 +
==[[Файл:cl_cc_scr_i27.png|left]]Парсер (XML, HTML, текст)==
 +
 
 
Осуществляет разбор любых текстовых структур. Может использоваться метод регулярных выражений или встроенный анализатор гипертекста OQuery. Согласно строке поиска формирует ответ, либо вырезает запрошенный раздел или их совокупность, либо определяет количество элементов в указанном разделе структуры. Сложные структуры могут быть разобраны последовательностью элементов «Парсер». Каждый из которых выделяет из документа некоторую структуру и возвращает ее на вход следующего элемента.
 
Осуществляет разбор любых текстовых структур. Может использоваться метод регулярных выражений или встроенный анализатор гипертекста OQuery. Согласно строке поиска формирует ответ, либо вырезает запрошенный раздел или их совокупность, либо определяет количество элементов в указанном разделе структуры. Сложные структуры могут быть разобраны последовательностью элементов «Парсер». Каждый из которых выделяет из документа некоторую структуру и возвращает ее на вход следующего элемента.
  
 
В общем случае производится разбор HTML, XML структур различного формата. На уровне сценария могут быть организованы циклы и условия. Чаще применяется для разбора ответов веб-сервисов компонентом «Web-запрос».
 
В общем случае производится разбор HTML, XML структур различного формата. На уровне сценария могут быть организованы циклы и условия. Чаще применяется для разбора ответов веб-сервисов компонентом «Web-запрос».
  
 +
Подробнее о компоненте можете прочитать в статье [[Компонент Парсер]]
  
 
{|cellpadding="10" cellspacing="0" border="1"
 
{|cellpadding="10" cellspacing="0" border="1"
Строка 685: Строка 710:
 
|Метод разбора:
 
|Метод разбора:
 
* Регулярные выражения.  
 
* Регулярные выражения.  
* Язык OQuery.
+
* Язык OQuery для HTML.
 +
* Парсер JSON
 
|-  
 
|-  
 
|Поисковый запрос
 
|Поисковый запрос
|Строка запроса для соответствующего алгоритма. Язык регулярных выражений совпадает со стандартом .NET. Синтаксис языка OQuery описан ниже.
+
|Строка запроса для соответствующего алгоритма. Язык регулярных выражений совпадает со стандартом .NET. Синтаксис языка OQuery и JSON описан ниже.
 
|-
 
|-
 
|Функция
 
|Функция
 
|Тип запроса (возвращаемого значения)
 
|Тип запроса (возвращаемого значения)
  
В зависимости от выбранного алгоритма допускает выбор одного из возможных вариантов. Для регулярных выражений доступны:
+
В зависимости от выбранного алгоритма допускает выбор одного из возможных вариантов.  
* Содержимое.
+
 
 +
 
 +
Для регулярных выражений доступны:
 +
* Содержимое.
 
* Количество найденных.  
 
* Количество найденных.  
  
Строка 701: Строка 730:
 
* Документ. Возвращает текст структуры с обрамляющими тэгами.  
 
* Документ. Возвращает текст структуры с обрамляющими тэгами.  
 
* Содержимое. Возвращает текст структуры без обрамляющих тэгов.  
 
* Содержимое. Возвращает текст структуры без обрамляющих тэгов.  
* Количество найденных. Возвращает число - количество найденных структур, расположенных согласно поисковому запросу на одном уровне.  
+
* Количество элементов. Возвращает число - количество найденных структур, расположенных согласно поисковому запросу на одном уровне.  
 
* Значение атрибута.  
 
* Значение атрибута.  
 
* Имя атрибута.  
 
* Имя атрибута.  
 
* Количество атрибутов.
 
* Количество атрибутов.
 +
 +
 +
Для JSON доступны:
 +
* Содержимое. Возвращает текст структуры - значение элемента, объект или массив. Значение элемента возвращается в кавычках.
 +
* Восстановленное содержимое. То же, что и содержимое, но возвращает значение элемента без кавычек.
 +
* Количество элементов. Возвращает число - количество вложенных элементов, объектов, массивов.
 
|-  
 
|-  
 
|Номер элемента
 
|Номер элемента
|Аргумент, определяющий порядковый номер структуры на случай, если поисковый запрос нашел несколько результатов. Нумерация в этом случае начинается с 1. Если указывается 0, то результаты склеиваются в одно значение.
+
|Доступно для регулярных выражений и языка OQuery.
 +
Аргумент, определяющий порядковый номер структуры на случай, если поисковый запрос нашел несколько результатов. Нумерация у парсера OQuery начинается с 1, нумерация в случае регулярных выражения и парсера JSON начинается с 0.  
 
|-  
 
|-  
 
|Атрибут
 
|Атрибут
|Аргумент, определяющий параметры интересующего атрибута. Доступен только для алгоритма OQuery и функций, связанных с атрибутами.
+
|Доступно только для алгоритма OQuery и функций, связанных с атрибутами.
 +
Аргумент, определяющий параметры интересующего атрибута.
 
Функция "Значение атрибута" ждет в качестве значения аргумента имя или порядковый номер атрибута.
 
Функция "Значение атрибута" ждет в качестве значения аргумента имя или порядковый номер атрибута.
 
Функция "Имя атрибута" ждет в качестве значения аргумента порядковый номер атрибута.
 
Функция "Имя атрибута" ждет в качестве значения аргумента порядковый номер атрибута.
Строка 728: Строка 765:
  
  
'''Синтаксис OQuery''':
+
===Синтаксис языка OQuery===
 
+
 
   
 
   
Запрос - это набор команд.
+
Запрос - это набор команд. Запрос пишется в одну строчку и выполняется в порядке перечисления (слева направо). Для тестирования запросов можно воспользоваться программой [[Media:OQuery-tester.zip|'''OQuery-tester.exe''']].
  
Запрос пишется в одну строчку и выполняется в порядке перечисления (слева направо)
 
 
 
 
Уровни:
 
Уровни:
 
{|cellpadding="10" cellspacing="0" border="1"
 
{|cellpadding="10" cellspacing="0" border="1"
Строка 774: Строка 807:
 
Примечание: Результат не зависит от порядка перечисления команд. Например TABLE#big.sample = TABLE.sample#big - найдет теги, у которых атрибут id = big и атрибут class содержит sample.
 
Примечание: Результат не зависит от порядка перечисления команд. Например TABLE#big.sample = TABLE.sample#big - найдет теги, у которых атрибут id = big и атрибут class содержит sample.
  
 
  
 
Операции сравнения:
 
Операции сравнения:
Строка 839: Строка 871:
 
Пример: Результат следующих запросов разный
 
Пример: Результат следующих запросов разный
  
A:has(:not(IMG)) - все теги A, которые содержат не IMG
+
:A:has(:not(IMG)) - все теги A, которые содержат не IMG
 
+
:A:not(:has(IMG)) - все теги A, которые не содержат IMG
A:not(:has(IMG)) - все теги A, которые не содержат IMG
+
  
 
   
 
   
Строка 861: Строка 892:
 
Примечание: Операции могут объединять и более двух запросов например A + IMG + #num - вернет все теги A, за которыми идут теги IMG, за которым в свою очередь идут теги с id="num".
 
Примечание: Операции могут объединять и более двух запросов например A + IMG + #num - вернет все теги A, за которыми идут теги IMG, за которым в свою очередь идут теги с id="num".
  
 
 
 
  
 
Скобки:
 
Скобки:
Строка 895: Строка 923:
 
|}
 
|}
  
+
===Рекомендации===
'''Рекомендации''':
+
  
 
Время выполнения запроса в основном зависит от размера исходного текста и количетсва тегов в нем, и значительно меньше от длины самого запроса.
 
Время выполнения запроса в основном зависит от размера исходного текста и количетсва тегов в нем, и значительно меньше от длины самого запроса.
  
Если данные нужно получать в цикле, постарайтесь, сначала сократить размер исходного текста.
+
Если данные нужно получать в цикле, постарайтесь сначала сократить размер исходного текста.
  
Например, если хотим вернуть прогноз погоды в Казани с содержимого сайта <nowiki>"http://weather.yandex.ru/?city=27595"</nowiki> (Около 50кб) за последние  
+
Например, если хотим вернуть прогноз погоды в Казани с содержимого сайта <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мс
10 дней, можно воспользоваться запросами
+
  
 +
Но можно поступить следующим образом: Организуется цепочка из нескольких компонентов «Парсер», первый из которых забирает все нужные теги <nowiki><B></nowiki> запросом <nowiki>tr.data.day>td>b</nowiki> (~50мс) в переменную сценария. Далее в цикле сценария следующими компонентами забираются соответствующие значения
  
tr.data.day>td>b:eq(1)
+
<nowiki>:eq(1)</nowiki>
 
+
<nowiki>:eq(2)</nowiki>
tr.data.day>td>b:eq(2)
+
<nowiki>:eq(3)</nowiki>
 
+
tr.data.day>td>b:eq(3)
+
 
+
 
и т. д.
 
и т. д.
  
+
Каждый запрос выполняется примерно ~0.2мс. Итого время выполнения ~50мс. Получается тот же результат, но в 10 раз быстрее.
Каждый запрос выполняется примерно ~50мс.
+
  
Итого: ~500мс
 
  
+
<div id="json"></div>
Но можно поступить следующим образом: Организуется цепочка из нескольких компонентов «Парсер», первый из которых забирает все нужные теги <nowiki><B></nowiki> запросом <nowiki>tr.data.day>td>b</nowiki> (~50мс) в переменную сценария. Далее в цикле сценария следующими компонентами забираются соответствующие значения
+
===Синтаксис парсера JSON===
  
<nowiki>:eq(1)</nowiki>
+
Запросом к парсеру JSON является строка, определяющая ключи свойств объектов или номера элементов в массиве, разделенных символом слэша. При выполнении запроса слева направо парсер на каждом этапе углубляется внутрь структуры JSON.
  
<nowiki>:eq(2)</nowiki>
+
Таким образом, строка
  
<nowiki>:eq(3)</nowiki>
+
<pre>
 +
"values"/3/"x"
 +
</pre>
  
и т. д.
+
примененная к структуре JSON с выбранным значением свойства ''Функция'' -> ''Содержимое''
  
 +
<pre>
 +
{
 +
  "name": "xxx",
 +
  "values": [
 +
    "37",
 +
    true,
 +
    99,
 +
    {"x":2, "y":3},
 +
    "value"
 +
  ],
 +
  "result": true 
 +
}
 +
</pre>
  
Каждый запрос выполняется примерно ~0.2мс. Итого время выполнения ~50мс. Получается тот же результат, но в 10 раз быстрее.
+
вернет значение 2.
  
  
 +
<div id="File"></div>
  
[[Файл:cl_cc_scr_i13.png|left]]
+
==[[Файл:cl_cc_scr_i07.png|left]]Файловая операция==
===Заказ на встречный звонок===
+
  
 +
Производит указанную дисковую операцию с файлом, каталогом или путем.
 
   
 
   
Сохраняет информацию о заказанном звонке в БД, и отображает в клиентском приложении Oktell у пользователей-адресатов, определяющихся указанным внутренним номером. Подробнее о сервисе заказов встречных звонков в разделе [[Кабинет#Заказы на встречные звонки|Офис. Кабинет. Встречные звонки]].
 
  
 
 
'''Свойства''':
 
'''Свойства''':
  
 
{|cellpadding="10" cellspacing="0" border="1"
 
{|cellpadding="10" cellspacing="0" border="1"
|Ключ получателя
+
|Путь
|Аргумент, определяющий пользователя-получателя сообщения. В качестве ключа может выступать идентификатор пользователя, его имя или логин. Также ключом может являться внутренний стандартный номер, явно определяющий пользователя через правило звонка («Администрирование. Внутренние номера. Стандартные»). В случае, если номер групповой, то получателями будут являться одновременно все его участники (пользователи указанные в номере явно, или посредством внутренних линий).
+
|Аргумент, определяющий место размещения объекта, подвергаемого файловой операции - абсолютный путь к каталогу или файлу.
В качестве значения аргумента может быть указан список ключей, разделенных запятыми.
+
|-  
+
|Заказ на номер
+
|Аргумент, определяющий номер, на который заказан встречный звонок. Может быть введен пользователем с клавиатуры, определен как «CallerId», или подставлен из базы по коду.
+
|-
+
|Заказ на время
+
|Ориентировочное время, на которое заказан встречный звонок (сохранится в базе и будет отображено в описании заказа). Не заполнять, если время не указывается.
+
|-
+
|Комментарий
+
|Комментарий к компоненту (сохранится в базе и будет отображен в описании заказа).
+
 
|-
 
|-
|Переход
+
|Тип объекта
|Компонент, на который передается управление.
+
|Каталог / Файл / Путь
 +
Определяет перечень операций, возможных для проведения с объектом, указанным с помощью пути.
 
|-  
 
|-  
|Имя
+
|Операция
|Название компонента для отображения в визуальной среде и выбора в списке.
+
|В зависимости от выбранного типа объекта предоставляет перечень возможных операций.
|}
+
  
+
Каталог:
 +
* Создать
 +
* Удалить
 +
* Переместить
 +
* Переименовать
 +
* Скопировать
 +
* Проверить существование
 +
* Количество подкаталогов
 +
* Вернуть путь к подкаталогу
 +
* Количество файлов
 +
* Вернуть путь к файлу
  
[[Файл:cl_cc_scr_i14.png|left]]
+
Файл:
===Статус объекта===
+
* Создать
 +
* Удалить
 +
* Переместить
 +
* Переименовать
 +
* Скопировать
 +
* Проверить существование
 +
* Определить размер
 +
* Определить MD5 содержимого
 +
* Считать данные
 +
* Дописать данные в конец
  
+
Путь:
Позволяет получить доступ к состояниям различных объектов (на чтение и запись). Например до начала переключения определить статус объекта (пользователя, задачи, номера), чтобы без попытки переключения и, соответственно, без включения сигнала ожидания, озвучить соответствующий текст меню.
+
* Вернуть родительский каталог
 +
* Вернуть имя
 +
* Вернуть имя без расширения
 +
* Вернуть расширение
 +
* Проверить полноту
 +
* Склеить пути
 +
|-
 +
|Новый путь
 +
Новое имя
  
+
Путь копии
'''Свойства''':
+
|Путь или имя, которое будет присвоено вновь созданному файлу (или каталогу).
 +
В случае, если при переименовании указывается имя без пути, за основу будет взят путь к исходному объекту.
 +
|-
 +
|Данные
 +
|Аргумент, представляющий собой строку. Строка в соответствии с выбранной кодировкой будет переведена в бинарный формат и размещена в содержимом файла при проведении операций создания и записи в файл.
 +
|-
 +
|Кодировка
 +
|Определяет кодировку, посредством которой происходит преобразовании строки в бинарные данные и обратно при проведении операций записи в файл и чтения из файла.
 +
* Unicode
 +
* UTF-8
 +
* UTF-7
 +
* Текущая кодовая страница Windows
 +
* Windows-1251
 +
* Указанная кодовая страница Windows
 +
|-
 +
|Данные в переменную
 +
|Строковая переменная, куда будет сохранено содержимое файла при проведении операции чтения. Данные из файла считываются в бинарном виде и преобразуются в строку согласно выбранной кодировке.
  
{|cellpadding="10" cellspacing="0" border="1"
+
<span style="color:red;">Внимание! Если целью считывания данных из файла является их дальнейшая передача вовне без изменений (например используя веб-запрос или сохранение файла, осуществляющие преобразование строки в бинарные данные), необходимо в обоих компонентах использовать кодировки ANSI, так как только она гарантирует однозначное двустороннее преобразование без потери данных.
|Действие
+
|Доступные действия:
+
* Определить. Формирует работу компонента для записи в назначенную переменную выбранного состояния указанного объекта.
+
* Установить. Изменяет выбранное состояние указанного объекта на результат вычисления назначенного аргумента.
+
* Создать. Создает объект выбранного типа, возвращая его идентификатор.
+
* Удалить. Удаляет объект выбранного типа.  
+
 
|-  
 
|-  
|Тип объекта
+
|Маска
|Один из вариантов: Задача, Пользователь, Номер, Линия, Сервер. Тип объекта, с которым производится работа: статус которого подлежит определению, изменению, или который необходимо создать/удалить.
+
|Аргумент, представляющий собой маску для файлов/каталогов в формате операционной системы, например *.inf или data_??.txt. Используется при определении содержимого каталога.
В зависимости от выбранного действия перечень типов может меняться.
+
|-
+
|Задача (ключ), Пользователь (ключ), Номер, Линия (ключ)
+
|Доступны только для действий определить/установить.
+
В зависимости от выбранного типа поле принимает тот или иной вид:
+
* Задача. Одна из списка задач системы (или проекта, если сценарий принадлежит проекту). Возможно задание через строковый аргумент «Ключ задачи». Может содержать идентификатор в виде Guid значения «xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx», код задачи или название задачи. Будет использован только в случае, если задача не указана явно в списке имеющихся в системе задач.
+
* Пользователь. Один из списка пользователей системы. Возможно задание через строковый аргумент «Ключ пользователя». Может содержать идентификатор в виде GUID значения, имя или логин.
+
* Номер. Аргумент, определяющий внутренний номер (стандартный).
+
* Линия. Аргумент, определяющий номер, код или Guid-идентификатор линии.  
+
* Конференция. Аргумент, определяющий номер комнаты, Guid-идентификатор или код идентификатора конференции.
+
|-
+
|Функция / действие
+
|Доступно только для действий определить/установить.
+
  
В зависимости от выбранного действия и типа объекта поле содержит список доступных состояний.
+
<span style="color:red;">Внимание! Если целью определения содержимого является обнаружение конкретного подкаталога/файла, либо обработка всего содержимого, соответствующего маске, то при взятии пути к конкретному файлу используется индекс. В этом случае необходимо также указывать ту же самую маску.
 
+
Определение состояния.
+
 
+
 
+
Доступные функции для задач:  
+
* Количество абонентов в очереди.
+
* Наибольшее время ожидания среди абонентов очереди (при сохранении в переменную типа дата/время подставляется значение переменной начиная с 01.01.0000; в переменную строка - значение ЧЧ:мм:cc, ЧЧ при превышении 24 продолжает увеличиваться; в числовую переменную попадает действительное значение количества минут).
+
* Расчетное время ожидания в очереди (при сохранении в переменную типа дата/время подставляется значение переменной начиная с 01.01.0000; в переменную строка - значение ЧЧ:мм:cc, ЧЧ при превышении 24 продолжает увеличиваться; в числовую переменную попадает действительное значение количества секунд). Осуществляет расчет времени ожидания при гипотетическом размещении текущего звонка в очереди указанной задачи. В случае, если установлен приоритет звонку, он будет учтен. При выполнении в диалоговом и служебном сценариях, где отсутствует понятие приоритета звонка, происходит оценка времени ожидания при размещении в конец очереди.
+
* Количество активных операторов задачи.
+
* Активность задачи.
+
* Проверка доступности входа. -1 - функция не выполнена, 0 - вход разрешен, 1 - текущее время не подходит по расписанию, 2 - текущее время не подходит по установленному периоду активности, 3 - превышение максимального числа одновременно активных внешних линий, 4 - задача не найдена, 5 - несоответствие состояния (задача неактивна, отсутствуют операторы и т.д.), 6 - ошибка при попытке входа.
+
* Количество использованных линий.
+
* Количество линий в разговоре.
+
* Количество линий в дозвоне.
+
* Количество линий в ожидании оператора.
+
 
+
 
+
Доступные функции для пользователей:
+
* Идентификатор пользователя.
+
* Имя пользователя.
+
* Логин пользователя.
+
* Идентификатор связанной линии.
+
* Статус (0 - не авторизован, 1 - готов, 2 - перерыв, 3 - отключен (нет на месте), 5 - занят, 6 - зарезервирован, 7 - без телефона).
+
* Свободное состояние (1-да, 0-нет).
+
* Количество абонентов в очереди.
+
* Наибольшее время ожидания среди абонентов очереди.
+
 
+
 
+
Доступные функции для номеров:
+
* Количество абонентов в очереди.
+
* Наибольшее время ожидания среди абонентов очереди.
+
* Наличие свободных абонентов.
+
* Тип внутреннего номера. (-1 - номер не найден. 1 - стандартный номер, 11...16 - hunt-номер, 101...105 - служебный номер, 201 - быстрый номер, 301 - запуск IVR, 401 - экстренный номер).
+
 
+
 
+
Доступные функции для линий:
+
 
+
* Идентификатор линии.
+
* Номер линии.
+
* Код линии.
+
* Идентификатор цепочки коммутаций.
+
* Идентификатор связанного пользователя.
+
* Состояние. ( 1 - Не подключена, 2 - Выключена, 4 - Готова, 8 - Трубка поднята, 16 - Входящий звонок, 32 - Скоммутирована, 64 - Ожидание, 128 - Флеш, 256 - не используется, 512 - Занято, 1024 - Неопределено, 2048 - Зарезервирована, 4096 - Зарезервирована задачей)
+
* Время активности.
+
* Название абонента. Установленное ранее в сценарии название.
+
* Описание абонента. Установленное ранее в сценарии описание.
+
* Текущая позиция в очереди
+
* Расчетное оставшееся время ожидания в секундах
+
* Контент линии (XML)
+
* Контент цепочки (XML)
+
* Контент цепочки (JSON)
+
* Поле контента линии
+
* Поле контента цепочки (заголовок)
+
* Поле контента цепочки (коммутация)
+
 
+
 
+
Доступные функции для конференций:
+
* Существование.
+
* Время активности.
+
* Идентификатор.
+
* Код идентификатора.
+
* Номер комнаты.
+
* Количество всех участников.
+
* Количество активных участников.
+
* Тип доступа.
+
 
+
+
Установка состояния.
+
 
+
 
+
Доступные функции для задач:
+
* Активность (1 - активна, 0 - неактивна).
+
* Очистить оперативную статистику.
+
* Синхронизировать таблицу абонентов с БД.
+
 
+
 
+
Доступные функции для линий:
+
* Мягкий сброс. Производит разрыв с переключением в [[Параметры_АТС#Сценарий IVR вместо отбоя внешней линии|сценарий вместо отбоя]].
+
* Разрыв (выполняется безусловно). Производит разрыв и отсоединение линии.
+
* Выход из задачи (1 - применить, 0 - отменить). Фактически используется менеджером задач при обслуживании вызова с участием оператора. Установленный режим будет способствовать  следующее переключение абонента на любой другой объект, отличный от оператора с выходом из задачи. Без использования компонента аналогичное действие можно достигнуть, выставив в настройках задачи режим «Выход из задачи при переключении на IVR». Подробно о режиме в разделе [[Голосовые задачи#Дополнительно|Call-центр.Голосовые задачи.Дополнительно]].
+
* Название абонента. Отображается в [[Статистика АТС#Журнал звонков|журналах статистики]], а также при звонках на пользователей системы во всплывающем при входящем звонке окне и в разделе [[Телефон|программного телефона]].
+
* Описание абонента. Отображается при звонках на пользователей системы во всплывающем при входящем звонке окне и в разделе [[Телефон|программного телефона]].
+
* Поле контента линии
+
* Поле контента цепочки (заголовок)
+
* Поле контента цепочки (коммутация)
+
* Разрешить FLASH. 1 или 0 - позволяет на время текущей сессии разрешить использование FLASH через DTMF.
+
 
+
 
+
Доступные функции для сервера:
+
* Обновить список задач. Синхронизирует менеджер задач с базой данных, обновляя список задач и их свойства.
+
* Перезагрузить сервер состояний (выполняется безусловно). Производится действие, аналогичное нажатию кнопки «Применить» в любом из модулей администрирования. Сервер состояний инициализируется на основе информации в БД. 
+
* Перезагрузить аппаратный модуль (выполняется безусловно). Производится переинициализация аппаратной подсистемы с завершением всех коммутаций и конференций. В случае, если аппаратный модуль настроен на работу в отдельном процессе, производится выгрузка процесса с последующим автоматическим его запуском.
+
* Перезагрузить службу сервера (выполняется безусловно). Действие производится сразу же без ожидания корректного завершения коммутаций и служебных сценариев.
+
* Перезагрузить серверную станцию (выполняется безусловно). Отдает команду операционной системе на полное завершение всех процессов с последующей перезагрузкой.
+
* Сборка мусора .NET.
+
 
|-  
 
|-  
|Значение в переменную
+
|Индекс
|Доступно только для действия «Определить».
+
|Аргумент, определяющий индекс файла/подкаталога при взятии его пути. Индекс - порядковый номер объекта в общем списке файлов/подкаталогов исследуемого каталога, отфильтрованного в соответствии с указанной маской. Индекс начинается с 0.
Переменная, в которую заносится результат вычисления функции.
+
|-
|-  
+
|Добавочный путь
|Значение
+
|Аргумент, определяющий часть пути, подвергаемый склейке с основным. Например, если основной указанный путь 'C:\1', а добавочный '2.txt', то при проведении склейки результатом будет 'C:\1\2.txt'.
|Доступно только для действия «Установить».
+
|-
Аргумент, значение которого вычисляется для установки состояния.
+
|Результат в переменную
|-  
+
|Переменная, куда будет сохранен результат выполнения операции. Может быть строковой, либо числовой для проведения отдельных операций.
|Идентификатор в переменную
+
|Доступно только для действия «Создать».
+
Переменная, в которую заносится идентификатор вновь созданного объекта.
+
 
|-
 
|-
 
|Переход
 
|Переход
|Компонент, на который передается управление.
+
|Компонент, на который передается управление после успешного завершения ввода.
 
|-
 
|-
|Имя
+
|Переход, не найдено
|Название компонента для отображения в визуальной среде и выбора в списке.
+
|Компонент, на который передается управление в случае, если указанный каталог или файл не найден.
|}
+
 
+
 
+
 
+
[[Файл:cl_cc_scr_i15.png|left]]
+
 
+
===Определить группу клиента===
+
 
+
+
Осуществляет проверку на принадлежность контакта (определившегося номера телефона, почтового адреса и любого другого переданного аргумента) указанной группе клиентов. Позволяет разделить обработку в сценарии звонков VIP клиентов, клиентов из черного списка, личных контактов и пр.
+
 
+
+
'''Свойства''':
+
 
+
{|cellpadding="10" cellspacing="0" border="1"
+
|Контакт
+
|Аргумент, содержащий произвольную контактную информацию.
+
 
|-
 
|-
|Группа
+
|Переход, ошибка
|Аргумент, содержащий имя группы клиентов.
+
|Компонент, на который передается управление в случае, если в назначенных параметрах допущена ошибка или при проведении указанной операции возникла ошибка.
 
|-  
 
|-  
|Переход, принадлежит
 
|Компонент, на который передается управление, если соответствующий контакту клиент найден, указанная группа существует, и клиент принадлежит группе.
 
|-
 
|Переход, не принадлежит
 
|Компонент, на который передается управление, если не найден соответствующий контакту клиент, не существует группа, или клиент не принадлежит группе.
 
|-
 
 
|Имя
 
|Имя
 
|Название компонента для отображения в визуальной среде и выбора в списке.
 
|Название компонента для отображения в визуальной среде и выбора в списке.
 
|}
 
|}
  
 
 
[[Файл:cl_cc_scr_i16.png|left]]
 
===Счетчик===
 
  
 +
<div id="ExecProcess"></div>
  
Увеличивает значение выбранного счетчика на 1. Подробнее о счетчиках, их создании и анализе в модуле общего меню [[Отчеты#Счетчики||Call-центр. Отчеты. Счетчики]].
+
==[[Файл:cl_cc_scr_i17.png|left]]Запуск внешнего процесса с параметрами==
  
 
'''Свойства''':
 
 
{|cellpadding="10" cellspacing="0" border="1"
 
|Счетчик
 
|Список счетчиков, существующих в системе и доступных для увеличения.
 
|-
 
|Переход
 
|Компонент, на который передается управление в случае успешной коммутации.
 
|-
 
|Имя
 
|Название компонента для отображения в визуальной среде и выбора в списке.
 
|}
 
 
 
 
[[Файл:cl_cc_scr_i17.png|left]]
 
===Запуск процесса===
 
 
 
 
Запускает на сервере внешний процесс или открывает приложение с указанным документом. В сценариях IVR используется чаще для запуска системных программ, а также учетных, сервисных, обслуживающих программ организации-клиента Oktell.  
 
Запускает на сервере внешний процесс или открывает приложение с указанным документом. В сценариях IVR используется чаще для запуска системных программ, а также учетных, сервисных, обслуживающих программ организации-клиента Oktell.  
  
Строка 1183: Строка 1093:
  
 
{|cellpadding="10" cellspacing="0" border="1"
 
{|cellpadding="10" cellspacing="0" border="1"
|Имя файла
+
|Файла
|Аргумент, определяющий имя файла, который необходимо запустить .
+
|Строковый аргумент, определяющий имя или путь к файлу, который необходимо запустить.
 +
|-
 +
|Путь
 +
|Относительный/абсолютный. Определяет, какой путь будет подставляться впереди к имени файла. Относительный – от папки запуска приложения Oktell.
 
|-
 
|-
|Относительный путь
+
|Параметры командной строки
|Да/нет. Определяет, какой путь будет подставляться впереди к имени файла. Относительный – от папки запуска серверного приложения Oktell.
+
|Строковый аргумент, определяющий параметры запуска для командной строки, если необходимо.
 
|-
 
|-
|Параметры
+
|Режим запуска
|Строковый аргумент, определяющий параметры запуска, если необходимо.
+
|Определяет способ исполнения указанного файла
 +
* С помощью оболочки. В качестве файла можно указывать документы - их открытие будет осуществляться автоматически в зарегистрированных приложениях, однако становится недоступным использование консоли для ввода/вывода.
 +
* Скрыть окно. Приложение не отображает свое консольное окно.
 +
* Не скрывать окно. Приложение ведет себя стандартным образом.
 
|-
 
|-
|Дожидаться завершения
+
|Ожидание завершения
 
|Да/нет. Определяет, приостанавливать ли сценарий в ожидании завершения работы запущенного процесса.
 
|Да/нет. Определяет, приостанавливать ли сценарий в ожидании завершения работы запущенного процесса.
 +
|-
 +
|Консольный ввод/вывод
 +
|Доступно только при ожидании завершения процесса, запущенном в обычном режиме (не с помощью оболочки).
 +
* Нет.
 +
* Только ввод. Позволяет передать произвольные текстовые данные в консоль приложения сразу после старта.
 +
* Только вывод. Позволяет считать произвольные текстовые данные из консоли приложения сразу после завершения.
 +
* Ввод и вывод. Позволяет передать и считать данные.
 +
|-
 +
|Консольный ввод
 +
|Доступно только при ожидании завершения процесса, запущенном в консольном режиме (не с помощью оболочки).
 +
Строковый аргумент, значение которого передается в консоль сразу после запуска приложения.
 +
 +
<span style="color:red;">ВНИМАНИЕ! При передаче сложных данных для простоты реализации чтения из консоли рекомендуется компоновать данные общим размером в самом начале.
 
|-
 
|-
 
|Консольный вывод в переменную
 
|Консольный вывод в переменную
|Доступно только для режима ожидания завершения процесса.
+
|Доступно только при ожидании завершения процесса, запущенном в консольном режиме (не с помощью оболочки).
Строковая переменная, в которую полностью сохраняется консольный вывод исполненного приложения в случае, если оно успело завершить работу.
+
Строковая переменная, в которую полностью сохраняется консольный вывод исполненного приложения.
 
|-
 
|-
 
|Таймаут, мс
 
|Таймаут, мс
Строка 1222: Строка 1151:
  
  
+
<div id="WebCRM"></div>
[[Файл:cl_cc_scr_i18.png|left]]
+
===Запуск сценария===
+
  
 +
==[[Файл:cl_cc_scr_i29.png|left]]Действие/карточка в plugin или WebCRM==
  
В случае организации автоматических сервисов размеры сценария могут быть достаточно велики, и компонент «Запуск сценария» предоставляет возможность разбить крупный сценарий на несколько логических блоков. Таким образом, один сценарий передает управление в начало другого сценария. При этом можно задать некоторое значение на запуск, которое примет компонент «Старт» вложенного сценария и сохранит в свою локальную переменную. Помимо этого, все переменные одного типа, которые названы одинаково в запускающем и запускаемом сценариях, перенесут свои значения из одного в другой без изменений. Такой способ запуска называется вложенным.
+
В любом месте сценария может быть выполнен компонент, осуществляющий исполнение динамического (известного только на этапе создания сценария) метода во внешней среде. Суть метода в предоставлении сервисных функций внешней средой серверу Oktell. Такой средой может быть указанный плагин или активная подключенная Web-CRM система.  
  
 +
Интеграция с сервером коммуникаций подразумевает то, что Oktell выступает в качестве сервера, исполняя запросы WebCRM системы, и информируя ее о происходящих коммуникационных событиях. Этот компонент позволяет наладить встречное взаимодействие, когда Oktell выступает в качестве клиента WebCRM системы.
  
<span style="color:red;">ВНИМАНИЕ! Обработка сценария начинается с компонента Старт и ведется последовательно согласно значениям свойств перехода, если трубка положена основном это входящие звонки с внешних линий). В случае, когда трубка уже поднята, после компонента [[#Старт|Старт]] производится безусловный переход к компоненту "Поднять трубку", если такой имеется в сценарии. При этом обработчик пропускает все компоненты, которые находятся между ними. Запуск вложенных сценариев следует этим же правилам.
+
В указанном клиентском плагине в качестве динамических методов выступают заявленные формы (опрос производится после регистрации плагина при настройке сценария). В качестве исполнимых поддерживаются диалоговые формы (тип 0) и компоненты типа 3 (подробно в руководстве по интеграции). При настройке компонента задаются значения всем заявленным входным параметрам, привязанным к выбранной форме, возможно ожидание возвращаемых значений и сохранение их в переменные сценария. Серверные плагины не требуют тонко настраиваемого функционала, и вызов их методов осуществляется компонентом [[#Плагин-компонент|Серверный плагин]].
 +
Web-CRM система предоставляет информацию о поддерживаемых динамических методах в рамках обмена информацией между сервером Oktell и web-socket сервером Web-CRM системы согласно интеграционному протоколу (подробно в статье [[Oktell Web-Socket Protocol|«Интеграции. Web-Socket протокол»]]). Каждый динамический метод может принимать на вход определяемые в сценарии значения для всех заявленных входных параметров. Компонент может дожидаться исполнения и возврата выходных значений. Вызов метода производится согласно описанию Web-CRM системы и детальным настройкам компонента.
  
 +
В качестве возможных примеров можно привести такие общесерверные запросы, как «Определение компании и ответственного сотрудника по определившемуся номеру телефона», «Создать инцидент в связи с обращением» и т.д., и такие пользовательско-ориентированные методы как «Отобразить карточку указанной компании», «Закрыть карточку», «Переключить отображение в режим работы с партнерами» и т.д.
  
  
Также с помощью компонента можно запускать в параллельный процесс любой служебный сценарий, не работающий с зависимыми от основного сценария ресурсами (линией, оператором). При запуске асинхронного служебного сценария начальные значения его переменных, совпадающих по типам и именам с переменными основного сценария, будут установлены в соответствии с их значениями.
 
 
 
 
'''Свойства''':
 
'''Свойства''':
  
 
{|cellpadding="10" cellspacing="0" border="1"
 
{|cellpadding="10" cellspacing="0" border="1"
|Тип запуска
+
|Модуль, действие
|Определяет тип и формат запуска дочернего сценария.  
+
|Окно выбора plugin-модуля или web-crm системы, ответственной за вызов настраиваемого метода, а также одного из списка динамических методов, заявленных в выбранном модуле.
* Вложенный. Запуск вложенного сценария прекращает выполнение (возможно на время, до возврата управления) текущего сценария и активизирует обработку выбранного сценария того же типа.
+
|-
* Асинхронный служебный. Запускает в параллельном процессе выполнение выбранного служебного сценария и продолжает выполнение текущего.
+
|Свойства
* Фоновое медиа-взаимодействие. Доступно только для IVR сценариев. Инициирует дублирующий параллельный сценарий IVR. Подробнее в разделе [[Фоновый IVR-сценарий медиа-взаимодействия|Сценарии IVR. Фоновый сценарий]].
+
|Настройка входных и выходных параметров выбранного метода. Выходные параметры сохраняются только в случае, если настраивается вызов метода с ожиданием завершения исполнения.
 +
|-
 +
|Дожидаться завершения
 +
|Да/нет. При ожидании завершения устанавливается также допустимый таймаут. Сценарий приостанавливается до получения ответа, после чего сохраняет выходные значения в переменные в соответствии с настроенными свойствами.
 +
Если ожидание не выставлено, то сценарий отправляет команду на исполнение метода, а сам переходит к следующим компонентам.
 +
|-
 +
|Момент отображения
 +
|Доступно только при отключенном режиме ожидания завершения. В случае, если стоит ожидание завершения, то автоматически применяется значение «Сразу».
 +
* Сразу. Команда на выполнение отправляется сразу и одновременно на адреса всех указанных пользователей в ходе работы компонента.
 +
Следующие пункты доступны только для настройки в сценариях IVR.
 +
* При входящем вызове. Команда на выполнение запоминается, но не отправляется и сохраняется до следующего компонента «Переключение», после чего автоматически удаляется. Особенностью является то, что исполнение производится у всех пользователей, но у каждого только в момент, когда телефон начинает фактически звенеть, с нахождением обслуживаемого канала в первой позиции в очереди. Если пользователь не снимает трубку, а вызов уходит другому или теряется, отправляется команда на прекращение исполнения метода (согласно интеграционному интерфейсу web-socket протокола).
 +
* При коммутации. Аналогично «При входящем вызове», но команда отправляется только в случае успешного переключения тому, с кем произошло соединение обслуживаемого канала. Отмена невозможна.
 +
* При завершении коммутации. Аналогично «При входящем вызове», но команда отправляется только в момент разрыва коммутации с тем, с кем произошло успешное соединение обслуживаемого канала. Отмена невозможна.
 +
|-
 +
|Ключ получателя
 +
|Доступно только при выборе пункта «Сразу» в качестве момента отображения. В других случаях получатели определяются автоматически.
 +
Аргумент, определяющий пользователя-получателя. В качестве ключа может выступать идентификатор пользователя, его имя или логин. Также ключом может являться внутренний стандартный номер, явно определяющий пользователя через правило звонка ([[Внутренние номера#Стандартные номера|«Администрирование. Внутренние номера. Стандартные»]]). В случае, если номер групповой, то получателями будут являться все его участники (пользователи указанные в номере явно, или посредством внутренних линий); при этом запросов будет отправлено ровно столько, сколько обнаружено получателей.
 +
В качестве значения аргумента может быть указан список ключей, разделенных запятыми.
 +
 
 +
<span style="color:red;">Внимание! При вызове динамического метода WebCRM в его декларации может быть заявлен режим вызова без указания пользователя (это касается прямых методов, исполняемых непосредственно на сервере без привязки к конкретным пользователям и их станциям). В этом случае ключ получателя применен не будет. О необходимости указания пользователей должно сообщаться в описаниях динамических методов.</span>
 +
|-
 +
|Таймаут, сек
 +
|Доступно только в режиме ожидания завершения.
 +
Устанавливает максимальное время в секундах, которое сценарий простаивает, ожидая ответ внешнего модуля с отчетом о выполнении и выходными значениями. В случае, если ответ не получен долее установленного времени, исполнение передается следующему компоненту по ветке «Таймаут». Значение 0 устанавливает бесконечное ожидание.
 +
|-
 +
|Переход
 +
|Компонент, на который передается управление после успешного выполнения компонента.
 
|-  
 
|-  
|Сценарий
+
|Переход, таймаут
|Текстовое поле с возможностью выбора из списка имеющихся сценариев. Определяет имя сценария, который необходимо запустить.
+
|Компонент, на который передается управление, если за установленный период времени не получен ответ от внешнего модуля/CRM-системы.
 +
Поле доступно только при выборе значения «Да» в свойстве «Дожидаться завершения».
 
|-
 
|-
|Параметр запуска
+
|Переход, ошибка
|Аргумент, передающий свое значение на старт запускаемого сценария.
+
|Компонент, на который передается управление, если модуль не обнаружен, не доступен или другие условия не позволяют провести операцию.
 
|-
 
|-
|Возврат управления
+
|Имя
|Да/нет. По умолчанию «Нет». Определяет способ вызова вложенного сценария.  
+
|Название компонента для отображения в визуальной среде и выбора в списке.
 +
|}
  
При установке значения «Нет» выполнение текущего сценария прекращается и запускается вложенный сценарий (с сохранением значений всех переменных). Такой способ наиболее часто применим на практике.
 
При установке значения «Да» вложенный сценарий вызывается как функция и после его завершения происходит возврат в точку вызова. Все переменные исходного сценария доступны во вложенном и наоборот, таким образом после возврата они будут иметь соответствующие измененные значения. На процедуру возврата также влияет флаг «Возврат управления» компонента [[#Стоп|Стоп]], - используется во вложенном сценарии после успешного переключения с необходимостью безусловно прервать обработчик сценариев.
 
  
 +
<div id="Plugin"></div>
 +
==[[Файл:cl_cc_scr_i28.png|left]]Плагин==
 +
 +
Компонент позволяет выполнять произвольный сторонний код, подключенный к серверу в виде стандартного плагин-компонента (см. руководство по интеграции, раздел «Встраиваемые plugin-модули»).
  
<span style="color:red;">ВНИМАНИЕ! Обработчик сценариев поддерживает условно неограниченную вложенность и имеет стек с ограничением в 100 сценариев во избежание зацикливания.
 
  
<span style="color:red;">ВНИМАНИЕ! Вызов внутри одной цепочки исполнения может происходить одновременно как с возвратом, так и без возврата.
+
Подробно об архитектуре исполнения описано в руководстве по интеграции.
|-  
+
 
 +
При выполнении компонента осуществляется подгрузка внешней сборки и передача управления компоненту. В случае, если сборка плагина уже загружена, повторной ее загрузки не происходит. Исключением может являться только обновление сборок в модуле [[Внешние модули#Plugin-модули|Администрирование. Внешние модули]].
 +
Передача управления производится путем вызова метода PrepareShow управляющего объекта, описанного в plugin-программе. В качестве параметра для метода передается XML-структура, содержащая комплексную информацию о требуемом компоненте (его guid-идентификатор, описанный при вызове метода GetForms() управляющего объекта), параметрах сценария, сессии, задаче, а также других имеющихся свойств (различаются в зависимости от типа исполняемого сценария). Помимо базовых параметров передаются значения требуемых для работы компонента параметров (информация о них возвращается при вызове GetInputParams управляющего объекта plugin-программы). В качестве возвращаемого значения ожидается XML-структура с описанием всех выходных значений согласно общему списку выходных параметров (определяются при вызове GetOutputParams управляющего объекта).
 +
В качестве возможных для использования в сценариях компонентов принимаются все формы подпрограммы со свойством 'module=2'.
 +
 
 +
Назначение входных значений, а также переменных для приема выходных значений производится на отдельной вкладке.
 +
Дальнейшая реализация сценария приостанавливается вплоть до получения назад управления из внешнего компонента. Может быть назначен интервал таймаута, по истечению которого будет произведен принудительный возврат управления и переход к следующему компоненту сценария. Обрыв исполнения производится также при остановке сценария.
 +
 
 +
 +
'''Свойства''':
 +
 
 +
{|cellpadding="10" cellspacing="0" border="1"
 +
|Модуль/Форма
 +
|Выбор конкретного плагина и одного из его компонентов для работы в сценарии.
 +
|-
 +
|Свойства
 +
|Доступ к вкладке редактора параметров формы для настройки передаваемых и сохраняемых параметров.
 +
|-
 +
|Таймаут, сек
 +
|Аргумент, устанавливающий время в секундах, по истечению которого будет произведен принудительный отъем управления из вызванной подпрограммы. В случае, если интервал нулевой (по умолчанию), таймаут считается не установленным.
 +
|-
 
|Переход
 
|Переход
|Компонент, на который передается управление после возврата в случае запуска вложенного сценария, а также непосредственно после запуска служебного сценария.
+
|Компонент, на который передается управление после возврата в случае успешного проведения операции.
Поле используется (и обязательно для заполнения) только в случае асинхронного запуска служебного сценария, а также в случае вложенного, если флаг «Возврат управления» установлен.
+
|-
|-  
+
|Переход, компонент не найден
 +
|Компонент, на который передается управление, если plugin-программа не указана, не найдена или не может быть загружена.
 +
|-
 +
|Переход, таймаут
 +
|Компонент, на который передается управление в случае, если за установленный интервал времени не вернулось управление от внешнего компонента.
 +
|-
 +
|Переход, ошибка
 +
|Компонент, на который передается управление в случае возникновения ошибок.
 +
|-
 
|Имя
 
|Имя
 
|Название компонента для отображения в визуальной среде и выбора в списке.
 
|Название компонента для отображения в визуальной среде и выбора в списке.
 
|}
 
|}
  
 
  
[[Файл:cl_cc_scr_i45.png|left]]
 
===Регистрация===
 
  
 +
<div id="SipRegister"></div>
 +
==[[Файл:cl_cc_scr_i45.png|left]]Регистрация динамического потока==
  
 
Компонент используется совместно со шлюзом с динамической регистрацией потоков (подробнее в разделе [[Свойства компонентов#IP шлюз|Карта сети. Компоненты. Шлюз]]). Служит для проведения динамической регистрации под указанным аккаунтом перед осуществлением звонка по каналу потока такого шлюза. Параметры аккаунта - логин и пароль - могут быть взяты из БД, вычислены, указаны явно в сценарии. Для проведения регистрации достаточно указать в свойствах компонента шлюз, и свободный поток автоматически будет зарегистрирован и зарезервирован под совершение вызова именно в этом экземпляре сценария. Потоки и линии шлюзов с динамической регистрацией недоступны для выбора ни в задачах, ни в настройках прав пользователей, ни в списках линий при наборе номера компонентами сценариев. Осуществить дозвон через них можно только путем явного указания кода зарегистрированного потока в соответствующий аргумент компонентов «Дозвон» служебного сценария и «Переключение на внешние» сценария IVR.  
 
Компонент используется совместно со шлюзом с динамической регистрацией потоков (подробнее в разделе [[Свойства компонентов#IP шлюз|Карта сети. Компоненты. Шлюз]]). Служит для проведения динамической регистрации под указанным аккаунтом перед осуществлением звонка по каналу потока такого шлюза. Параметры аккаунта - логин и пароль - могут быть взяты из БД, вычислены, указаны явно в сценарии. Для проведения регистрации достаточно указать в свойствах компонента шлюз, и свободный поток автоматически будет зарегистрирован и зарезервирован под совершение вызова именно в этом экземпляре сценария. Потоки и линии шлюзов с динамической регистрацией недоступны для выбора ни в задачах, ни в настройках прав пользователей, ни в списках линий при наборе номера компонентами сценариев. Осуществить дозвон через них можно только путем явного указания кода зарегистрированного потока в соответствующий аргумент компонентов «Дозвон» служебного сценария и «Переключение на внешние» сценария IVR.  
Строка 1281: Строка 1265:
  
 
<span style="color:red;">ВНИМАНИЕ! В случае успешной коммутации поток будет разрегистрирован автоматически по завершению разговора и переводу одной из линий потока в состояние готовности. Однако, если коммутации не произведено, то разрегистрация производится автоматически по истечению времени неактивности (3 минуты), либо путем использования этого же компонента с действием «Отмена регистрации».
 
<span style="color:red;">ВНИМАНИЕ! В случае успешной коммутации поток будет разрегистрирован автоматически по завершению разговора и переводу одной из линий потока в состояние готовности. Однако, если коммутации не произведено, то разрегистрация производится автоматически по истечению времени неактивности (3 минуты), либо путем использования этого же компонента с действием «Отмена регистрации».
 
 
 
   
 
   
  
Строка 1333: Строка 1315:
 
|}
 
|}
  
 
  
[[Файл:cl_cc_scr_i28.png|left]]
+
<div id="Counter"></div>
===Плагин-компонент===
+
==[[Файл:cl_cc_scr_i16.png|left]]Увеличение значения счетчика==
 +
 
 +
Увеличивает значение выбранного счетчика на 1. Подробнее о счетчиках, их создании и анализе в модуле общего меню [[Отчеты#Счетчики|Call-центр. Отчеты. Счетчики]].
  
 
   
 
   
Компонент позволяет выполнять произвольный сторонний код, подключенный к серверу в виде стандартного плагин-компонента (см. руководство по интеграции, раздел «Встраиваемые plugin-модули»).
+
'''Свойства''':
  
 +
{|cellpadding="10" cellspacing="0" border="1"
 +
|Счетчик
 +
|Список счетчиков, существующих в системе и доступных для увеличения.
 +
|-
 +
|Переход
 +
|Компонент, на который передается управление в случае успешной коммутации.
 +
|-
 +
|Имя
 +
|Название компонента для отображения в визуальной среде и выбора в списке.
 +
|}
  
Подробно об архитектуре исполнения описано в руководстве по интеграции.
 
  
При выполнении компонента осуществляется подгрузка внешней сборки и передача управления компоненту. В случае, если сборка плагина уже загружена, повторной ее загрузки не происходит. Исключением может являться только обновление сборок в модуле [[Внешние модули#Plugin-модули|Администрирование. Внешние модули]].
+
<div id="CallTask"></div>
Передача управления производится путем вызова метода PrepareShow управляющего объекта, описанного в plugin-программе. В качестве параметра для метода передается XML-структура, содержащая комплексную информацию о требуемом компоненте (его guid-идентификатор, описанный при вызове метода GetForms() управляющего объекта), параметрах сценария, сессии, задаче, а также других имеющихся свойств (различаются в зависимости от типа исполняемого сценария). Помимо базовых параметров передаются значения требуемых для работы компонента параметров (информация о них возвращается при вызове GetInputParams управляющего объекта plugin-программы). В качестве возвращаемого значения ожидается XML-структура с описанием всех выходных значений согласно общему списку выходных параметров (определяются при вызове GetOutputParams управляющего объекта).
+
==[[Файл:cl_cc_scr_i10.png|left]]Создание исходящей задачи==
В качестве возможных для использования в сценариях компонентов принимаются все формы подпрограммы со свойством 'module=2'.
+
  
Назначение входных значений, а также переменных для приема выходных значений производится на отдельной вкладке.  
+
Компонент инициирует задачу однократного выполнения в указанное время на указанный номер. Задача запускает указанный в соответствующем свойстве компонента сценарий IVR. Для формируемой задачи в компоненте указываются инициирующие значения, а также параметр задачи, который будет доступен через функцию «Параметр задачи» в сценарии IVR.
Дальнейшая реализация сценария приостанавливается вплоть до получения назад управления из внешнего компонента. Может быть назначен интервал таймаута, по истечению которого будет произведен принудительный возврат управления и переход к следующему компоненту сценария. Обрыв исполнения производится также при остановке сценария.
+
 
 +
<span style="color:red;">ВНИМАНИЕ! Для инициации звонка существует альтернатива данному компоненту. Служебный сценарий имеет компонент «Дозвон», рекомендуемый к использованию в большинстве случаев, так как имеет расширенные настройки и не производит дополнительной нагрузки на менеджер задач.  
  
 
   
 
   
Строка 1355: Строка 1347:
  
 
{|cellpadding="10" cellspacing="0" border="1"
 
{|cellpadding="10" cellspacing="0" border="1"
|Модуль/Форма
+
|Номер
|Выбор конкретного плагина и одного из его компонентов для работы в сценарии.
+
|Аргумент, определяющий номер, по которому производить дозвон.
 
|-
 
|-
|Свойства
+
|Выполнить сразу
|Доступ к вкладке редактора параметров формы для настройки передаваемых и сохраняемых параметров.
+
|Да/Нет. Сразу выполнять задачу или дожидаться указанного времени.
 +
|-
 +
|Дата/время
 +
|Дата и время, когда производить выполнение задачи.
 +
Поле доступно только при выборе значения «Нет» в свойстве «Выполнить сразу».
 
|-
 
|-
|Таймаут, сек
+
|Сценарий
|Аргумент, устанавливающий время в секундах, по истечению которого будет произведен принудительный отъем управления из вызванной подпрограммы. В случае, если интервал нулевой (по умолчанию), таймаут считается не установленным.
+
|Текстовое поле с возможностью выбора из списка имеющихся сценариев. Определяет имя сценария, который необходимо запустить после дозвона.
 +
|-
 +
|Параметр запуска
 +
|Числовой аргумент, передающий свое значение в задачу, а через нее на старт запускаемого сценария и в функцию «Параметр задачи». Может быть использован для идентификации через сопоставление по таблице в БД, или для передачи множества параметров. Доступен в сценарии автоматической задачи через встроенную функцию «Параметр задачи».
 
|-
 
|-
|Переход
+
|Количество сигналов «Занято»
|Компонент, на который передается управление после возврата в случае успешного проведения операции.
+
|Сколько дозвонов с ответом «Занято» считать успешным выполнением задачи.
 
|-
 
|-
|Переход, компонент не найден
+
|Количество сигналов «Не отвечает»
|Компонент, на который передается управление, если plugin-программа не указана, не найдена или не может быть загружена.
+
|Сколько дозвонов с ответом «Не отвечает» считать успешным выполнением задачи.
 
|-
 
|-
|Переход, таймаут
+
|Время фиксации в секундах
|Компонент, на который передается управление в случае, если за установленный интервал времени не вернулось управление от внешнего компонента.
+
|Сколько секунд необходимо выполнять сценарий после дозвона, чтобы считать успешным выполнение задачи.
 
|-
 
|-
|Переход, ошибка
+
|Время ожидания ответа
|Компонент, на который передается управление в случае возникновения ошибок.
+
|Сколько секунд ожидать ответа от линии для получения сигнала «Не отвечает».
 +
|-
 +
|Пауза после сигнала «Занято»
 +
|Сколько секунд делать перерыв в выполнении задачи, если от линии получен сигнал «Занято».
 +
|-
 +
|Пауза после сигнала «Не отвечает»
 +
|Сколько секунд делать перерыв в выполнении задачи, если от линии получен сигнал «Не отвечает».
 +
|-
 +
|Переход
 +
|Компонент, на который передается управление.
 
|-
 
|-
 +
|Имя
 +
|Название компонента для отображения в визуальной среде и выбора в списке.
 +
|}
 +
 +
 +
<div id="VoiceMail"></div>
 +
==[[Файл:cl_cc_scr_i08.png|left]]Голосовая почта==
 +
 +
Осуществляет перемещение данных об указанном звуковом файле (чаще после записи в этом же сценарии) в голосовой ящик указанных пользователей. Подробнее о сервисе голосовой почты в разделе [[Кабинет#Голосовая почта|Офис. Кабинет. Голосовая почта]].
 +
 +
Заполняя свойство «Голосовой ящик» в окне адресата, можно явно указать существующих в системе пользователей, а также существующие отделы и внутренние номера. Также можно использовать свойство «Ключ получателя», значением которого является вычисляемый аргумент. Это удобно, когда заранее неизвестно получателя, и данные о нем формируются в момент исполнения сценария. При этом сообщение попадет ко всем пользователям, которые указаны явно, составляют указанные внутренние номера и группы. У пользователей, которым поступает голосовая почта, в их модулях появляются данные об абоненте, и возможность прослушать файл.
 +
 +
Сообщение отправится всем выбранным по одному из двух параметров – указателей адресатов. При этом один компонент формирует группу из всех перечисленных участников - прослушивание одним из них будет отражено на всей записи. При необходимости разослать сообщение независимо нескольким пользователям следует использовать серию из компонентов «Голосовая почта»
 +
 +
 +
'''Свойства''':
 +
 +
{|cellpadding="10" cellspacing="0" border="1"
 +
|Имя файла
 +
|Аргумент, значение которого определяет абсолютный путь к файлу, который необходимо поместить в голосовой ящик. При использовании после объекта [[Компоненты сценариев IVR#Запись звукового файла|Запись файла]], в котором имя файла генерируется, необходимо в соответствующем свойстве выбирать возврат полного пути в переменную, сохраняющую имя записанного файла.
 +
|-
 +
|Ключ получателя
 +
|Аргумент, определяющий пользователя-получателя почты. В качестве ключа может выступать идентификатор пользователя, его имя или логин. Также ключом может являться внутренний стандартный номер, явно определяющий пользователя через правило звонка («Администрирование. Внутренние номера. Стандартные»). В случае, если номер групповой, то получателями будут являться одновременно все его участники (пользователи указанные в номере явно, или посредством внутренних линий).
 +
В качестве значения аргумента может быть указан список ключей, разделенных запятыми.
 +
|-
 +
|Голосовой ящик
 +
|Окно ввода адресата: списка получателей, среди которых могут быть пользователи системы, отделы и конкретные внутренние номера. Каждый пользователь, участвующей явно через отдел, или через номер получит соответствующее голосовое сообщение.
 +
При одновременном указании голосового ящика и ключа производится объединение всех установленных получателей на момент исполнения компонента.
 +
|-
 +
|Режим подстановки CallerId
 +
|Определяет режим подстановки CallerId.
 +
 +
* Автоматически. Для сценариев IVR и диалоговых существует возможность автоматически определить номер абонента, чей звонок обслуживается в текущем сценарии. Если голосовую почту оставляет внутренний пользователь системы, будет подставлено его имя.
 +
* Из аргумента. В некоторых случаях (если номер не определен, номер требует преобразований, служебный сценарий, работающий без привязки к каналу и т.д.) номер следует указывать вручную. При выборе данного значения появляется возможность задать callerid из аргумента.
 +
|-
 +
|CallerId
 +
|Доступно только в режиме подстановки CallerId из аргумента.
 +
Аргумент, значение которого подставляется при размещении голосового сообщения в поле таблицы CallerId и устанавливает номер абонента, оставившего сообщение.
 +
|-
 +
|Переход
 +
|Компонент, на который передается управление после успешного завершения ввода.
 +
|-
 
|Имя
 
|Имя
 
|Название компонента для отображения в визуальной среде и выбора в списке.
 
|Название компонента для отображения в визуальной среде и выбора в списке.
Строка 1381: Строка 1431:
  
  
 +
<div id="Callback"></div>
  
[[Файл:cl_cc_scr_i29.png|left]]      
+
==[[Файл:cl_cc_scr_i13.png|left]]Заказ на встречный звонок==
===Действие/карточка в plugin или WebCRM===
+
 +
Сохраняет информацию о заказанном звонке в БД, и отображает в клиентском приложении Oktell у пользователей-адресатов, определяющихся указанным внутренним номером. Подробнее о сервисе заказов встречных звонков в разделе [[Кабинет#Заказы на встречные звонки|Офис. Кабинет. Встречные звонки]].
  
 +
 +
'''Свойства''':
  
В любом месте сценария может быть выполнен компонент, осуществляющий исполнение динамического (известного только на этапе создания сценария) метода во внешней среде. Суть метода в предоставлении сервисных функций внешней средой серверу Oktell. Такой средой может быть указанный плагин или активная подключенная Web-CRM система.  
+
{|cellpadding="10" cellspacing="0" border="1"
 +
|Ключ получателя
 +
|Аргумент, определяющий пользователя-получателя сообщения. В качестве ключа может выступать идентификатор пользователя, его имя или логин. Также ключом может являться внутренний стандартный номер, явно определяющий пользователя через правило звонка («Администрирование. Внутренние номера. Стандартные»). В случае, если номер групповой, то получателями будут являться одновременно все его участники (пользователи указанные в номере явно, или посредством внутренних линий).  
 +
В качестве значения аргумента может быть указан список ключей, разделенных запятыми.
 +
|-
 +
|Заказ на номер
 +
|Аргумент, определяющий номер, на который заказан встречный звонок. Может быть введен пользователем с клавиатуры, определен как «CallerId», или подставлен из базы по коду.
 +
|-  
 +
|Заказ на время
 +
|Ориентировочное время, на которое заказан встречный звонок (сохранится в базе и будет отображено в описании заказа). Не заполнять, если время не указывается.
 +
|-
 +
|Комментарий
 +
|Комментарий к компоненту (сохранится в базе и будет отображен в описании заказа).
 +
|-
 +
|Переход
 +
|Компонент, на который передается управление.
 +
|-
 +
|Имя
 +
|Название компонента для отображения в визуальной среде и выбора в списке.
 +
|}
  
Интеграция с сервером коммуникаций подразумевает то, что Oktell выступает в качестве сервера, исполняя запросы WebCRM системы, и информируя ее о происходящих коммуникационных событиях. Этот компонент позволяет наладить встречное взаимодействие, когда Oktell выступает в качестве клиента WebCRM системы.
 
  
В указанном клиентском плагине в качестве динамических методов выступают заявленные формы (опрос производится после регистрации плагина при настройке сценария). В качестве исполнимых поддерживаются диалоговые формы (тип 0) и компоненты типа 3 (подробно в руководстве по интеграции). При настройке компонента задаются значения всем заявленным входным параметрам, привязанным к выбранной форме, возможно ожидание возвращаемых значений и сохранение их в переменные сценария. Серверные плагины не требуют тонко настраиваемого функционала, и вызов их методов осуществляется компонентом [[#Плагин-компонент|Серверный плагин]].
+
<div id="Notify"></div>
Web-CRM система предоставляет информацию о поддерживаемых динамических методах в рамках обмена информацией между сервером Oktell и web-socket сервером Web-CRM системы согласно интеграционному протоколу (подробно в статье [[Описание интеграционного протокола Oktell web-soсket protocol|«Интеграции. Web-Socket протокол»]]). Каждый динамический метод может принимать на вход определяемые в сценарии значения для всех заявленных входных параметров. Компонент может дожидаться исполнения и возврата выходных значений. Вызов метода производится согласно описанию Web-CRM системы и детальным настройкам компонента.
+
==[[Файл:cl_cc_scr_i09.png|left]]Уведомление==
  
В качестве возможных примеров можно привести такие общесерверные запросы, как «Определение компании и ответственного сотрудника по определившемуся номеру телефона», «Создать инцидент в связи с обращением» и т.д., и такие пользовательско-ориентированные методы как «Отобразить карточку указанной компании», «Закрыть карточку», «Переключить отображение в режим работы с партнерами» и т.д.
+
Уведомление – всплывающее окно, позволяющее донести до пользователя информацию о происходящем в сценарии действии. В качестве адресатов могут быть выбран список из пользователей, отделов и конкретных номеров. Также в качестве адреса может выступать номер, определяемый значением аргумента.
  
  
 +
Уведомление получат все пользователи, которые указаны персонально, либо состоят в выбранных группах или внутренних номерах. В режиме [[Кабинет#Системные уведомления|Офис. Кабинет. Уведомления]] пользователь всегда сможет просмотреть пришедшие к нему уведомления и осуществить поиск.
 +
 +
 
'''Свойства''':
 
'''Свойства''':
  
 
{|cellpadding="10" cellspacing="0" border="1"
 
{|cellpadding="10" cellspacing="0" border="1"
|Модуль, действие
+
|Отладочный режим
|Окно выбора plugin-модуля или web-crm системы, ответственной за вызов настраиваемого метода, а также одного из списка динамических методов, заявленных в выбранном модуле.
+
|Да / нет. По умолчанию «нет». При сохранении сценария может быть установлен общий режим отладки (на странице свойств сценария). Отладочные уведомления будут отображаться только в режиме отладки сценария. Остальные будут отображаться в любом случае.
 +
|-  
 +
|Ключ получателя
 +
|Аргумент, определяющий пользователя-получателя сообщения. В качестве ключа может выступать идентификатор пользователя, его имя или логин. Также ключом может являться внутренний стандартный номер, явно определяющий пользователя через правило звонка («Администрирование. Внутренние номера. Стандартные»). В случае, если номер групповой, то получателями будут являться одновременно все его участники (пользователи указанные в номере явно, или посредством внутренних линий).
 +
В качестве значения аргумента может быть указан список ключей, разделенных запятыми.
 
|-
 
|-
|Свойства
+
|Адресат
|Настройка входных и выходных параметров выбранного метода. Выходные параметры сохраняются только в случае, если настраивается вызов метода с ожиданием завершения исполнения.
+
|Окно ввода адресата: списка получателей, среди которых могут быть пользователи системы, отделы и конкретные внутренние номера. Каждый пользователь, участвующий явно, через отдел, или через номер получит соответствующее уведомление.
 +
При одновременном указании адресата и ключа производится объединение всех установленных получателей на момент исполнения компонента.
 +
|-
 +
|Сохранять в БД
 +
|Да/нет. По умолчанию «да». При установке свойства сообщение будет сохранено в БД и будет доступно в модуле [[Кабинет#Системные уведомления|Офис. Кабинет. Уведомления]]. Если пользователь отсутствует, то сообщение будет доставлено сразу после его авторизации в системе.
 +
|-
 +
|Текст
 +
|Аргумент, определяющий текст уведомления.
 +
Поддерживается минимальный набор тегов HTML для форматирования. Чтобы отобразить текст в виде HTML-документа необходимо его заключить в теги <html>..</html>
 +
Ниже за пределами таблицы свойств приведен перечень поддерживаемых HTML-тегов.
 
|-
 
|-
|Дожидаться завершения
+
|Способ оповещения
|Да/нет. При ожидании завершения устанавливается также допустимый таймаут. Сценарий приостанавливается до получения ответа, после чего сохраняет выходные значения в переменные в соответствии с настроенными свойствами.
+
|Позволяет выбрать режим, в котором данные поступают указанным адресатам.
Если ожидание не выставлено, то сценарий отправляет команду на исполнение метода, а сам переходит к следующим компонентам.
+
* Всплывающее уведомление. Появляющиеся в правой части экрана цветные окна с информацией.  
 +
* Системный чат. Сообщение от имени системы во встроенном [[Сотрудники|системном чате]].
 +
* Лог-журнал. Запись в серверном лог-журнале Common.
 
|-
 
|-
|Момент отображения
+
|Цвет фона
|Доступно только при отключенном режиме ожидания завершения. В случае, если стоит ожидание завершения, то автоматически применяется значение «Сразу».
+
|Определяет цвет фона всплывающего окошка.
* Сразу. Команда на выполнение отправляется сразу и одновременно на адреса всех указанных пользователей в ходе работы компонента.
+
Следующие пункты доступны только для настройки в сценариях IVR.
+
* При входящем вызове. Команда на выполнение запоминается, но не отправляется и сохраняется до следующего компонента «Переключение», после чего автоматически удаляется. Особенностью является то, что исполнение производится у всех пользователей, но у каждого только в момент, когда телефон начинает фактически звенеть, с нахождением обслуживаемого канала в первой позиции в очереди. Если пользователь не снимает трубку, а вызов уходит другому или теряется, отправляется команда на прекращение исполнения метода (согласно интеграционному интерфейсу web-socket протокола).
+
* При коммутации. Аналогично «При входящем вызове», но команда отправляется только в случае успешного переключения тому, с кем произошло соединение обслуживаемого канала. Отмена невозможна.
+
* При завершении коммутации. Аналогично «При входящем вызове», но команда отправляется только в момент разрыва коммутации с тем, с кем произошло успешное соединение обслуживаемого канала. Отмена невозможна.
+
 
|-
 
|-
|Ключ получателя
+
|Скрывать автоматически
|Доступно только при выборе пункта «Сразу» в качестве момента отображения. В других случаях получатели определяются автоматически.
+
|Да/нет. По умолчанию «да». При отключении уведомление будет скрыто только после щелчка пользователя на нем. Поступающие уведомления помещаются в очередь, из которой отображаются в видимых областях экрана в порядке поступления. Очередь сообщений может быть очищена из системного меню в трее.  
Аргумент, определяющий пользователя-получателя. В качестве ключа может выступать идентификатор пользователя, его имя или логин. Также ключом может являться внутренний стандартный номер, явно определяющий пользователя через правило звонка ([[Внутренние номера#Стандартные номера|«Администрирование. Внутренние номера. Стандартные»]]). В случае, если номер групповой, то получателями будут являться все его участники (пользователи указанные в номере явно, или посредством внутренних линий); при этом запросов будет отправлено ровно столько, сколько обнаружено получателей.
+
При отправке уведомления отключенному пользователю с сохранением в БД, отображаемые после авторизации последние несколько пропущенных уведомлений будут в любом случае автоматически скрываться.
В качестве значения аргумента может быть указан список ключей, разделенных запятыми.
+
 
+
<span style="color:red;">Внимание! При вызове динамического метода WebCRM в его декларации может быть заявлен режим вызова без указания пользователя (это касается прямых методов, исполняемых непосредственно на сервере без привязки к конкретным пользователям и их станциям). В этом случае ключ получателя применен не будет. О необходимости указания пользователей должно сообщаться в описаниях динамических методов.</span>
+
 
|-
 
|-
|Таймаут, сек
+
|Асинхронный режим
|Доступно только в режиме ожидания завершения.
+
|Да/нет. Способ рассылки уведомлений. При выборе асинхронного режима компонент не ожидает доставки уведомлений пользователям и сразу передает управление следующему объекту сценария. Имеет смысл при рассылке уведомления множеству пользователей из сценариев IVR обработки входящих вызовов во избежание незапланированных пауз. Однако при завершении сценария асинхронные рассылки всех уведомлений, не успевшие завершиться, будут прерваны.
Устанавливает максимальное время в секундах, которое сценарий простаивает, ожидая ответ внешнего модуля с отчетом о выполнении и выходными значениями. В случае, если ответ не получен долее установленного времени, исполнение передается следующему компоненту по ветке «Таймаут». Значение 0 устанавливает бесконечное ожидание.
+
|-
+
|Переход
+
|Компонент, на который передается управление после успешного выполнения компонента.
+
 
|-  
 
|-  
|Переход, таймаут
+
|Разрешать несколько экземпляров на экране
|Компонент, на который передается управление, если за установленный период времени не получен ответ от внешнего модуля/CRM-системы.
+
|Да/нет. В некоторых случаях требуется выводить уведомления об одном и том же. Чтобы однотипные отображения не заполняли экран, можно устанавливать режим фильтрации по коду сообщения. Код указывается в открывающемся при этом свойстве.
Поле доступно только при выборе значения «Да» в свойстве «Дожидаться завершения».
+
 
|-
 
|-
|Переход, ошибка
+
|Код сообщения
|Компонент, на который передается управление, если модуль не обнаружен, не доступен или другие условия не позволяют провести операцию.
+
|Доступно только при запрете нескольких экземпляров на экране. Аргумент, определяющий код, на основании которого будет производиться фильтрация и пропуск отображения.
 +
|-
 +
|Переход
 +
|Компонент, на который передается управление после успешного завершения ввода.
 
|-
 
|-
 
|Имя
 
|Имя
Строка 1443: Строка 1523:
  
  
+
'''Поддерживаемые HTML-теги''':
[[Файл:cl_cc_scr_i19.png|left]]
+
===Отправка SMS-сообщения===
+
  
 +
* <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-сообщения по указанному номеру с назначенным текстом. Может быть настроен на ожидание доставки. Компонент работает с SMS-сервисом, указанным в [//wiki.oktell.ru/SMS-сервис общих настройках].  
  
 
   
 
   
Строка 1487: Строка 1634:
 
|}
 
|}
  
 
 
[[Файл:cl_cc_scr_i20.png|left]]
 
===Получение статуса отправленного SMS-сообщения===
 
 
 
Производит запрос к SMS-сервису на получение отчета о доставке конкретного SMS-сообщения по коду отправки (Push Id).
 
 
 
'''Свойства''':
 
 
{|cellpadding="10" cellspacing="0" border="1"
 
|Push Id
 
|Код отправленного сообщения.
 
|-
 
|Переход, доставлено
 
|Компонент, на который передается управление, если sms уже доставлено.
 
|-
 
|Переход, не доставлено
 
|Компонент, на который передается управление, если sms еще не доставлено.
 
|-
 
|Переход, ошибка
 
|Компонент, на который передается управление, если сервис недоступен или вернул ошибку.
 
|-
 
|Имя
 
|Название компонента для отображения в визуальной среде и выбора в списке.
 
|}
 
 
 
  
[[Файл:cl_cc_scr_i21.png|left]]
+
<div id="SmsReceive"></div>
===Получение входящего SMS-сообщения===
+
  
 +
==[[Файл:cl_cc_scr_i21.png|left]]Получение первого SMS==
 
   
 
   
Производит запрос к SMS-сервису на получение первого в очереди входящих сообщений. В случае успеха наполняет переменные сценария соответствующими сообщению значениями.
+
Производит запрос к SMS-сервису на получение первого в очереди входящих сообщений. В случае успеха наполняет переменные сценария соответствующими сообщению значениями. Компонент работает с SMS-сервисом, указанным в [//wiki.oktell.ru/SMS-сервис общих настройках]. 
  
 
   
 
   
Строка 1548: Строка 1666:
 
|Название компонента для отображения в визуальной среде и выбора в списке.
 
|Название компонента для отображения в визуальной среде и выбора в списке.
 
|}  
 
|}  
 +
 +
 +
<div id="SmsCheck"></div>
 +
 +
==[[Файл:cl_cc_scr_i20.png|left]]Получение статуса отправленного SMS==
 +
 +
Производит запрос к SMS-сервису на получение отчета о доставке конкретного SMS-сообщения по коду отправки (Push Id). Компонент работает с SMS-сервисом, указанным в [//wiki.oktell.ru/SMS-сервис общих настройках].
  
 
   
 
   
 +
'''Свойства''':
  
[[Файл:cl_cc_scr_i22.png|left]]
+
{|cellpadding="10" cellspacing="0" border="1"
===Баланс счета на SMS-сервере===
+
|Push Id
 +
|Код отправленного сообщения.
 +
|-
 +
|Переход, доставлено
 +
|Компонент, на который передается управление, если sms уже доставлено.
 +
|-  
 +
|Переход, не доставлено
 +
|Компонент, на который передается управление, если sms еще не доставлено.
 +
|-
 +
|Переход, неудача
 +
|Компонент, на который передается управление, если сервис недоступен или вернул ошибку.
 +
|-
 +
|Имя
 +
|Название компонента для отображения в визуальной среде и выбора в списке.
 +
|}
 +
 
 +
 
 +
<div id="SmsBalance"></div>
  
 +
==[[Файл:cl_cc_scr_i22.png|left]]Запрос баланса SMS==
  
Запускает на сервере внешний процесс или открывает приложение с указанным документом. В сценариях IVR используется чаще для запуска системных программ, а также учетных, сервисных, обслуживающих программ организации-клиента Oktell.
+
Производит запрос к SMS-сервису для получения баланса на счете. Компонент работает с SMS-сервисом, указанным в [//wiki.oktell.ru/SMS-сервис общих настройках].
  
 
   
 
   
Строка 1576: Строка 1720:
 
   
 
   
 
<div id="EmailSend"></div>
 
<div id="EmailSend"></div>
[[Файл:cl_cc_scr_i23.png|left]]
 
===Отправка сообщения электронной почты===
 
  
 +
==[[Файл:cl_cc_scr_i23.png|left]]Отправка одного Email==
 +
 +
Осуществляет отправку email-сообщения на указанный ящик электронной почты. Для зашифрованного соединения (свойство "SSL-авторизация") компонент использует протокол StartTLS. Это означает, что соединение  изначально идет по незащищенному порту 25, а затем шифруется, в отличии от протокола SSL, где соединение изначально происходит по защищенным портам. Именно поэтому, в большинстве случаев в свойстве "Порт почтового сервера" следует указывать незащищенный порт 25, вместо 465.
  
Осуществляет отправку email-сообщения на указанный ящик электронной почты.
 
  
 
 
'''Свойства''':
 
'''Свойства''':
  
 
{|cellpadding="10" cellspacing="0" border="1"
 
{|cellpadding="10" cellspacing="0" border="1"
|Способ отправки
+
|Почтовый сервер
|[[#Отправка сообщения электронной почты|Форма]], определяющая способ отправки email-сообщения.
+
|Свойство, определяющее источник настроек для SMTP сервера
 +
* Согласно общим настройкам - используется SMTP-сервер, указанный в [//wiki.oktell.ru/Настройки_E-mail общих настройках] комплекса
 +
* SMTP - используется отдельный SMTP-сервер, указанный в настройках данного компонента
 +
|-
 +
|Адрес почтового сервера
 +
|Адрес SMTP-сервера.
 +
|-
 +
|Порт почтового сервера
 +
|Порт SMTP-сервера. В большинстве случаев, порт 25 (смотрите выше).
 +
|-
 +
|Логин
 +
|Учетная запись на почтовом сервере
 +
|-
 +
|Пароль
 +
|Пароль учетной записи на почтовом сервере
 +
|-
 +
|SSL-авторизация
 +
|Устанавливается "Да", если SMTP сервер требует SSL-авторизацию.
 
|-
 
|-
 
|Кому
 
|Кому
|Аргумент, определяющий получателей email сообщения. Если письмо предназначается нескольким адресатам, то адреса должны быть перечислены через «;».
+
|Аргумент, определяющий получателей email сообщения. Если письмо предназначается нескольким адресатам, то адреса должны быть перечислены через «,». Для версий ниже 2.9 адреса должны быть перечислены через «;»
 
|-
 
|-
 
|От кого
 
|От кого
Строка 1599: Строка 1759:
 
|Аргумент, определяющий тему email сообщения.
 
|Аргумент, определяющий тему email сообщения.
 
|-
 
|-
|Формат тела письма
+
|Формат
 
|Текст или HTML. Определяет формат, в котором будет сформировано тело для отправки.
 
|Текст или HTML. Определяет формат, в котором будет сформировано тело для отправки.
 
|-  
 
|-  
Строка 1622: Строка 1782:
 
|-
 
|-
 
|Вложение 2
 
|Вложение 2
|По аналогии со свойством «Вложение 1».
+
|Появляется, только если выбрано "Вложение 1".
 
|-
 
|-
 
|Вложение 3
 
|Вложение 3
|По аналогии со свойством «Вложение 1».
+
|Появляется, только если выбрано "Вложение 2".
 
|-
 
|-
 
|Вложение 4
 
|Вложение 4
|По аналогии со свойством «Вложение 1».
+
|Появляется, только если выбрано "Вложение 3".
 
|-
 
|-
 
|Вложение 5
 
|Вложение 5
|По аналогии со свойством «Вложение 1».
+
|Появляется, только если выбрано "Вложение 4".
 
|-
 
|-
 
|Уведомлять об ошибках
 
|Уведомлять об ошибках
Строка 1646: Строка 1806:
 
|}
 
|}
  
 
'''Форма «Способ отправки»''':
 
[[Файл:cl_cc_scr_f9.png|center]]
 
 
  
 +
<div id="EmailReceive"></div>
  
 +
==[[Файл:cl_cc_scr_i24.png|left]]Получение первого Email==
 +
 +
Осуществляет прием email-сообщения с указанного ящика электронной почты.
  
Форма определяет способ отправки email сообщения. В зависимости от типа сценария email можно отправить через:
 
  
+
'''Свойства''':
* SMTP сервер
+
* Встроенный почтовый клиент (доступен только для сценариев диалога)
+
  
 
Если для отправки выбран выбран «SMTP сервер», письмо будет отправлено немедленно на указанный SMTP сервер.
 
 
'''Для настройки доступны свойства''':
 
 
{|cellpadding="10" cellspacing="0" border="1"
 
{|cellpadding="10" cellspacing="0" border="1"
|Тип SMTP сервера
+
|Почтовый сервер
|Свойство, определяющее источник настроек для SMTP сервера
+
|Свойство, определяющее источник настроек для сервера входящей почты.
 
+
*Согласно общим настройкам — используется сервер входящей почты, указанный в [//wiki.oktell.ru/Настройки_E-mail общих настройках] комплекса
* Операторский - используются настройки SMTP сервера по умолчанию в случае настроенного SMTP сервера на компьютере, где установлен клиент. Например - MS IIS SMTP Server.  
+
*POP3 — используется отдельный сервер, работающий по протоколу POP3
* Общий (из настроек комплекса) - используются [[Общие Настройки|общие настройки]] комплекса  
+
*IMAP4 — используется отдельный сервер, работающий по протоколу IMAP4
* Отдельный - настройки SMTP сервера определяются нижеследуюшими свойствами.
+
 
|-
 
|-
|Адрес
+
|Адрес почтового сервера
|Адрес SMTP сервера
+
|Адрес сервера входящей почты
 
|-
 
|-
|Порт
+
|Порт почтового сервера
|Порт SMTP сервера. Значение не должно содержать более 4 цифр ( максимум: 9999 )
+
|Порт сервера входящей почты (стандартный порт POP сервера - 110, IMAP сервера - 143).
|-
+
|Требуется авторизация
+
|Установлено, если SMTP сервер требует авторизацию
+
|-
+
|Требуется SSL авторизация
+
|Установлено, если SMTP сервер требует SSL авторизацию
+
 
|-
 
|-
 
|Логин
 
|Логин
|Учетная запись на почтовом сервере
+
|Учетная запись на сервере
 
|-
 
|-
 
|Пароль
 
|Пароль
|Пароль учетной записи на почтовом сервере
+
|Пароль учетной записи на сервере
|}
+
|-
 
+
|SSL-авторизация
 
+
|Устанавливается "Да", если почтовый сервер требует SSL-авторизацию.
Если для отправки выбран «Встроенный почтовый клиент», письмо будет открыто на компьютере оператора в почтовом редакторе по умолчанию. Открыть письмо может любой почтовый редактор, поддерживающий MAPI интерфейс.
+
 
+
+
 
+
[[Файл:cl_cc_scr_i24.png|left]]
+
===Прием входящего сообщения электронной почты===
+
 
+
+
Осуществляет прием email-сообщения с указанного ящика электронной почты.
+
 
+
+
'''Свойства''':
+
 
+
{|cellpadding="10" cellspacing="0" border="1"
+
|Способ получения
+
|[[#Прием входящего сообщения электронной почты|Форма]], определяющая способ получения email-сообщения.
+
 
|-
 
|-
 
|MessageId
 
|MessageId
Строка 1736: Строка 1866:
 
Поле доступно только при работе с IMAP-сервером (свойство «Способ получения»).
 
Поле доступно только при работе с IMAP-сервером (свойство «Способ получения»).
 
|-
 
|-
|IMAP запрос
+
|IMAP-запрос
 
|Аргумент, значение которого определяет IMAP запрос. Запрос определяет критерии выбора сообщения из каталога, заданного свойством IMAP каталог. По умолчанию используется запрос, возвращающий все письма (значение "ALL"). Более подробно о синтаксисе IMAP запросов можно узнать из документации <nowiki>RFC 2060</nowiki>.
 
|Аргумент, значение которого определяет IMAP запрос. Запрос определяет критерии выбора сообщения из каталога, заданного свойством IMAP каталог. По умолчанию используется запрос, возвращающий все письма (значение "ALL"). Более подробно о синтаксисе IMAP запросов можно узнать из документации <nowiki>RFC 2060</nowiki>.
 
Поле доступно только при работе с IMAP-сервером (свойство «Способ получения»).
 
Поле доступно только при работе с IMAP-сервером (свойство «Способ получения»).
Строка 1748: Строка 1878:
 
|Сохранять вложения
 
|Сохранять вложения
 
|Определяет режим сохранения вложений.
 
|Определяет режим сохранения вложений.
 
 
* Нет. Вложения сохранены не будут.  
 
* Нет. Вложения сохранены не будут.  
 
* В указанную папку. В этом случае все вложенные файлы будут сохранены в папку, путь к которой установлен свойством "Папка для вложений".  
 
* В указанную папку. В этом случае все вложенные файлы будут сохранены в папку, путь к которой установлен свойством "Папка для вложений".  
Строка 1781: Строка 1910:
  
  
 
'''Форма «Способ получения»''':
 
[[Файл:cl_cc_scr_f10.png|center]]
 
 
   
 
   
 +
<div id="ICQSend"></div>
  
 
+
==[[Файл:cl_cc_scr_i25.png|left]]Отправка сообщения IM (ICQ, Jabber) ==
Форма определяет способ получения email сообщения. Сообщение можно получить через:
+
* POP сервер (по протоколу POP3)
+
* IMAP сервер (по протоколу IMAP4)
+
 
+
+
'''Для настройки доступны свойства''':
+
{|cellpadding="10" cellspacing="0" border="1"
+
|Тип почтового сервера
+
|Свойство, определяющее источник настроек для сервера входящей почты
+
 
+
* Общий (из настроек комплекса) - используются [[Общие Настройки|общие настройки]] комплекса
+
* Отдельный - настройки SMTP сервера определяются нижеследуюшими свойствами.
+
|-
+
|Адрес
+
|Адрес сервера.
+
|-
+
|Порт
+
|Порт сервера. (стандартный порт POP сервера - 110, IMAP сервера - 143).
+
|-
+
|Требуется авторизация
+
|Установлено, если сервер требует авторизацию.
+
|-
+
|Требуется SSL авторизация
+
|Установлено, если сервер требует SSL авторизацию.
+
|-
+
|Логин
+
|Учетная запись на почтовом сервере.
+
|-
+
|Пароль
+
|Пароль учетной записи на почтовом сервере.
+
|}
+
 
+
+
 
+
+
[[Файл:cl_cc_scr_i25.png|left]]
+
===Отправка IM (ICQ/jabber) сообщения===
+
 
+
+
  
 
Осуществляет отправку IM-сообщения (ICQ или Jabber). Указываются сервер, аккаунт адресата, аккаунт отправителя, способ подключения к серверу (прокси/без прокси).
 
Осуществляет отправку IM-сообщения (ICQ или Jabber). Указываются сервер, аккаунт адресата, аккаунт отправителя, способ подключения к серверу (прокси/без прокси).
Строка 1837: Строка 1925:
 
|ICQ / Jabber.
 
|ICQ / Jabber.
 
|-  
 
|-  
|Настройки прокси
+
|Прокси-сервер
|[[#Отправка IM (ICQ/jabber) сообщения|Форма]], определяющая настройки подключения к прокси-серверу.
+
|Свойство, определяющее источник настроек для подключения к прокси-серверу.
 +
* Не использовать — подключение выполняется напрямую к серверу ICQ/Jabber, минуя прокси.
 +
* Согласно общим настройкам — используется режим подключения, заданный в общих настройках комплекса (отдельно разделы [[ICQ-сервис|ICQ-сервис]] и [[Jabber-сервис|Jabber-сервис]]).  
 +
* HTTPS — используется тип протокола прокси-сервера HTTPS
 +
* SOCKS5 — используется тип протокола прокси-сервера SOCKS5
 
|-  
 
|-  
|Настройки учетной записи
+
|Адрес прокси-сервера
|При отправке ICQ-сообщения - [[#Отправка IM (ICQ/jabber) сообщения|форма]], определяющая настройки учетной записи (UIN) ICQ, которая будет использоваться в качестве отправителя сообщения ICQ.
+
|Адрес сервера.
При отправке Jabber-сообщения - форма настройки учетной записи (JID) сервиса Jabber, которая будет использоваться в качестве отправителя Jabber-сообщения, а также настройки сервера, к которому необходимо осуществлять подключение для работы в сети Jabber. Обратите внимание на рекомендации, приведенные в разделе [[Jabber-сервис|Общие настройки. Jabber-сервис]].
+
|-
|-
+
|Порт прокси-сервера
|UIN / JID
+
|Порт сервера. (стандартный порт SOCKS5 сервера - 1080, HTTPS сервера - 8080).
|Аргумент, определяющий UIN-номера / JID-аккаунты получателей IM-сообщения. Если сообщение предназначается нескольким адресатам, то адреса должны быть перечислены через «,».
+
|-
 +
|Авторизация на прокси
 +
|Устанавливается "Да", если сервер требует авторизацию.
 +
|-
 +
|Учетная запись
 +
|Свойство, определяющее источник настроек учетной записи для ICQ или Jabber, которая будет использоваться в качестве отправителя сообщения.
 +
* Использовать общую (из настроек комплекса) — используется учетная запись, заданная в общих настройках комплекса (отдельно разделы [[ICQ-сервис|ICQ-сервис]] и [[Jabber-сервис|Jabber-сервис]]).  
 +
* Настроить — настройки учетной записи определяются нижеследующими свойствами.
 
|-  
 
|-  
 +
|Адрес jabber-сервера
 +
|Только при использовании протокола Jabber. Адрес сервера
 +
|-
 +
|Порт jabber-сервера
 +
|Только при использовании протокола Jabber. Порт сервера
 +
|-
 +
|UIN / Jabber ID
 +
|Номер учетной записи ICQ/Jabber
 +
|-
 +
|Пароль UIN / JID
 +
|Пароль учетной записи ICQ/Jabber
 +
|-
 
|Таймаут ожидания соединения
 
|Таймаут ожидания соединения
 
|Аргумент, определяющий временной интервал (в миллисекундах), в течение которого система ожидает соединения с IM-сервером (ICQ / Jabber). При отправке сообщения выполнение сценария будет приостановленно до тех пор пока:
 
|Аргумент, определяющий временной интервал (в миллисекундах), в течение которого система ожидает соединения с IM-сервером (ICQ / Jabber). При отправке сообщения выполнение сценария будет приостановленно до тех пор пока:
Строка 1852: Строка 1963:
 
* Истечет таймаут ожидания соединения
 
* Истечет таймаут ожидания соединения
 
|-  
 
|-  
|Таймаут отправки соединения
+
|Таймаут отправки сообщения
 
|Аргумент, определяющий временную задержку ( в миллисекундах ) перед отправкой сообщения.  
 
|Аргумент, определяющий временную задержку ( в миллисекундах ) перед отправкой сообщения.  
 +
|-
 +
|UIN / JID получателя
 +
|Аргумент, определяющий UIN-номера / JID-аккаунты получателей IM-сообщения. Если сообщение предназначается нескольким адресатам, то адреса должны быть перечислены через «,».
 
|-  
 
|-  
 
|Текст сообщения
 
|Текст сообщения
Строка 1873: Строка 1987:
  
  
'''Форма «Настройки подключения»''':
+
<div id="ICQReceive"></div>
[[Файл:cl_cc_scr_f11.png|center]]
+
+
 
+
 
+
Форма определяет настройки подключения к ICQ / Jabber серверу. Имеется возможность подключения напрямую и через прокси-сервер. Поддерживаются следующие типы прокси-серверов:
+
* SOCKS5 
+
* HTTPS 
+
 
+
 
+
'''Для настройки доступны свойства''':
+
 
+
{|cellpadding="10" cellspacing="0" border="1"
+
|Тип прокси сервера
+
|Свойство, определяющее источник настроек для подключения к серверу.
+
* Без прокси-сервера - подключение выполняется напрямую к серверу ICQ/Jabber, минуя прокси.
+
* Общий (из настроек комплекса) - используется режим подключения, заданный в общих настройках комплекса (отдельно разделы [[ICQ-сервис|ICQ-сервис]] и [[Jabber-сервис|Jabber-сервис]]).
+
* Отдельный - настройки прокси-сервера определяются в текущей форме и актуальны только для настраиваемого в данный момент компонента сценария.
+
|-
+
|Тип протокола
+
|Свойство, определяющее тип протокола прокси-сервера:
+
* SOCKS5 - протокол SOCKS5
+
* HTTPS - протокол HTTPS
+
|-
+
|Адрес
+
|Адрес сервера.
+
|-
+
|Порт
+
|Порт сервера. (стандартный порт SOCKS5 сервера - 1080, HTTPS сервера - 8080).
+
|-
+
|Требуется авторизация
+
|Установлено, если сервер требует авторизацию.
+
|-
+
|Логин
+
|Учетная запись на прокси сервере.
+
|-
+
|Пароль
+
|Пароль учетной записи на прокси сервере.
+
|}
+
 
+
 
+
 
+
'''Форма «Настройки учетной записи ICQ»''':
+
[[Файл:cl_cc_scr_f12.png|center]]
+
 
+
 
+
Форма определяет учетную запись ICQ, которая будет использоваться в качестве отправителя сообщения ICQ.
+
 
+
 
+
'''Для настройки доступны свойства''':
+
{|cellpadding="10" cellspacing="0" border="1"
+
|Тип учетной записи
+
|Свойство, определяющее источник настроек учетной записи
+
* Общий (из настроек комплекса) - используются общие настройки комплекса
+
* Отдельный - настройки учетной записи определяются нижеследуюшими свойствами.
+
|-
+
|UIN
+
|Номер ICQ
+
|-
+
|Пароль UIN
+
|Пароль ICQ
+
|}
+
 
+
+
Аналогичная форма открывается и при настройке JID-аккаунта (при работе с Jabber). В ней в дополнение к JID и паролю при осуществлении индивидуальной настройки предлагается указать адрес и порт сервера Jabber.
+
 
+
+
 
+
[[Файл:cl_cc_scr_i26.png|left]]
+
===Получение IM (ICQ/jabber) сообщения===
+
  
 +
==[[Файл:cl_cc_scr_i26.png|left]]Прием первого сообщения IM (ICQ, Jabber) ==
  
 
Осуществляет прием IM-сообщения (ICQ или Jabber). Указываются сервер, аккаунт получателя, способ подключения к серверу.  
 
Осуществляет прием IM-сообщения (ICQ или Jabber). Указываются сервер, аккаунт получателя, способ подключения к серверу.  
Строка 1993: Строка 2039:
 
|}  
 
|}  
  
 
Другие компоненты сценариев:
 
  
* [[Компоненты сценариев IVR]]
 
  
* [[Компоненты сценариев диалога]]
 
  
* [[Компоненты служебных сценариев]]
+
<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-центр или Администрирование / Сценарии / Общие компоненты сценариев


Смотрите также:



В данном блоке в справочном порядке будут приведены все компоненты, являющиеся общими для всех типов сценариев, а также краткое описание действий и перечни свойств.

Содержание


Cl cc scr i01.png
Старт

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


Свойства:

Параметр запуска Переменная, в которую необходимо сохранить значение, переданное из другого сценария, запустившего этот.
Переход Компонент, на который передается управление.
Имя Название компонента для отображения в визуальной среде и выбора в списке.



Cl cc scr i02.png
Стоп

Осуществляет завершение сценария без разрыва связи. Служит для остановки выполнения сценария после появления соответствующих условий. Классические примеры успешное переключение в сценарии IVR или корректное завершение работы в сценарии диалога.


Свойства:

Возврат управления Да/нет. По умолчанию «Да». Флаг определяет необходимо ли в текущей точке передать управление стеку (да) или прекратить выполнение всей последовательности сценариев (нет). Актуален только в сценариях, вызванных через компонент Запуск сценария с установленным флагом «Возврат управления» и в проектных сценариях IVR, вызванных через компонент Вход в проект.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i04.png
Присвоение значения переменной

Задает значение указанной переменной. В качестве присваемого значения выступает аргумент. Используется механизм преобразования типов, если типы значения аргумента и переменной не совпадают.


Свойства:

Режим Одиночный / Множественный

Множественный режим позволяет в одном компоненте производить сразу несколько операций присвоения.

Переменная Локальная переменная, в которую нужно записать указанное значение.

Доступно только в режиме одиночной операции.

Значение Аргумент (значение, переменная, функция, выражение), значение которого необходимо задать для указанной переменной.

Доступно только в режиме одиночной операции.

Операции Список операций (пар элементов {Переменная, Аргумент}), которые будут выполнены в порядке перечисления в окне задания значений нескольких операций присвоения.

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

Переход Компонент, на который передается управление.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i05.png
Сравнение

Сравнивает значения двух аргументов. Компонент осуществляет ветвление сценария. В случае соответствия выбранной логической операции и значений аргументов переход осуществляется по ветке «Правда», в противном случае – по ветке «Ложь».


Свойства:

Аргумент 1 Аргумент (значение, переменная, функция, выражение), значение которого необходимо сравнить.
Аргумент 2 Аргумент (значение, переменная, функция, выражение), значение которого необходимо сравнить.
Тип сравнения Один из вариантов логической операции
  • = (равно)
  • > (больше)
  • => (больше или равно)
  • < (меньше)
  • <= (меньше или равно)
  •  != (не равно)
Переход, правда Компонент, на который передается управление, если выбранная логическая операция вернула истину.
Переход, ложь Компонент, на который передается управление, если выбранная логическая операция вернула ложь.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i06.png
Меню сравнения

Сравнивает аргумент со списком значений. Компонент может иметь неограниченное число веток перехода. Переход осуществляется по ветке значения, с которым совпало значение аргумента. Если совпадений не найдено, переход осуществляется по ветке «Прочее».


Свойства:

Аргумент Аргумент (значение, переменная, функция, выражение), значение которого необходимо сравнить.
Значения (варианты) Окно ввода значений, позволяющее задать возможные значения и связывающее с каждым указанным значением элемент перехода. Соответственно переход осуществляется по ветке первого найденного совпадающего значения.
Переход, прочее Компонент, на который передается управление, если среди значений не найдено того, которое соответствует значению аргумента.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i18.png
Запуск сценария

В случае организации автоматических сервисов размеры сценария могут быть достаточно велики, и компонент «Запуск сценария» предоставляет возможность разбить крупный сценарий на несколько логических блоков. Таким образом, один сценарий передает управление в начало другого сценария. При этом можно задать некоторое значение на запуск, которое примет компонент «Старт» вложенного сценария и сохранит в свою локальную переменную. Помимо этого, все переменные одного типа, которые названы одинаково в запускающем и запускаемом сценариях, перенесут свои значения из одного в другой без изменений. Такой способ запуска называется вложенным.


ВНИМАНИЕ! Обработка сценария начинается с компонента Старт и ведется последовательно согласно значениям свойств перехода, если трубка положена (в основном это входящие звонки с внешних линий). В случае, когда трубка уже поднята, после компонента Старт производится безусловный переход к компоненту "Поднять трубку", если такой имеется в сценарии. При этом обработчик пропускает все компоненты, которые находятся между ними. Запуск вложенных сценариев следует этим же правилам.


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


Свойства:

Тип запуска Определяет тип и формат запуска дочернего сценария.
  • Вложенный. Запуск вложенного сценария прекращает выполнение (возможно на время, до возврата управления) текущего сценария и активизирует обработку выбранного сценария того же типа.
  • Асинхронный служебный. Запускает в параллельном процессе выполнение выбранного служебного сценария и продолжает выполнение текущего.
  • Фоновое медиа-взаимодействие. Доступно только для IVR сценариев. Инициирует дублирующий параллельный сценарий IVR. Подробнее в разделе Сценарии IVR. Фоновый сценарий.
Сценарий Текстовое поле с возможностью выбора из списка имеющихся сценариев. Определяет имя сценария, который необходимо запустить.
Параметр запуска Аргумент, передающий свое значение на старт запускаемого сценария.
Возврат управления Да/нет. По умолчанию «Нет». Определяет способ вызова вложенного сценария.

При установке значения «Нет» выполнение текущего сценария прекращается и запускается вложенный сценарий (с сохранением значений всех переменных). Такой способ наиболее часто применим на практике. При установке значения «Да» вложенный сценарий вызывается как функция и после его завершения происходит возврат в точку вызова. Все переменные исходного сценария доступны во вложенном и наоборот, таким образом после возврата они будут иметь соответствующие измененные значения. На процедуру возврата также влияет флаг «Возврат управления» компонента Стоп, - используется во вложенном сценарии после успешного переключения с необходимостью безусловно прервать обработчик сценариев.


ВНИМАНИЕ! Обработчик сценариев поддерживает условно неограниченную вложенность и имеет стек с ограничением в 100 сценариев во избежание зацикливания.

ВНИМАНИЕ! Вызов внутри одной цепочки исполнения может происходить одновременно как с возвратом, так и без возврата.

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

Поле используется (и обязательно для заполнения) только в случае асинхронного запуска служебного сценария, а также в случае вложенного, если флаг «Возврат управления» установлен.

Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i03.png
Пауза

Осуществляет задержку сценария перед выполнением следующего компонента. В случае указания длительности 0 – компонент пропускается. В некоторых случаях при работе с большими сценариями удобно использовать компонент «Пауза» в качестве пустышки, для удобства и быстроты смены свойств. Например, по веткам выхода из компонента «Меню», где каждое свойство перехода задается внутри специального окна путем выбора одного объекта из списка всех объектов сценария.


Свойства:

Время задержки Время в миллисекундах, которое необходимо простоять на компоненте в паузе.
Переход Компонент, на который передается управление.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i14.png
Статус объекта

Позволяет получить доступ к состояниям различных объектов (на чтение и запись). Например до начала переключения определить статус объекта (пользователя, задачи, номера), чтобы без попытки переключения и, соответственно, без включения сигнала ожидания, озвучить соответствующий текст меню.


Свойства:

Действие Доступные действия:
  • Определить. Формирует работу компонента для записи в назначенную переменную выбранного состояния указанного объекта.
  • Установить. Изменяет выбранное состояние указанного объекта на результат вычисления назначенного аргумента.
Тип объекта Один из вариантов: Задача, Пользователь, Номер, Линия, Направление, Конференция, Сервер. Тип объекта, с которым производится работа: статус которого подлежит определению, изменению, или который необходимо создать/удалить.

В зависимости от выбранного действия перечень типов может меняться.

Задача (ключ), Пользователь (ключ), Номер, Линия (ключ), Направление (ключ), Конференция (ключ), Сервер Доступны только для действий определить/установить.

В зависимости от выбранного типа поле принимает тот или иной вид:

  • Задача. Одна из списка задач системы (или проекта, если сценарий принадлежит проекту). Возможно задание через строковый аргумент «Ключ задачи». Может содержать идентификатор в виде Guid значения «xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx», код задачи или название задачи. Будет использован только в случае, если задача не указана явно в списке имеющихся в системе задач.
  • Пользователь. Один из списка пользователей системы. Возможно задание через строковый аргумент «Ключ пользователя». Может содержать идентификатор в виде GUID значения, имя или логин.
  • Номер. Аргумент, определяющий внутренний номер (стандартный).
  • Линия. Аргумент, определяющий номер, код или Guid-идентификатор линии.
  • Направление. Аргумент, определяющий направление (код или Guid-идентификатор).
  • Конференция. Аргумент, определяющий номер комнаты, Guid-идентификатор или код идентификатора конференции.
  • Сессия. Аргумент, определяющий Id цепочки коммутации или сессию служебного сценария.
  • Контакт. Аргумент, определяющий телефон (электронную почту, ICQ и т.д.) у контакта.
Функция / действие Доступно только для действий определить/установить.

В зависимости от выбранного действия и типа объекта поле содержит список доступных состояний.

Определение состояния.

Доступные функции для задач:

  • Количество абонентов в очереди.
  • Наибольшее время ожидания среди абонентов очереди (при сохранении в переменную типа дата/время подставляется значение переменной начиная с 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) это поле
<property_cdata key="custominfo"><![CDATA[]]></property_cdata>.
  • Поле контента цепочки (заголовок). В контенте цепочки коммутаций это поле
<property_cdata key="custom" />
  • Поле контента цепочки (коммутация). В контенте цепочки коммутаций для текущей коммутации это поле
<property_cdata key="custom"><![CDATA[]]></property_cdata>
  • Время без звука, сек. Интервал времени, в течении которого с линии не приходят 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.
  • Поле контента (заголовок). В контенте цепочки коммутаций это поле
<property_cdata key="custom" />
  • Поле контента (коммутация). В контенте цепочки коммутаций для текущей коммутации это поле
<property_cdata key="custom"><![CDATA[]]></property_cdata>


Доступные функции для контактов:

  • Проверить группу. В поле "Группа" необходимо указать название группы контактов. 0 - не входит, 1 - входит.


Доступные функции для сервера:

  • Имя хоста сервера.
  • Локальный IP-адрес. Один из локальных IP-адресов хоста.
  • Все локальные IP-адреса. Перечень всех IP-адресов через точку с запятой.
  • Внешний IP-адрес сервера (STUN-запрос). В качестве параметра может быть указан адрес конкретного stun-сервера.
  • Значение конфигурации. В качестве параметра указывается ключ конфигурации.
  • Рабочее время по графику офиса. В качестве параметра может быть указано значение дата/время. 0 - не рабочее время, 1 - рабочее время.
  • Объем виртуальной памяти службы (в МБ).
  • Объем виртуальной памяти процесса HAL (в МБ).
  • Количество подключенных пользователей.
  • Количество внешних линий.
  • Количество внутренних линий.
  • Регистрационный номер.
  • Количество пользователей в лицензии.
  • Количество внешних линий в лицензии.
  • Количество внутренних линий в лицензии.
  • Дата следующего подтверждения лицензии.


Установка состояния.

Доступные функции для задач:

  • Активность. В значении: 1 - активировать, 0 - деактивировоать.
  • Очистить оперативную статистику.
  • Синхронизировать таблицу абонентов с БД.
  • Привязать к звонку оператора. В значении указывается ключ пользователя или json-форматированная строка, содержащая ключи-значения user и/или idinlist для указания идентификатора абонента в прикрепленной к задаче таблице абонентов. Например, operatorMasha или {"user": "operatorMasha", "idinlist": 2}
  • Добавить оператора. В значении указывается ключ оператора (GUID, имя или логин).
  • Удалить оператора. В значении указывается ключ оператора (GUID, имя или логин).
  • Изменить количество линий. Используется для ограничения одновременного количества звонков по задаче. -1 — снять ограничение.


Доступные функции для пользователей:

  • Сохранить скриншот (в размерах 640х480 или переопределенных в конфигурационном файле сервера). В параметре указывается относительный (от папки \oktell\server) или абсолютный путь к файлу, куда изображение следует сохранить. Таймаут на исполнение 10 секунд. Например, screens\1.png или C:\screens\2.png
  • Привязать текущий звонок к задаче (дополнительно указывается ключ задачи или json-форматированная строка, содержащая ключи-значения task и/или idinlist для указания Id абонента в прикрепленной к задаче таблице абонентов). Например, 54C3F5F4-BD04-4EE7-9209-B3C4F2460643 или {"task": "54C3F5F4-BD04-4EE7-9209-B3C4F2460643", "idinlist": 2}
  • Изменить статус. В значении: 1 — готов, 2 — перерыв, 3 — отключен (нет на месте), 5 — занят,
  • Изменить признак занятости. В значении: 0-освободить, 1-занять.
  • Изменить признак переадресации. В значении: 0-выключить, 1-включить.
  • Ввести/вывести в перерыв. В значении: 0-вывести, 1-ввести. Для указания причины перерыва может быть указана комбинированная строка
[сам флаг];[код перерыва];[текстовое описание перерыва], например 1;-1;Обед.
  • Ввести/вывести в Call-центр. В значении: 0-вывести, 1-ввести.
  • Ввести/вывести в ручной режим Call-центра. В значении: 0-вывести, 1-ввести.


Доступные функции для линий:

  • Разрыв (выполняется безусловно). Производит разрыв и отсоединение линии.
  • Мягкий сброс. Производит разрыв с переключением в сценарий вместо отбоя.
  • Выход из задачи при следующем переключении. В значении: 1 - применить, 0 - отменить. Фактически используется менеджером задач при обслуживании вызова с участием оператора. Установленный режим будет способствовать следующее переключение абонента на любой другой объект, отличный от оператора с выходом из задачи. Без использования компонента аналогичное действие можно достигнуть, выставив в настройках задачи режим «Выход из задачи при переключении на IVR». Подробно о режиме в разделе Call-центр.Голосовые задачи.Дополнительно.
  • Название абонента. Отображается в журналах статистики, а также при звонках на пользователей системы во всплывающем при входящем звонке окне и в разделе программного телефона.
  • Описание абонента. Отображается при звонках на пользователей системы во всплывающем при входящем звонке окне и в разделе программного телефона.
  • Приоритет очереди. Применяется до входа абонента в очередь. Изменение во время нахождения в очереди требует вывода и повторного ввода. После завершения коммутации сбрасывается в значение по умолчанию. Можно установить заранее, даже когда на линии абонент отсутствует.
  • Поле контента линии. Только для внешних линий. Введенное значение записывается в контент линии (XML) в поле
<property_cdata key="custominfo"><![CDATA[]]></property_cdata>.
  • Поле контента цепочки (заголовок). Введенное значение записывается в контент цепочки коммутаций в поле
<property_cdata key="custom" />
  • Поле контента цепочки (коммутация). Введенное значение записывается в контент цепочки коммутаций для текущей коммутации в поле
<property_cdata key="custom"><![CDATA[]]></property_cdata>
  • Разрешить DTMF-управление. Только для внешних линий. В значении 1 - разрешить, 0 - запретить. Позволяет на время текущей сессии разрешить исполнение команд (FLASH и управление конференциями) через DTMF.
  • Перерегистрировать SIP-поток. Только для тех линий, по которым регистрация идет от Oktell (на стороне шлюза).
  • DTMF в линию. Отправляет в линию DTMF-сигнал, указанный в значении.
  • Воспроизвести файл в линию. Позволяет проиграть указанный звуковой файл в формате MP3 во время разговора. Если абонент соединен с IVR сценарием — музыкальный файл не воспроизводится. Если абонент находится в коммутации - музыкальный файл воспроизводится только в его линию. Если абонент находится в конференции - на время воспроизведения файла данный участник перестает слышать остальных.
  • Воспроизвести файл в коммутацию/конференцию. Позволяет проиграть указанный звуковой файл в формате MP3 во время разговора. Дополнительно указывается звуковой файл в формате MP3. В значении указывается уровень громкости для воспроизведения от 0 (громко) до 8 (тихо). Проигрываемый файл в этом режиме слышат все участники разговора. Не воспроизводится, если абонент соединен с IVR.


Доступные функции для конференции:

  • Установить название.
  • Установить описание.
  • Обновить информацию у клиентов. Во всех клиентских приложениях обновляется название и описание конференции.
  • Воспроизвести файл. Позволяет проиграть указанный звуковой файл в формате MP3 во время разговора. Проигрываемый файл слышат все участники конференции.
  • Завершить конференцию.


Доступные функции для сессии:

  • Поле контента (заголовок). Введенное значение записывается в контент цепочки коммутаций в поле
<property_cdata key="custom" />
  • Поле контента (коммутация). Введенное значение записывается в контент цепочки коммутаций для текущей коммутации в поле
<property_cdata key="custom"><![CDATA[]]></property_cdata>
  • Воспроизвести файл в коммутацию/конференцию. Позволяет проиграть указанный звуковой файл в формате MP3 во время разговора. Дополнительно указывается звуковой файл в формате MP3. В значении указывается уровень громкости для воспроизведения от 0 (громко) до 8 (тихо). Проигрываемый файл в этом режиме слышат все участники разговора. Не воспроизводится, если абонент соединен с IVR.


Доступные функции для сервера:

  • Обновить список задач. Синхронизирует менеджер задач с базой данных, обновляя список задач и их свойства.
  • Обновить общие настройки. Перезагружает текущие общие настройки, задаваемые в разделе Общие Настройки, из БД.
  • Перерегистрировать все SIP-потоки.
  • Изменить карту сети.
  • Перезагрузить сервер состояний (выполняется безусловно). Производится действие, аналогичное нажатию кнопки «Применить» в любом из модулей администрирования. Сервер состояний инициализируется на основе информации в БД.
  • Перезагрузить аппаратный модуль (выполняется безусловно). Производится переинициализация аппаратной подсистемы с завершением всех коммутаций и конференций. В случае, если аппаратный модуль настроен на работу в отдельном процессе, производится выгрузка процесса с последующим автоматическим его запуском.
  • Перезагрузить службу сервера (выполняется безусловно). Действие производится сразу же без ожидания корректного завершения коммутаций и служебных сценариев.
  • Перезагрузить серверную станцию (выполняется безусловно). Отдает команду операционной системе на полное завершение всех процессов с последующей перезагрузкой.
  • Сборка мусора .NET.
  • Произвести анализ памяти .NET.
  • Обновить лицензионный сертификат.
  • Добавить в бан-лист SIP. После применения сервер перестает принимать любые SIP-сообщения с указанного адреса или c указанным user-agent. В trn-логе пишется соответствующая информация "banned" (если включено логирование сетевых атак). В значении следует указать IP-адрес, например 3.14.15.92, или user-agent, например angry-scanner
  • Удалить из бан-листа SIP. После применения сервер снова начинает принимать SIP-запросы с указанного адреса. В значении следует указать IP-адрес, например 3.14.15.92, или user-agent, например angry-scanner
  • Добавить в бан-лист App, WS, HTTP. После применения сервер перестает принимать web-запросы с указанного IP-адреса. В значении следует указать IP-адрес, например 3.14.15.92.
  • Удалить из бан-листа App, WS, HTTP. После применения сервер снова начинает принимать web-запросы с указанного IP-адреса. В значении следует указать IP-адрес, например 3.14.15.92.
Значение в переменную Доступно только для действия «Определить».

Переменная, в которую заносится результат вычисления функции.

Значение Доступно только для действия «Установить».

Аргумент, значение которого вычисляется для установки состояния.

Идентификатор в переменную Доступно только для действия «Создать».

Переменная, в которую заносится идентификатор вновь созданного объекта.

Переход Компонент, на который передается управление.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i11.png
Запрос в базу данных

Позволяет производить действия в БД, а также передавать параметры (на вход и на выход). В качестве параметров выступают переменные сценария. Обращение к БД происходит по одной из выбранных технологий: 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.

Код ошибки Переменная, в которую сохранится код возврата.
Переход Компонент, на который передается управление после успешной транзакции.
Переход, ошибка Компонент, на который передается управление при появлении исключительной ситуации. В переменную свойства «Код ошибки» попадает код полученного исключения из сервера БД.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i12.png
Запрос к WEB-сервису

Позволяет выполнять запросы к web-сервисам в форматах get, post, put, head, delete. На вход может передавать указанным образом заполненную структуру XML документа. Прием данных и их обработку осуществляет также согласно прикрепленной к компоненту структуре XML документа. В случае ошибки переход осуществляется по ветке «Ошибка», и в переменную «Код ошибки» возвращается соответствующий код исключения. Для детального разбора ответа может быть использован совместно с компонентом «Парсер»: сохранив ответ в строковой переменной, его дальнейший анализ производится совокупностью других компонентов сценария.

Компонент поддерживает работу в сессиях, сохраняя и используя COOKIE, а также HTTPS и подтверждение сертификатов.


Свойства:

URL Переменная, определяющая адрес web-сервера
Прокси-сервер Свойство, определяющее источник настроек для подключения к прокси-серверу.
  • Не использовать — подключение выполняется напрямую к серверу ICQ/Jabber, минуя прокси.
  • Согласно общим настройкам — используется режим подключения, заданный в общих настройках комплекса (отдельно разделы ICQ-сервис и Jabber-сервис).
  • Настроить индивидуально — используются настройки, указанные в данном компоненте
Адрес прокси-сервера Доступно, если выбраны индивидуальные настройки прокси-сервере. Адрес прокси-сервера.
Порт прокси-сервера Доступно, если выбраны индивидуальные настройки прокси-сервере. Порт прокси-сервера.
Авторизация на прокси Да/Нет. Доступно, если выбраны индивидуальные настройки прокси-сервере. Свойство, отвечающее за необходимость авторизации на прокси-сервер.
Логин для авторизации на прокси Доступно, если необходима авторизация на прокси. Логин учетной записи на прокси-сервере
Пароль для авторизации на прокси Доступно, если необходима авторизация на прокси. Пароль учетной записи на прокси-сервере
Базовая авторизация Свойство, определяющее необходимости использования авторизация на web-сервере
  • Не использовать — подключение выполняется без авторизации
  • По логину и паролю — подключение выполняется с указанным логином и паролем
Логин для базовой авторизации Доступно, если выбрано использование базовой авторизации. Логин для авторизации на web-сервере
Пароль для базовой авторизации Доступно, если выбрано использование базовой авторизации. Пароль для авторизации на web-сервере
Максимальное число перенаправлений Устанавливает ограничение на количество перенаправлений при отправке запроса. По умолчанию свойство не задано, что эквивалентно ограничению в 20 перенаправлений - недостижимое в нормальных условиях значение. 0 - полностью игнорирует перенаправления.

При каждом перенаправлении 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 для формирования запроса.

Дополнительные заголовки Позволяет переопределить некоторые стандартные заголовки, а также установить новые персональные заголовки.

Строковый аргумент, подразумевающий многострочное присутствие одного или нескольких заголовков в виде:

 HeaderName1: Value1
 HeaderName2: Value2
Дополнительные cookie Позволяет установить дополнительные cookie значения.

Строковый аргумент, подразумевающий присутствие одного или нескольких дуплетов "ключ=значение", разделенных переводом строки, запятой или точкой с запятой.

Режим работы Определяет режим работы компонента. Один из четырех вариантов:
  • Ожидание результата. Компонент завершает свою работу только после получения ответа от сервера, ошибки сокета или принудительного завершения работы сценария (по обрыву связи). Во всех случаях кроме последнего производится анализ результата и сохранение значений в соответствии с настройками компонента.
  • Асинхронный запуск. Запускает асинхронную процедуру запроса к серверу и мгновенно возвращает управление. Ответ сервера не сохраняется и не анализируется. Запрос продолжает выполняться даже после завершения работы сценария.
  • Обрыв по таймауту. Ожидает ответа сервера не дольше установленного времени, после чего обрывает запрос и возвращает управление. Если ответ сервера получен в промежутке до таймаута, то производится анализ результата и сохранение значений в соответствии с настройками компонента. В случае принудительного завершения работы сценария (по обрыву связи) выполнение запроса обрывается.
  • Выход по таймауту. Ожидает ответа сервера не дольше установленного времени, после чего возвращает управление, оставляя запрос работать асинхронно. Если ответ сервера получен в промежутке до таймаута, то производится анализ результата и сохранение значений в соответствии с настройками компонента. В противном случае ответ сервера не сохраняется (так как сценарий может быть уже завершен). В случае принудительного завершения работы сценария (по обрыву связи) запрос продолжает выполняться.
Таймаут, секунды Определяет таймаут, после которого компонент завершит свою работу в соответствии с выбранным режимом работы. Доступно только для режимов обрыва и выхода по таймауту.
Тип ответа XML / TEXT. Определяет, в каком режиме производить сохранение полученного ответа - парсить XML или сохранять в строковую переменную для дальнейшего анализа. Недоступно для асинхронного режима.
Ответ(XML) Если выбран "Тип ответа" — XML. Форма, определяющая структуру стандартного ответа сервера и характер распределения выходных значений по переменным сценария. Поддерживает только строгое соответствие дерева XML. Недоступно для асинхронного режима.
Ответ в переменную Если выбран "Тип ответа" — Текст. Переменная, в которую сохранится текст ответа. Недоступно для асинхронного режима.
Кодировка ответа Определяет в какой кодировке форматировать тело ответа. В списке возможных вариантов:
  • Unicode
  • UTF-8
  • UTF-7
  • Текущая кодовая страница Windows
  • Windows-1251
  • Указанная кодовая страница Windows
  • Авто (заголовок)
  • Авто (метатэги, заголовок)
Кодовая страница Windows для ответа Доступно только при выборе кодировки ответа «Указанная кодовая страница Windows».

Числовой аргумент, определяющий кодовую страницу Windows для разбора ответа.

Заголовки ответа в переменную Переменная, в которую сохранятся заголовки ответа
Код ошибки в переменную Переменная, в которую сохранится код возврата сценария.

Если был получен ответ от web-сервиса, то код ошибки совпадает с кодом состояния HTTP. В противном случае это внутренние коды ошибок работы компонента:

  • 661 - истёк таймаут установления подключения (10 секунд) для отправки данных
  • 662 - не удалось установить соединение для отправки данных
  • 663 - истёк таймаут отправки тела запроса
  • 664 - ошибка при завершении отправки тела запроса
  • 1 - прочие ошибки. Конкретная информация об ошибке попадёт в серверный лог Exception
Переход Компонент, на который передается управление после успешной транзакции.
Переход, таймаут Компонент, на который передается управление в случае, если выход осуществляется по таймауту.
Переход, ошибка Компонент, на который передается управление, если web-сервис не доступен или вернул ошибку.
Имя Название компонента для отображения в визуальной среде и выбора.


Cl cc scr i27.png
Парсер (XML, HTML, текст)

Осуществляет разбор любых текстовых структур. Может использоваться метод регулярных выражений или встроенный анализатор гипертекста OQuery. Согласно строке поиска формирует ответ, либо вырезает запрошенный раздел или их совокупность, либо определяет количество элементов в указанном разделе структуры. Сложные структуры могут быть разобраны последовательностью элементов «Парсер». Каждый из которых выделяет из документа некоторую структуру и возвращает ее на вход следующего элемента.

В общем случае производится разбор HTML, XML структур различного формата. На уровне сценария могут быть организованы циклы и условия. Чаще применяется для разбора ответов веб-сервисов компонентом «Web-запрос».

Подробнее о компоненте можете прочитать в статье Компонент Парсер

Документ Аргумент, содержащий текстовую структуру, подлежащую разбору.
Алгоритм Метод разбора:
  • Регулярные выражения.
  • Язык OQuery для HTML.
  • Парсер JSON
Поисковый запрос Строка запроса для соответствующего алгоритма. Язык регулярных выражений совпадает со стандартом .NET. Синтаксис языка OQuery и JSON описан ниже.
Функция Тип запроса (возвращаемого значения)

В зависимости от выбранного алгоритма допускает выбор одного из возможных вариантов.


Для регулярных выражений доступны:

  • Содержимое.
  • Количество найденных.


Для 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.


Cl cc scr i07.png
Файловая операция

Производит указанную дисковую операцию с файлом, каталогом или путем.


Свойства:

Путь Аргумент, определяющий место размещения объекта, подвергаемого файловой операции - абсолютный путь к каталогу или файлу.
Тип объекта Каталог / Файл / Путь

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

Операция В зависимости от выбранного типа объекта предоставляет перечень возможных операций.

Каталог:

  • Создать
  • Удалить
  • Переместить
  • Переименовать
  • Скопировать
  • Проверить существование
  • Количество подкаталогов
  • Вернуть путь к подкаталогу
  • Количество файлов
  • Вернуть путь к файлу

Файл:

  • Создать
  • Удалить
  • Переместить
  • Переименовать
  • Скопировать
  • Проверить существование
  • Определить размер
  • Определить MD5 содержимого
  • Считать данные
  • Дописать данные в конец

Путь:

  • Вернуть родительский каталог
  • Вернуть имя
  • Вернуть имя без расширения
  • Вернуть расширение
  • Проверить полноту
  • Склеить пути
Новый путь

Новое имя

Путь копии

Путь или имя, которое будет присвоено вновь созданному файлу (или каталогу).

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

Данные Аргумент, представляющий собой строку. Строка в соответствии с выбранной кодировкой будет переведена в бинарный формат и размещена в содержимом файла при проведении операций создания и записи в файл.
Кодировка Определяет кодировку, посредством которой происходит преобразовании строки в бинарные данные и обратно при проведении операций записи в файл и чтения из файла.
  • Unicode
  • UTF-8
  • UTF-7
  • Текущая кодовая страница Windows
  • Windows-1251
  • Указанная кодовая страница Windows
Данные в переменную Строковая переменная, куда будет сохранено содержимое файла при проведении операции чтения. Данные из файла считываются в бинарном виде и преобразуются в строку согласно выбранной кодировке.

Внимание! Если целью считывания данных из файла является их дальнейшая передача вовне без изменений (например используя веб-запрос или сохранение файла, осуществляющие преобразование строки в бинарные данные), необходимо в обоих компонентах использовать кодировки ANSI, так как только она гарантирует однозначное двустороннее преобразование без потери данных.

Маска Аргумент, представляющий собой маску для файлов/каталогов в формате операционной системы, например *.inf или data_??.txt. Используется при определении содержимого каталога.

Внимание! Если целью определения содержимого является обнаружение конкретного подкаталога/файла, либо обработка всего содержимого, соответствующего маске, то при взятии пути к конкретному файлу используется индекс. В этом случае необходимо также указывать ту же самую маску.

Индекс Аргумент, определяющий индекс файла/подкаталога при взятии его пути. Индекс - порядковый номер объекта в общем списке файлов/подкаталогов исследуемого каталога, отфильтрованного в соответствии с указанной маской. Индекс начинается с 0.
Добавочный путь Аргумент, определяющий часть пути, подвергаемый склейке с основным. Например, если основной указанный путь 'C:\1', а добавочный '2.txt', то при проведении склейки результатом будет 'C:\1\2.txt'.
Результат в переменную Переменная, куда будет сохранен результат выполнения операции. Может быть строковой, либо числовой для проведения отдельных операций.
Переход Компонент, на который передается управление после успешного завершения ввода.
Переход, не найдено Компонент, на который передается управление в случае, если указанный каталог или файл не найден.
Переход, ошибка Компонент, на который передается управление в случае, если в назначенных параметрах допущена ошибка или при проведении указанной операции возникла ошибка.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i17.png
Запуск внешнего процесса с параметрами

Запускает на сервере внешний процесс или открывает приложение с указанным документом. В сценариях IVR используется чаще для запуска системных программ, а также учетных, сервисных, обслуживающих программ организации-клиента Oktell.

ВНИМАНИЕ! При работе сервера Oktell в режиме службы запуск процесса производится от имени того пользователя, который указан в настройках службы. По умолчанию это системная учетная запись «NETWORK SERVICE». Запускаемые таким образом процессы выполняются в фоновом режиме и не отображаются на экране пользователя.


Свойства:

Файла Строковый аргумент, определяющий имя или путь к файлу, который необходимо запустить.
Путь Относительный/абсолютный. Определяет, какой путь будет подставляться впереди к имени файла. Относительный – от папки запуска приложения Oktell.
Параметры командной строки Строковый аргумент, определяющий параметры запуска для командной строки, если необходимо.
Режим запуска Определяет способ исполнения указанного файла
  • С помощью оболочки. В качестве файла можно указывать документы - их открытие будет осуществляться автоматически в зарегистрированных приложениях, однако становится недоступным использование консоли для ввода/вывода.
  • Скрыть окно. Приложение не отображает свое консольное окно.
  • Не скрывать окно. Приложение ведет себя стандартным образом.
Ожидание завершения Да/нет. Определяет, приостанавливать ли сценарий в ожидании завершения работы запущенного процесса.
Консольный ввод/вывод Доступно только при ожидании завершения процесса, запущенном в обычном режиме (не с помощью оболочки).
  • Нет.
  • Только ввод. Позволяет передать произвольные текстовые данные в консоль приложения сразу после старта.
  • Только вывод. Позволяет считать произвольные текстовые данные из консоли приложения сразу после завершения.
  • Ввод и вывод. Позволяет передать и считать данные.
Консольный ввод Доступно только при ожидании завершения процесса, запущенном в консольном режиме (не с помощью оболочки).

Строковый аргумент, значение которого передается в консоль сразу после запуска приложения.

ВНИМАНИЕ! При передаче сложных данных для простоты реализации чтения из консоли рекомендуется компоновать данные общим размером в самом начале.

Консольный вывод в переменную Доступно только при ожидании завершения процесса, запущенном в консольном режиме (не с помощью оболочки).

Строковая переменная, в которую полностью сохраняется консольный вывод исполненного приложения.

Таймаут, мс Доступно только для режима ожидания завершения процесса.

Аргумент, определяющий предельное время ожидания, по истечении которого управление будет в любом случае передано дальше по сценарию. «0» - таймаут не установлен.

Завершать при обрыве Доступно только для режима ожидания завершения процесса.

Да/нет. Определяет, следует ли принудительно завершить работу запущенного процесса, если за установленный таймаут он так и не завершился самостоятельно.

Переход, успех Компонент, на который передается управление, если приложение успешно стартовало.
Переход, таймаут Доступно только для режима ожидания завершения процесса.

Компонент, на который передается управление в случае таймаута ожидания.

Переход, неудача Компонент, на который передается управление, если файл не найден, отсутствует доступ, или по другой причине не удалось запустить приложение.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i29.png
Действие/карточка в 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.

  • При входящем вызове. Команда на выполнение запоминается, но не отправляется и сохраняется до следующего компонента «Переключение», после чего автоматически удаляется. Особенностью является то, что исполнение производится у всех пользователей, но у каждого только в момент, когда телефон начинает фактически звенеть, с нахождением обслуживаемого канала в первой позиции в очереди. Если пользователь не снимает трубку, а вызов уходит другому или теряется, отправляется команда на прекращение исполнения метода (согласно интеграционному интерфейсу web-socket протокола).
  • При коммутации. Аналогично «При входящем вызове», но команда отправляется только в случае успешного переключения тому, с кем произошло соединение обслуживаемого канала. Отмена невозможна.
  • При завершении коммутации. Аналогично «При входящем вызове», но команда отправляется только в момент разрыва коммутации с тем, с кем произошло успешное соединение обслуживаемого канала. Отмена невозможна.
Ключ получателя Доступно только при выборе пункта «Сразу» в качестве момента отображения. В других случаях получатели определяются автоматически.

Аргумент, определяющий пользователя-получателя. В качестве ключа может выступать идентификатор пользователя, его имя или логин. Также ключом может являться внутренний стандартный номер, явно определяющий пользователя через правило звонка («Администрирование. Внутренние номера. Стандартные»). В случае, если номер групповой, то получателями будут являться все его участники (пользователи указанные в номере явно, или посредством внутренних линий); при этом запросов будет отправлено ровно столько, сколько обнаружено получателей. В качестве значения аргумента может быть указан список ключей, разделенных запятыми.

Внимание! При вызове динамического метода WebCRM в его декларации может быть заявлен режим вызова без указания пользователя (это касается прямых методов, исполняемых непосредственно на сервере без привязки к конкретным пользователям и их станциям). В этом случае ключ получателя применен не будет. О необходимости указания пользователей должно сообщаться в описаниях динамических методов.

Таймаут, сек Доступно только в режиме ожидания завершения.

Устанавливает максимальное время в секундах, которое сценарий простаивает, ожидая ответ внешнего модуля с отчетом о выполнении и выходными значениями. В случае, если ответ не получен долее установленного времени, исполнение передается следующему компоненту по ветке «Таймаут». Значение 0 устанавливает бесконечное ожидание.

Переход Компонент, на который передается управление после успешного выполнения компонента.
Переход, таймаут Компонент, на который передается управление, если за установленный период времени не получен ответ от внешнего модуля/CRM-системы.

Поле доступно только при выборе значения «Да» в свойстве «Дожидаться завершения».

Переход, ошибка Компонент, на который передается управление, если модуль не обнаружен, не доступен или другие условия не позволяют провести операцию.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i28.png
Плагин

Компонент позволяет выполнять произвольный сторонний код, подключенный к серверу в виде стандартного плагин-компонента (см. руководство по интеграции, раздел «Встраиваемые plugin-модули»).


Подробно об архитектуре исполнения описано в руководстве по интеграции.

При выполнении компонента осуществляется подгрузка внешней сборки и передача управления компоненту. В случае, если сборка плагина уже загружена, повторной ее загрузки не происходит. Исключением может являться только обновление сборок в модуле Администрирование. Внешние модули. Передача управления производится путем вызова метода PrepareShow управляющего объекта, описанного в plugin-программе. В качестве параметра для метода передается XML-структура, содержащая комплексную информацию о требуемом компоненте (его guid-идентификатор, описанный при вызове метода GetForms() управляющего объекта), параметрах сценария, сессии, задаче, а также других имеющихся свойств (различаются в зависимости от типа исполняемого сценария). Помимо базовых параметров передаются значения требуемых для работы компонента параметров (информация о них возвращается при вызове GetInputParams управляющего объекта plugin-программы). В качестве возвращаемого значения ожидается XML-структура с описанием всех выходных значений согласно общему списку выходных параметров (определяются при вызове GetOutputParams управляющего объекта). В качестве возможных для использования в сценариях компонентов принимаются все формы подпрограммы со свойством 'module=2'.

Назначение входных значений, а также переменных для приема выходных значений производится на отдельной вкладке. Дальнейшая реализация сценария приостанавливается вплоть до получения назад управления из внешнего компонента. Может быть назначен интервал таймаута, по истечению которого будет произведен принудительный возврат управления и переход к следующему компоненту сценария. Обрыв исполнения производится также при остановке сценария.


Свойства:

Модуль/Форма Выбор конкретного плагина и одного из его компонентов для работы в сценарии.
Свойства Доступ к вкладке редактора параметров формы для настройки передаваемых и сохраняемых параметров.
Таймаут, сек Аргумент, устанавливающий время в секундах, по истечению которого будет произведен принудительный отъем управления из вызванной подпрограммы. В случае, если интервал нулевой (по умолчанию), таймаут считается не установленным.
Переход Компонент, на который передается управление после возврата в случае успешного проведения операции.
Переход, компонент не найден Компонент, на который передается управление, если plugin-программа не указана, не найдена или не может быть загружена.
Переход, таймаут Компонент, на который передается управление в случае, если за установленный интервал времени не вернулось управление от внешнего компонента.
Переход, ошибка Компонент, на который передается управление в случае возникновения ошибок.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i45.png
Регистрация динамического потока

Компонент используется совместно со шлюзом с динамической регистрацией потоков (подробнее в разделе Карта сети. Компоненты. Шлюз). Служит для проведения динамической регистрации под указанным аккаунтом перед осуществлением звонка по каналу потока такого шлюза. Параметры аккаунта - логин и пароль - могут быть взяты из БД, вычислены, указаны явно в сценарии. Для проведения регистрации достаточно указать в свойствах компонента шлюз, и свободный поток автоматически будет зарегистрирован и зарезервирован под совершение вызова именно в этом экземпляре сценария. Потоки и линии шлюзов с динамической регистрацией недоступны для выбора ни в задачах, ни в настройках прав пользователей, ни в списках линий при наборе номера компонентами сценариев. Осуществить дозвон через них можно только путем явного указания кода зарегистрированного потока в соответствующий аргумент компонентов «Дозвон» служебного сценария и «Переключение на внешние» сценария IVR.


ВНИМАНИЕ! В случае успешной коммутации поток будет разрегистрирован автоматически по завершению разговора и переводу одной из линий потока в состояние готовности. Однако, если коммутации не произведено, то разрегистрация производится автоматически по истечению времени неактивности (3 минуты), либо путем использования этого же компонента с действием «Отмена регистрации».


Свойства:

Действие Выбор режима работы. Регистрация / отмена регистрации.

В случае установки режима регистрации осуществляет прямое действие по регистрации аккаунта на сервере и активации (перевода в состояние готовности) одного из потоков указанного шлюза с динамической регистрацией потоков. В режиме отмены регистрации освобождает аккаунт и переводит указанный поток в отключенное состояние.

Шлюз Доступно только для действия «Регистрация». В списке выбирается один из существующих в карте сети шлюзов с динамической регистрацией потоков.
Аккаунт Доступно только для действия «Регистрация». Аргумент, представляющий собой логин для регистрации потока.
Пароль Доступно только для действия «Регистрация». Аргумент, представляющий собой пароль для регистрации потока.
Время ожидания Доступно только для действия «Регистрация». Максимальное время ожидания регистрации, по истечению которого будет прервана регистрация и произведен выход по ветке «Таймаут».
Автоматическая отмена регистрации Доступно только для действия «Регистрация». Позволяет установить такой режим работы, при котором при любой последующей попытке дозвона по одной из линий зарегистрированного потока даже в случае неудачи (занято, недоступно и т.д.) будет производиться мгновенная отмена регистрации.
Код потока в переменную Доступно только для действия «Регистрация». В случае успешного проведения операции по регистрации в указанную переменную будет размещен Guid-идентификатор зарегистрированного потока. Эта переменная впоследствии может быть использована для осуществления вызова в компонентах Переключение на внешние и/или Дозвон или отмены регистрации.
Код ошибки в переменную Доступно только для действия «Регистрация». В переменную попадает код ошибки в случае возникновения проблем при регистрации. Большинство кодов совпадают с типами ответов HTTP-сервера (например, 404 - not found).
Код потока Доступно только для действия «Отмена регистрации». Аргумент, представляющий собой Guid-идентификатор потока в строковом представлении. Может быть указан явно, или получен в переменную в одном из предыдущих компонентов «Регистрация».
Переход Компонент, на который передается управление после возврата в случае успешного проведения операции.
Переход, потоков не найдено Доступно только для действия «Регистрация». Компонент, на который передается управление, если у выбранного шлюза нет свободных потоков.
Переход, таймаут Доступно только для действия «Регистрация». Компонент, на который передается управление в случае, если за установленный интервал времени не получен ответ от внешнего сервера/шлюза.
Переход, ошибка Компонент, на который передается управление в случае возникновения ошибок.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i16.png
Увеличение значения счетчика

Увеличивает значение выбранного счетчика на 1. Подробнее о счетчиках, их создании и анализе в модуле общего меню Call-центр. Отчеты. Счетчики.


Свойства:

Счетчик Список счетчиков, существующих в системе и доступных для увеличения.
Переход Компонент, на который передается управление в случае успешной коммутации.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i10.png
Создание исходящей задачи

Компонент инициирует задачу однократного выполнения в указанное время на указанный номер. Задача запускает указанный в соответствующем свойстве компонента сценарий IVR. Для формируемой задачи в компоненте указываются инициирующие значения, а также параметр задачи, который будет доступен через функцию «Параметр задачи» в сценарии IVR.

ВНИМАНИЕ! Для инициации звонка существует альтернатива данному компоненту. Служебный сценарий имеет компонент «Дозвон», рекомендуемый к использованию в большинстве случаев, так как имеет расширенные настройки и не производит дополнительной нагрузки на менеджер задач.


Свойства:

Номер Аргумент, определяющий номер, по которому производить дозвон.
Выполнить сразу Да/Нет. Сразу выполнять задачу или дожидаться указанного времени.
Дата/время Дата и время, когда производить выполнение задачи.

Поле доступно только при выборе значения «Нет» в свойстве «Выполнить сразу».

Сценарий Текстовое поле с возможностью выбора из списка имеющихся сценариев. Определяет имя сценария, который необходимо запустить после дозвона.
Параметр запуска Числовой аргумент, передающий свое значение в задачу, а через нее на старт запускаемого сценария и в функцию «Параметр задачи». Может быть использован для идентификации через сопоставление по таблице в БД, или для передачи множества параметров. Доступен в сценарии автоматической задачи через встроенную функцию «Параметр задачи».
Количество сигналов «Занято» Сколько дозвонов с ответом «Занято» считать успешным выполнением задачи.
Количество сигналов «Не отвечает» Сколько дозвонов с ответом «Не отвечает» считать успешным выполнением задачи.
Время фиксации в секундах Сколько секунд необходимо выполнять сценарий после дозвона, чтобы считать успешным выполнение задачи.
Время ожидания ответа Сколько секунд ожидать ответа от линии для получения сигнала «Не отвечает».
Пауза после сигнала «Занято» Сколько секунд делать перерыв в выполнении задачи, если от линии получен сигнал «Занято».
Пауза после сигнала «Не отвечает» Сколько секунд делать перерыв в выполнении задачи, если от линии получен сигнал «Не отвечает».
Переход Компонент, на который передается управление.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i08.png
Голосовая почта

Осуществляет перемещение данных об указанном звуковом файле (чаще после записи в этом же сценарии) в голосовой ящик указанных пользователей. Подробнее о сервисе голосовой почты в разделе Офис. Кабинет. Голосовая почта.

Заполняя свойство «Голосовой ящик» в окне адресата, можно явно указать существующих в системе пользователей, а также существующие отделы и внутренние номера. Также можно использовать свойство «Ключ получателя», значением которого является вычисляемый аргумент. Это удобно, когда заранее неизвестно получателя, и данные о нем формируются в момент исполнения сценария. При этом сообщение попадет ко всем пользователям, которые указаны явно, составляют указанные внутренние номера и группы. У пользователей, которым поступает голосовая почта, в их модулях появляются данные об абоненте, и возможность прослушать файл.

Сообщение отправится всем выбранным по одному из двух параметров – указателей адресатов. При этом один компонент формирует группу из всех перечисленных участников - прослушивание одним из них будет отражено на всей записи. При необходимости разослать сообщение независимо нескольким пользователям следует использовать серию из компонентов «Голосовая почта»


Свойства:

Имя файла Аргумент, значение которого определяет абсолютный путь к файлу, который необходимо поместить в голосовой ящик. При использовании после объекта Запись файла, в котором имя файла генерируется, необходимо в соответствующем свойстве выбирать возврат полного пути в переменную, сохраняющую имя записанного файла.
Ключ получателя Аргумент, определяющий пользователя-получателя почты. В качестве ключа может выступать идентификатор пользователя, его имя или логин. Также ключом может являться внутренний стандартный номер, явно определяющий пользователя через правило звонка («Администрирование. Внутренние номера. Стандартные»). В случае, если номер групповой, то получателями будут являться одновременно все его участники (пользователи указанные в номере явно, или посредством внутренних линий).

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

Голосовой ящик Окно ввода адресата: списка получателей, среди которых могут быть пользователи системы, отделы и конкретные внутренние номера. Каждый пользователь, участвующей явно через отдел, или через номер получит соответствующее голосовое сообщение.

При одновременном указании голосового ящика и ключа производится объединение всех установленных получателей на момент исполнения компонента.

Режим подстановки CallerId Определяет режим подстановки CallerId.
  • Автоматически. Для сценариев IVR и диалоговых существует возможность автоматически определить номер абонента, чей звонок обслуживается в текущем сценарии. Если голосовую почту оставляет внутренний пользователь системы, будет подставлено его имя.
  • Из аргумента. В некоторых случаях (если номер не определен, номер требует преобразований, служебный сценарий, работающий без привязки к каналу и т.д.) номер следует указывать вручную. При выборе данного значения появляется возможность задать callerid из аргумента.
CallerId Доступно только в режиме подстановки CallerId из аргумента.

Аргумент, значение которого подставляется при размещении голосового сообщения в поле таблицы CallerId и устанавливает номер абонента, оставившего сообщение.

Переход Компонент, на который передается управление после успешного завершения ввода.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i13.png
Заказ на встречный звонок

Сохраняет информацию о заказанном звонке в БД, и отображает в клиентском приложении Oktell у пользователей-адресатов, определяющихся указанным внутренним номером. Подробнее о сервисе заказов встречных звонков в разделе Офис. Кабинет. Встречные звонки.


Свойства:

Ключ получателя Аргумент, определяющий пользователя-получателя сообщения. В качестве ключа может выступать идентификатор пользователя, его имя или логин. Также ключом может являться внутренний стандартный номер, явно определяющий пользователя через правило звонка («Администрирование. Внутренние номера. Стандартные»). В случае, если номер групповой, то получателями будут являться одновременно все его участники (пользователи указанные в номере явно, или посредством внутренних линий).

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

Заказ на номер Аргумент, определяющий номер, на который заказан встречный звонок. Может быть введен пользователем с клавиатуры, определен как «CallerId», или подставлен из базы по коду.
Заказ на время Ориентировочное время, на которое заказан встречный звонок (сохранится в базе и будет отображено в описании заказа). Не заполнять, если время не указывается.
Комментарий Комментарий к компоненту (сохранится в базе и будет отображен в описании заказа).
Переход Компонент, на который передается управление.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i09.png
Уведомление

Уведомление – всплывающее окно, позволяющее донести до пользователя информацию о происходящем в сценарии действии. В качестве адресатов могут быть выбран список из пользователей, отделов и конкретных номеров. Также в качестве адреса может выступать номер, определяемый значением аргумента.


Уведомление получат все пользователи, которые указаны персонально, либо состоят в выбранных группах или внутренних номерах. В режиме Офис. Кабинет. Уведомления пользователь всегда сможет просмотреть пришедшие к нему уведомления и осуществить поиск.


Свойства:

Отладочный режим Да / нет. По умолчанию «нет». При сохранении сценария может быть установлен общий режим отладки (на странице свойств сценария). Отладочные уведомления будут отображаться только в режиме отладки сценария. Остальные будут отображаться в любом случае.
Ключ получателя Аргумент, определяющий пользователя-получателя сообщения. В качестве ключа может выступать идентификатор пользователя, его имя или логин. Также ключом может являться внутренний стандартный номер, явно определяющий пользователя через правило звонка («Администрирование. Внутренние номера. Стандартные»). В случае, если номер групповой, то получателями будут являться одновременно все его участники (пользователи указанные в номере явно, или посредством внутренних линий).

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

Адресат Окно ввода адресата: списка получателей, среди которых могут быть пользователи системы, отделы и конкретные внутренние номера. Каждый пользователь, участвующий явно, через отдел, или через номер получит соответствующее уведомление.

При одновременном указании адресата и ключа производится объединение всех установленных получателей на момент исполнения компонента.

Сохранять в БД Да/нет. По умолчанию «да». При установке свойства сообщение будет сохранено в БД и будет доступно в модуле Офис. Кабинет. Уведомления. Если пользователь отсутствует, то сообщение будет доставлено сразу после его авторизации в системе.
Текст Аргумент, определяющий текст уведомления.

Поддерживается минимальный набор тегов HTML для форматирования. Чтобы отобразить текст в виде HTML-документа необходимо его заключить в теги <html>..</html> Ниже за пределами таблицы свойств приведен перечень поддерживаемых HTML-тегов.

Способ оповещения Позволяет выбрать режим, в котором данные поступают указанным адресатам.
  • Всплывающее уведомление. Появляющиеся в правой части экрана цветные окна с информацией.
  • Системный чат. Сообщение от имени системы во встроенном системном чате.
  • Лог-журнал. Запись в серверном лог-журнале Common.
Цвет фона Определяет цвет фона всплывающего окошка.
Скрывать автоматически Да/нет. По умолчанию «да». При отключении уведомление будет скрыто только после щелчка пользователя на нем. Поступающие уведомления помещаются в очередь, из которой отображаются в видимых областях экрана в порядке поступления. Очередь сообщений может быть очищена из системного меню в трее.

При отправке уведомления отключенному пользователю с сохранением в БД, отображаемые после авторизации последние несколько пропущенных уведомлений будут в любом случае автоматически скрываться.

Асинхронный режим Да/нет. Способ рассылки уведомлений. При выборе асинхронного режима компонент не ожидает доставки уведомлений пользователям и сразу передает управление следующему объекту сценария. Имеет смысл при рассылке уведомления множеству пользователей из сценариев 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>


Cl cc scr i19.png
Отправка одного SMS

Осуществляет отправку SMS-сообщения по указанному номеру с назначенным текстом. Может быть настроен на ожидание доставки. Компонент работает с SMS-сервисом, указанным в общих настройках.


Свойства:

Номер Аргумент, определяющий номер адресата.
Текст Аргумент, определяющий текст SMS-сообщения.
Подставляемый номер Номер, от которого осуществляется доставка.
Push Id Код отправленного сообщения (для дальнейшего запроса отчета о доставке).
Ожидание доставки Да/Нет. Требуется ли ожидать отчета о доставке.
Таймаут ожидания Время, которое компонент будет ожидать отчета о доставке.

Поле доступно только при выборе значения «Да» в свойстве «Ожидание доставки».

Переход, доставлено Компонент, на который передается управление после успешной отправки сообщения. В случае установки значения «Да» в свойстве "Ожидание доставки", если сообщение успешно доставлено до таймаута ожидания.
Переход, не доставлено Компонент, на который передается управление, если сообщение отправлено, но не было доставлено за установленное время ожидания (в случае если ожидание было назначено).

Поле доступно только при выборе значения «Да» в свойстве «Ожидание доставки».

Переход, ошибка Компонент, на который передается управление, если сервис недоступен или вернул ошибку.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i21.png
Получение первого SMS

Производит запрос к SMS-сервису на получение первого в очереди входящих сообщений. В случае успеха наполняет переменные сценария соответствующими сообщению значениями. Компонент работает с SMS-сервисом, указанным в общих настройках.


Свойства:

Номер отправителя Переменная, куда запишется номер отправителя.
Текст Переменная, куда запишется текст сообщения.
Номер адресата Переменная, куда запишется номер, на который сообщение было отправлено.
Переход, получено Компонент, на который передается управление, если сообщение на сервере имеется и получено успешно.
Переход, сообщений нет Компонент, на который передается управление, если входящих сообщений на сервере нет.
Переход, ошибка Компонент, на который передается управление, если сервис недоступен или вернул ошибку.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i20.png
Получение статуса отправленного SMS

Производит запрос к SMS-сервису на получение отчета о доставке конкретного SMS-сообщения по коду отправки (Push Id). Компонент работает с SMS-сервисом, указанным в общих настройках.


Свойства:

Push Id Код отправленного сообщения.
Переход, доставлено Компонент, на который передается управление, если sms уже доставлено.
Переход, не доставлено Компонент, на который передается управление, если sms еще не доставлено.
Переход, неудача Компонент, на который передается управление, если сервис недоступен или вернул ошибку.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i22.png
Запрос баланса SMS

Производит запрос к SMS-сервису для получения баланса на счете. Компонент работает с SMS-сервисом, указанным в общих настройках.


Свойства:

Количество Переменная, куда вернется количество оставшихся оплаченных SMS-сообщений.
Переход Компонент, на который передается управление, если запрос отработан.
Переход, ошибка Компонент, на который передается управление, если сервис недоступен или вернул ошибку.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i23.png
Отправка одного Email

Осуществляет отправку email-сообщения на указанный ящик электронной почты. Для зашифрованного соединения (свойство "SSL-авторизация") компонент использует протокол StartTLS. Это означает, что соединение изначально идет по незащищенному порту 25, а затем шифруется, в отличии от протокола SSL, где соединение изначально происходит по защищенным портам. Именно поэтому, в большинстве случаев в свойстве "Порт почтового сервера" следует указывать незащищенный порт 25, вместо 465.


Свойства:

Почтовый сервер Свойство, определяющее источник настроек для SMTP сервера
  • Согласно общим настройкам - используется SMTP-сервер, указанный в общих настройках комплекса
  • SMTP - используется отдельный SMTP-сервер, указанный в настройках данного компонента
Адрес почтового сервера Адрес SMTP-сервера.
Порт почтового сервера Порт SMTP-сервера. В большинстве случаев, порт 25 (смотрите выше).
Логин Учетная запись на почтовом сервере
Пароль Пароль учетной записи на почтовом сервере
SSL-авторизация Устанавливается "Да", если SMTP сервер требует SSL-авторизацию.
Кому Аргумент, определяющий получателей email сообщения. Если письмо предназначается нескольким адресатам, то адреса должны быть перечислены через «,». Для версий ниже 2.9 адреса должны быть перечислены через «;»
От кого Аргумент, определяющий отправителя email сообщения. Ряд почтовых серверов требует явного указания поля "Отправитель" (e-mail адрес отправителя). В этом случае свойство должно быть вычислено к моменту, когда компонент получит управление.

В качестве отправителя может быть указана строка вида "username <address@mail.com>".

Тема Аргумент, определяющий тему email сообщения.
Формат Текст или HTML. Определяет формат, в котором будет сформировано тело для отправки.
Содержание письма Аргумент, определяющий текстовую часть e-mail сообщения.
Кодировка Определяет кодировку отправляемого письма. При необходимости осуществляется преобразование тела.
  • UTF-8
  • UTF-7
  • Windows-1251
  • KOI8-R
  • Текущая кодовая страница Windows
  • Указанная кодовая страница Windows
Кодовая страница Windows Доступно только при выборе кодировки «Указанная кодовая страница Windows».

Числовой аргумент, определяющий кодовую страницу Windows для формирования тела письма.

Вложение 1 Аргумент, значение которого определяет абсолютный путь к файлу, который необходимо прикрепить к сообщению email.
Вложение 2 Появляется, только если выбрано "Вложение 1".
Вложение 3 Появляется, только если выбрано "Вложение 2".
Вложение 4 Появляется, только если выбрано "Вложение 3".
Вложение 5 Появляется, только если выбрано "Вложение 4".
Уведомлять об ошибках Форма выбора пользователей-получателей уведомлений об ошибках, возникающих в момент выполнения отправки. Необходимо в отладочных целях в первые дни работы новых проектов.
Переход Компонент, на который передается управление, если сообщение успешно отправлено.
Переход, неудача Компонент, на который передается управление, если при отправке SMTP сервер вернул ошибку.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i24.png
Получение первого Email

Осуществляет прием email-сообщения с указанного ящика электронной почты.


Свойства:

Почтовый сервер Свойство, определяющее источник настроек для сервера входящей почты.
  • Согласно общим настройкам — используется сервер входящей почты, указанный в общих настройках комплекса
  • 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 каталог. По умолчанию используется запрос, возвращающий все письма (значение "ALL"). Более подробно о синтаксисе IMAP запросов можно узнать из документации RFC 2060.

Поле доступно только при работе с IMAP-сервером (свойство «Способ получения»).

Принимать только заголовки Да/Нет. Требуется ли получать только заголовки письма (в этом случае тело сообщения и прикрепленные файлы скачиваться с почтового сервера не будут)
Удалять с сервера Да/Нет. Требуется ли удалить письмо с почтового сервера после получения.
Сохранять вложения Определяет режим сохранения вложений.
  • Нет. Вложения сохранены не будут.
  • В указанную папку. В этом случае все вложенные файлы будут сохранены в папку, путь к которой установлен свойством "Папка для вложений".
  • В папку по умолчанию. В этом случае каталог определяется из общих настроек, раздел «Настройки e-mail».
Папка для вложений Доступно только при выбранном режиме сохранения вложений в указанную папку.

Представляет собой аргумент, устанавливающий абсолютный или относительный путь к папке, куда будут сохранены вложения с исходными именами.

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

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

Уведомлять об ошибках Форма выбора пользователей-получателей уведомлений об ошибках, возникающих в момент выполнения отправки. Необходимо в отладочных целях в первые дни работы новых проектов.
Переход, получено Компонент, на который передается управление, если сообщение успешно получено.
Переход, не получено Компонент, на который передается управление, если сообщение не получено, но при этом ошибок не возникло. Такая ситуация может возникнуть, если:
  • на POP3 сервере нет сообщений
  • на IMAP4 сервере нет сообщений в заданном каталоге
  • на IMAP4 сервере нет сообщений в заданном каталоге удовлетворяющих заданным критериям
Переход, неудача Компонент, на который передается управление, если при получении сообщения POP3 ( IMAP4 ) сервер вернул ошибку.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i25.png
Отправка сообщения IM (ICQ, Jabber)

Осуществляет отправку IM-сообщения (ICQ или Jabber). Указываются сервер, аккаунт адресата, аккаунт отправителя, способ подключения к серверу (прокси/без прокси). Работа с аккаунтом происходит через пул подключений. Любые обращения к аккаунту (отправки/приема из разных сценариев), влекущие подключение к серверу, помещают созданное подключение в специальный пул, где оно поддерживается некоторое время (устанавливается в разделах «Общие настройки. ICQ-сервис» и «Общие настройки. Jabber-сервис»). Каждое последующее обращение к аккаунту работает с подключением из пула и продляет время его существования. В случае таймаута аккаунт отключается. Также аккаунт отключается при получении ошибки сервера или выгрузке серверного приложения. Такой механизм работы в частности гарантирует работу комплекса от ошибки сервера ICQ «Превышен лимит подключений». Для каждого аккаунта в пуле держится отдельное подключение. Для Jabber-аккаунтов держатся отдельно подключения с разными настройками, даже если они имеют одинаковый JID.


Свойства:

Протокол ICQ / Jabber.
Прокси-сервер Свойство, определяющее источник настроек для подключения к прокси-серверу.
  • Не использовать — подключение выполняется напрямую к серверу ICQ/Jabber, минуя прокси.
  • Согласно общим настройкам — используется режим подключения, заданный в общих настройках комплекса (отдельно разделы ICQ-сервис и Jabber-сервис).
  • HTTPS — используется тип протокола прокси-сервера HTTPS
  • SOCKS5 — используется тип протокола прокси-сервера SOCKS5
Адрес прокси-сервера Адрес сервера.
Порт прокси-сервера Порт сервера. (стандартный порт SOCKS5 сервера - 1080, HTTPS сервера - 8080).
Авторизация на прокси Устанавливается "Да", если сервер требует авторизацию.
Учетная запись Свойство, определяющее источник настроек учетной записи для ICQ или Jabber, которая будет использоваться в качестве отправителя сообщения.
  • Использовать общую (из настроек комплекса) — используется учетная запись, заданная в общих настройках комплекса (отдельно разделы ICQ-сервис и Jabber-сервис).
  • Настроить — настройки учетной записи определяются нижеследующими свойствами.
Адрес jabber-сервера Только при использовании протокола Jabber. Адрес сервера
Порт jabber-сервера Только при использовании протокола Jabber. Порт сервера
UIN / Jabber ID Номер учетной записи ICQ/Jabber
Пароль UIN / JID Пароль учетной записи ICQ/Jabber
Таймаут ожидания соединения Аргумент, определяющий временной интервал (в миллисекундах), в течение которого система ожидает соединения с IM-сервером (ICQ / Jabber). При отправке сообщения выполнение сценария будет приостановленно до тех пор пока:
  • Будет установлено успешное соединение с сервером
  • Истечет таймаут ожидания соединения
Таймаут отправки сообщения Аргумент, определяющий временную задержку ( в миллисекундах ) перед отправкой сообщения.
UIN / JID получателя Аргумент, определяющий UIN-номера / JID-аккаунты получателей IM-сообщения. Если сообщение предназначается нескольким адресатам, то адреса должны быть перечислены через «,».
Текст сообщения Аргумент, определяющий текст сообщения.
Уведомлять об ошибках Форма выбора пользователей-получателей уведомлений об ошибках, возникающих в момент выполнения отправки. Необходимо в отладочных целях в первые дни работы новых проектов.
Переход Компонент, на который передается управление, если сообщение успешно отправлено.
Переход, неудача Компонент, на который передается управление, если при отправке сервер вернул ошибку.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i26.png
Прием первого сообщения 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», «Текст сообщения» будет подставлены значения, сохраненные в пуле сервера состояний системы.
Текст сообщения Переменная, в которую будет сохранен текст полученного сообщения.
Уведомлять об ошибках Форма выбора пользователей-получателей уведомлений об ошибках, возникающих в момент выполнения получения. Необходимо в отладочных целях в первые дни работы новых проектов.
Переход Компонент, на который передается управление, если сообщение успешно получено.
Переход, сообщений нет Компонент, на который передается управление, если новых сообщений не обнаружено.
Переход, неудача Компонент, на который передается управление, если при получении сервер вернул ошибку.
Имя Название компонента для отображения в визуальной среде и выбора в списке.



Cl cc scr i501.png
Запрос к веб-сервису 1С

Осуществляет запрос к веб-сервису 1C, зарегистрированному в общих настройках или в компоненте. Запрос формируется на языке 1C. Параметры веб-сервиса могут быть заданы как в компоненте, так и в общих настройках. Для работы компонента (для его появления в редакторе сценариев) требуется наличие интеграционной лицензии.


Свойства:

Запрос Тело запроса на языке 1С.
Параметры веб-сервиса Устанавливает к использованию параметры веб-сервиса из общих настроек или позволяет настроить в рамках компонента (в этом случае появляются дополнительные поля URI, логин, пароль).
URI Аргумент, определяющий URI веб-сервиса 1С.

Доступно только при выборе режима доступа к веб-сервису по параметрам, определенным текущим компонентом.

Логин Аргумент, определяющий логин к веб-сервису 1С.

Доступно только при выборе режима доступа к веб-сервису по параметрам, определенным текущим компонентом.

Пароль Аргумент, определяющий пароль к веб-сервису 1С.

Доступно только при выборе режима доступа к веб-сервису по параметрам, определенным текущим компонентом.

Режим запроса Асинхронно без ожидания/Ожидание ответа/Ожидание ответа с таймаутом.
Таймаут, с Аргумент, определяющий таймаут в секундах для ожидания ответа от веб-сервиса на отправленный запрос.

Доступно только при выборе режима Ожидание ответа с таймаутом.

Сохранять значения первой строки Да/нет. Определяет, сохранять ли значения из первой строки вернувшегося в ответе от веб-сервиса набора данных в переменных сценария, сопоставляя их имена с названиями столбцов в наборе.
Результат CSV в переменную Переменная, в которую сохранится результат в формате CSV.
Результат XML в переменную Переменная, в которую сохранится результат в формате XML
Таймаут получения сообщения Аргумент, определяющий временную задержку (в миллисекундах) перед получением сообщения. Если на указанный в свойстве «Настройки учетной записи» аккаунт раньше приходили сообщения, то таймаут игнорируется, а в переменные «UIN/JID», «Текст сообщения» будет подставлены значения, сохраненные в пуле сервера состояний системы.
Переход Компонент, на который передается управление, если работа компонента завершена удачно.
Переход, таймаут Компонент, на который передается управление, если работа компонента завершена по таймауту.
Переход, неудача Компонент, на который передается управление, если при веб-сервер вернул ошибку или задан не верно.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i15.png
(Удалено) Определить группу клиента

ВНИМАНИЕ: Компонент перенесен в "Статус объекта", начиная с версии 2.11.3.150320.

Осуществляет проверку на принадлежность контакта (определившегося номера телефона, почтового адреса и любого другого переданного аргумента) указанной группе клиентов. Позволяет разделить обработку в сценарии звонков VIP клиентов, клиентов из черного списка, личных контактов и пр.


Свойства:

Контакт Аргумент, содержащий произвольную контактную информацию.
Группа Аргумент, содержащий имя группы клиентов.
Переход, принадлежит Компонент, на который передается управление, если соответствующий контакту клиент найден, указанная группа существует, и клиент принадлежит группе.
Переход, не принадлежит Компонент, на который передается управление, если не найден соответствующий контакту клиент, не существует группа, или клиент не принадлежит группе.
Имя Название компонента для отображения в визуальной среде и выбора в списке.