Перейти к основному контенту

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 - если не удалось назначить.