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

$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 для установки и получения часового пояса. Однако при такой реализации часовой пояс должен быть явно запрошен у клиента.