JAICP

$dialer.getDialHistory


Метод позволяет получить историю состоявшихся и доступных попыток дозвониться на номер.


Синтаксис

Метод вызывается без аргументов и возвращает объект из четырех целочисленных полей.

$dialer.getDialHistory(); // => {
//   "completedAttempts" : 0,
//   "availableAttempts" : 3,
//   "completedAttemptsToPhone" : 3,
//   "availableAttemptsToPhone" : 6
// }

История текущей серии попыток

Если при обзвоне абонент не отвечает, бот может сделать несколько попыток дозвониться до абонента. Последовательность попыток дозвониться образует серию.
Если в ходе диалога с абонентом бот планирует новый звонок при помощи метода $dialer.redial, серия попыток сбрасывается — новые попытки происходят уже в рамках новой серии.

Поля completedAttempts и availableAttempts отражают историю текущей серии попыток:

  • completedAttempts — число попыток дозвониться, сделанных в рамках текущей серии.
    • После очередной попытки дозвониться значение поля увеличивается на единицу. Если из сценария планируется новая серия попыток, значение поля обнуляется.
  • availableAttempts — число попыток дозвониться, доступных в текущей серии.
    • Если номер добавлен в обзвон при помощи списка номеров, то значение поля соответствует значению счетчика Начальное количество, заданному при создании обзвона.
    • Если номер добавлен в обзвон при помощи запроса к Calls API с явно переданным значением поля maxAttempts, то значение availableAttempts совпадает с maxAttempts.
    • Если из сценария бота запланирована новая серия и при вызове $dialer.redial явно передано поле maxAttempts, то значение availableAttempts также совпадает с maxAttempts.

История всех попыток

Поля с суффиксом ToPhone отражают историю всех попыток дозвониться на номер:

  • completedAttemptsToPhone — суммарное число всех сделанных попыток дозвониться на номер.
    • После очередной попытки дозвониться значение поля увеличивается на единицу. Значение этого поля не обнуляется.
  • availableAttemptsToPhone — предельно допустимое число доступных попыток дозвониться на номер.
    • Значение поля соответствует значению счетчика Максимальное количество, заданному при создании обзвона.

Пример

Из интерфейса JAICP создан новый обзвон, для которого настроены следующие значения счетчиков попыток: Начальное количество — 4, Максимальное количество — 8.

Список номеров для обзвона содержит один номер 79110000000. Рассмотрим возможную историю попыток дозвониться на номер:

  1. Первая серия, первая попытка — абонент не ответил на звонок.
  2. Первая серия, вторая попытка — абонент не ответил на звонок.
  3. Первая серия, третья попытка — абонент ответил. Результат вызова $dialer.getDialHistory:
{
  "completedAttempts": 2,        // В текущей серии совершены 2 попытки
  "availableAttempts": 4,        // В текущей серии доступны 4 попытки (через настройки обзвона)
  "completedAttemptsToPhone": 2, // Всего на номер совершены 2 попытки
  "availableAttemptsToPhone": 8  // По всем сериям может быть совершено не более 8 попыток
}
  1. Абонент попросил перезвонить позже. В метод $dialer.redial передано поле maxAttempts: 3.
  2. Вторая серия, первая попытка — абонент не ответил на звонок.
  3. Вторая серия, вторая попытка — абонент ответил. Результат вызова $dialer.getDialHistory:
{
  "completedAttempts": 1,        // В текущей серии совершена 1 попытка
  "availableAttempts": 3,        // В текущей серии доступны 3 попытки (через поле maxAttempts)
  "completedAttemptsToPhone": 4, // Всего на номер совершены 4 попытки: 3 в первой серии, 1 во второй
  "availableAttemptsToPhone": 8  // По всем сериям может быть совершено не более 8 попыток
}

Метод может быть использован для реализации продвинутой логики перепланирования звонков с учетом информации о том, сколько звонков уже было совершено и сколько еще осталось.