Функция для определения рабочего времени
В данном примере вы создадите входящий сценарий, который компания А использует, для обработки звонков клиентов в рабочее и не рабочее время.
Компания А предоставляет услуги технической поддержки клиентов международной мобильной сети. Операторы компании работают по будням с 09:00 до 21:00, а в выходные дни с 10:00 до 19:00. Абоненты могут обратиться в любое время вне зависимости от рабочих часов, и компании важно не потерять их доверие.
В сценарий звонка необходимо добавить функцию, которая будет получать текущую дату и время звонка, сверять это с рабочими часами и записывать результат в переменную. В зависимости от результата звонок перейдет в очередь на операторов (рабочее время) или уйдет в блок Текст в голос (нерабочее время), где робот сообщит клиенту, что оператор перезвонит ему позднее.
- Перейдите в раздел Управление > Функции > Управление.
- Нажмите кнопку Новая функция.

- Скопируйте следующий код и вставьте его в функцию на вкладке Код.

- Нажмите Создать.
- Перейдите в раздел Управление > Автоматизация > Входящие сценарии и нажмите кнопку Новый сценарий.
- Подключите блок Вызов функции. В настройках блока выберите созданную функцию.

- К блоку Вызов функции подключите блок Проверка данных. В блоке будет проверяться переменная, которую возвращает функция.
- Добавьте переменную is_working, задайте условия и соответствующие значения для порта 1 (если рабочее время) и порта 2 (если нерабочее время).

- Подключите блок Звонок в очередь к порту 1, чтобы в рабочие часы звонки уходили на операторов, а блок Текст в голос к порту 2, чтобы в нерабочее время робот сообщал клиенту, что оператор свяжется с ним позднее.

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