lead.assignDialogToNextOperator()
Назначить диалог на следующего оператора
lead.assignDialogToNextOperator(string|null $departmentCode = null, bool $isOnline = true, bool $isForwardIfOperatorNotFound = true, bool $useLocks = true)
Описание:
Назначает диалог на следующего оператора полученного с помощью getNextOperators.
Варианты откуда может запускаться:
- оператор сам подключился к КЦ и в системном скрипте есть вызов данной функции - игнорируем ее вызов;
- функцию вызвали в другом скрипте и она также есть в системном скрипте - игнорируем ее вызов только из системного скрипта;
- функцию вызвали в системном скрипте - не игнорируем ее вызов.
Если вызываем функцию из системного скрипта перевода на оператора, то данная функция не выполняет перевод (так как он уже выполнен на момент запуска функции) и также не запускает системный скрипт (так как он уже запущен на момент запуска функции) - для этого есть внутренние механизмы отслеживания, откуда запущена функция, и по сути это исключает рекурсивный запуск функций, для этого и введена новая функция bot / lead.canAutoForward на самом деле выполнять данную проверку canAutoForward смысла нет, так как она выполняется автоматически внутри функций назначения оператора и автоматом отсечет рекурсивный вызов, но где может понадобиться использование canAutoForward - это для написания JavaScript условия - нужно ли отсылать уведомление лиду, о том что скрипт перевод на оператора: пример вызываем назначение на оператора в обычном скрипте, и в этом же скрипте уведомляем о то, что мы перевели на оператора, тогда при запуске системного скрипта Перевод на оператора вывод такого же сообщения нужно исключить.
Атрибуты:
Имя | Тип | Описание |
departmentCode | string | Код отдела |
isOnline | bool | Должны ли операторы быть онлайн |
isForwardIfOperatorNotFound | bool | Продолжить если оператор не найден |
useLocks | bool | Использовать ли блокировки |
Возвращает:
int - оператора
или
null - если не удалось назначить.
Нет комментариев