JAICP

$dialer.getAbonentTimezone


Метод возвращает часовой пояс текущего клиента.

Метод не предназначен для использования в сценариях ботов для входящих звонков и корректно работает только для обзвонов.


Синтаксис

Метод вызывается без аргументов и возвращает строку, содержащую часовой пояс клиента в формате ±hh:mm:

$dialer.getAbonentTimezone(); // => Например: "+06:00"

Особенности

Поведение метода зависит от настроек обзвона и способа добавления номера в обзвон:

  • Для обзвона активен параметр Учитывать местное время:

    • Если номер добавлен в обзвон через список номеров, содержащий столбец GMT_ZONE, метод возвращает часовой пояс, соответствующий указанному в списке номеров.
    • Если номер добавлен в обзвон через Calls API и в запросе передано поле gmtZone, метод возвращает часовой пояс, соответствующий переданному в запросе.
    • В противном случае метод возвращает часовой пояс, автоматически определенный по номеру телефона клиента.
  • Если параметр Учитывать местное время неактивен, метод возвращает серверное время платформы JAICP.


Использование в сценарии

Данный метод в связке с $dialer.redial позволяет запланировать из сценария новую серию попыток дозвониться с учетом часового пояса клиента.

Рассмотрим следующий пример стейта для обработки просьбы перезвонить позже. Для извлечения времени повторного звонка используется сущность @duckling.time.

state: CallBack
    q!: * перезвони* * @duckling.time *
    script:
        var datetime = $parseTree["_duckling.time"].value;
        var timezone = $dialer.getAbonentTimezone();

        $dialer.redial({
            startDateTime: new Date(datetime + timezone),
            // ...
        });
    a: Хорошо, перезвоню вам позже!

Альтернативное решение может опираться на методы сервиса $reactions для установки и получения часового пояса. Однако при такой реализации часовой пояс должен быть явно запрошен у клиента.