Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Описание

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

Table of Contents

Настройка кампании

Календарь

Прежде чем переходить к настройкам исходящей кампании, необходимо создать календарь, по которому будет работать данная кампания. Календарь создается в разделе Calendars web-клиента Webitel. В календаре указывается дата начала и завершения кампании, часовой пояс, время работы в зависимости от дня недели, а так же, праздничные дни:

Общие настройки

В разделе Dialer создаем новую кампанию с типом Progressive Dialer.

 

Info

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

 

Указав название кампании и выбрав предварительно созданный календарь, переходим к блоку с параметрами (Parameters).

#ParametersОписание
1LimitКоличество одновременных исходящих линий, которые будет использовать дайлер. Если вы указали 10 линий, то webitel будет следить, за тем, что бы чтобы количество одновременных звонков не превысило заданный лимит.
2Wait between retries (in seconds)Если автоинформатор не смог дозвониться абоненту по одному из его номеров, он возобновит повторную попытку через время (в секундах), не меньше заданного в данном поле.
3Maximum number of retryВ этом поле указывается количество, сколько раз дайлер будет пытаться дозвониться абоненту (с паузой, указанной в #2 этой таблицы), пока не прекратит попытки дозвона и установит конечный результат, как MAX_TRY_COUNT
4Minimum succeed call duration (in seconds)После того, как абонент ответил, дайлер ожидает время (в секундах) указанное в этом поле. Если абонент или оператор раньше завершат разговор, тогда дайлер посчитает такой звонок не успешным и возобновит попытки дозвона через время указанное в #2, но не превышая количества попыток указанных в #3. Если же абонент пребывает на линии больше этого времени, тогда, по завершению звонка, дайлер установит конечный результат, как NORMAL_CLEARING, и прекратит попытки дозвона.
5Wrap up timeЕсли включен параметр Waiting for result status, тогда успешным будет считаться только тот звонок, по завершению которого система получила подтверждение от оператора (из любого клиентского приложения по средствам посредством HTTP REST API) за указанное в данном параметре время (в секундах). В противном случае, будет учитываться длительность разговора из параметра Minimum succeed call duration (in seconds).
Info

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

Cause

На вкладке Cause указываются коды завершения вызова из списка и как дайлер должен обрабатывать эти коды.

  • Error - получив один из этих кодов, дайлер немедленно прекращает дозваниваться абоненту.
  • Retry - получив один из этих кодов, дайлер продолжает дозваниваться абоненту, в рамках заданного количества попыток.
  • OK - успешное завершение работы дайлера по данному абоненту.
  • Minus - коды из данного списка не влияют на количество попыток дозвона. Получая данный ответ, дайлер не прекращает дозвон и не увеличивает количество выполненных попыток.

Назначение операторов

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

  • Call timeout - Длительность звонка в секундах на оператора. Если за указанное время , оператор не ответит на звонок, система повторит попытку через время, указанное в поле No answer delay.
  • Wrap up time - Длительность статуса постобработки после успешного звонка. Дайлер не учитывает оператора в этом статусе для распределения, а ожидает, когда он опять будет "Готов"
  • Max no answer - Максимальное количество последовательных звонков без ответа оператора, после которых система принудительно выведет его в перерыв.
  • Busy delay - Пауза в секундах до следующего звонка, после того, как оператор вышел в статус DND на входящий вызов дайлера.
  • Reject delay - Пауза в секундах до следующего звонка, после того, как оператор отклонил входящий вызов дайлера.
  • No answer delay - Пауза в секундах после того, как оператор не ответил на звонок на протяжение всего вызова, который длился время указанное в поле Call timeout.


Операторы в блоке Tiers назначены на выполнение заданной кампании.

Загрузка абонентов

Абоненты могут быть добавлены в кампанию с помощью web-клиента Webitel, импортом из CSV файла, либо с использованием REST API интерфейса.

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

Info

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


Загрузка с помощью web-клиента

Просто нажимаете зеленую кнопку "Добавить" и вводите данные клиента для прозвона:

  • Name - Произвольное название абонента
  • Priority - Приоритет обработки этого абонента дайлером из списка всех абонентов.
  • Expire - Если абонент не был обработан до указанного времени и даты, то он автоматически исключается из дальнейшего прозвона с кодом завершения MEMBER_EXPIRED
  • Communications - Список номеров телефонов, по которым можно дозвониться этому абоненту. Обратите внимание, что в рамках одной кампании не могут быть одинакове номера у разных абонентов.
  • Variables - Индивидуальные переменные для данного абонента. Так же попадают в канал звонка и могут использоваться в JSON Scheme.
  • Run after adding members - Если включен этот параметр, то после добавления нового абонента, кампания автоматически запуститься в работу.

Загрузка с помощью CSV файла

Для загрузки списка абонентов из файла CSV, воспользуйтесь кнопкой "Загрузить".

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

Загрузка с помощью REST API

Список клиентов для прозвона передается с помощью JSON файла методом POST на сервер webitel.

Пример запроса:

POST /api/v2/dialer/571f2e2e6ea6478aba60581a/members?autoRun=true HTTP/1.1

Content-Type: application/json
X-Access-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0NDIwMDIxNzkzNTh9
X-Key: 8fd26a17-eb28-4c74-aa6f-a3794f4f466c

 

Code Block
languagejs
titleBody
{
	"name":"Мирный Евгений",
	"priority": 0,
	"timezone":"",
	"variables": {
		"debt": 20000,
		"language":"русский",
		"productID":"8fd26a17-eb28-4c74-aa6f-a3794f4f466c"
	},
    "communications":[
		{
			"number":"099998888",
			"priority":1
		}, {
			"number":"3434534534534",
			"priority":2
		}
	]
}

Body JSON

Переменная
Тип
Описание
namestringПроизвольное название абонента
priorityintПриоритет обзвона (любой целое число). По умолчанию, 0.
timezonestring

Часовая зона абонента. Если не задано, берется значение из настроек кампании.

http://api.webitel.com/en/latest/tz-table.html - значение из колонки fs_timezone

communications

array

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

Code Block
"communications": [
	{
		number: "+380890000000", 
		priority: 2
	},{
		number: "0910000000", 
		priority: 1
	}
]
variablesobject

JSON объект с переменными и их значениями, которые dialer будет передавать в канал звонка.
Здесь могут быть заданы любые переменные из требуемого в проекте списка, как:

  • Идентификатор контакта
  • Идентификатор кредитной заявки
  • Продукт
  • Статус клиента
  • Язык общения

Пример наполнения:

Code Block
"variables": {
	"language": "ru",
	"productID": "8fd26a17-eb28-4c74-aa6f-a3794f4f466c"
}

Запуск и остановка кампании

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

Изменение статуса абонента через REST API

Если включен параметр Waiting for result status и система произвела соединение оператора с абонентом, по завершению звонка оператор может отправить в Webitel результат данного звонка. По умолчанию, если не поступил запрос от оператора, системы считает звонок не успешным и продолжает попытки дозвона через время заданное в параметре Wrap up time.

Пример запроса:

PUT /api/v2/dialer/571f2e2e6ea6478aba60581a/members/431a2e3e6eb6453afa61583e/status HTTP/1.1

Content-Type: application/json
X-Access-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0NDIwMDIxNzkzNTh9
X-Key: 8fd26a17-eb28-4c74-aa6f-a3794f4f466c
Code Block
languagejs
titleBody
{
	"success": false,
	"reset_retries": false,
	"next_after_sec": 3600,
	"next_communication": "380910000000",
	"stop_communications": ["380920000000", "380930000000"]
	"comment": "Перезвонить через час на другой номер"
}

 

Body JSON

Переменная
Тип
Описание
success
boolean
  • true - Успешный звонок. Прекращаем дозваниваться абоненту по всем остальным номерам.
  • false - Не успешный звонок. Продолжить попытки дозвона.
reset_retries
booleantrue - полностью очистить все попытки по все средствам связи абонента и начать с начала.
next_after_sec
integerЕсли указано, время в секундах через сколько осуществить следующую попытку дозвона абоненту. Если время не указано, учитывается значение из настроек дайлера.
next_communication
stringНа какой номер осуществить следующую попытку. Если номер не указан, будет выбран номер в порядке приоритета. Если указан новый номер, он будет добавлен с повышеным приоритетом.
stop_communications
array

Массив с номерами, на которые больше не делать попытки дозвона. Либо, можно указать all (как строка), тогда будет прекращен дозвон на все номера, кроме указанного в поле next_communication

"stop_communications": "all"
comment
stringПроизвольный комментарий к действию

Статусы операторов и распределение звонка

Для того, что бы дайлер начал распределять звонок на оператора, должны быть выполнены несколько условий:

  1. У оператора должен быть зарегистрирован SIP или WebRTC телефон (ONHOOK):
  2. Если использует bpm'online или другую систему с подключением через WebSocket, должны быть "зелеными" online и CC
  3. Если не используется подключение с помощью WebSocket протокола, тогда вход осуществляется с помощью служебного номера, который должен установить:
    "status": "Available",
    "state":  "Waiting"
  4. Просмотреть текущий статус оператора (кроме его регистрации) вы можете в одном из виджетов kibana или открыв карточку изменения статуса оператора: