Создание задания

Метод: POST

Authorization: Bearer Token

URL: https://cis.twin24.ai/api/v1/telephony/autoCall

cURL
curl --location 'https://cis.twin24.ai/api/v1/telephony/autoCall' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer ТОКЕН' \
--data '{
    "name": "test_autocall",
    "defaultExec": "robot",
    "defaultExecData": "228cc4fa-92f2-4709-94e3-7344a96a5903",
    "secondExec": "ch",
    "secondExecData": "48a77bd7-8762-4e0f-a277-4ef77e36c41b",
    "cidType": "gornum",
    "cidData": "9a67dee5-398e-4570-9426-fbb3f067b270",
    "startType": "time",
    "startMoment": "2023-06-02 10:00",
    "cps": 1.03,
    "taskComment": "Тестовое задание для демонстрации работы API",
    "webhookUrls": [
        "https://webhook.site/6f44...2aa287f",
        "https://typedwebhook.tools/webhook/4c6d9...8720ab39"
    ],
    "additionalOptions": {
        "fullListMethod": "reject",
        "fullListTime": 0,
        "useTr": false,
        "allowCallTimeFrom": 0,
        "allowCallTimeTo": 86399,
        "recordCall": true,
        "recTrimLeft": 0,
        "detectRobot": true,
        "detectRobotMode": "back",
        "providerId": null
    },
    "redialStrategyOptions": {
        "redialStrategyEn": false,
        "candidateLimit": {
            "redial": false,
            "count": 0
        },
        "numberLimit": {
            "redial": false,
            "count": 0
        },
        "busy": {
            "redial": false,
            "time": 1,
            "count": 1
        },
        "noAnswer": {
            "redial": false,
            "time": 1,
            "count": 1
        },
        "answerMash": {
            "redial": false,
            "time": 1,
            "count": 1
        },
        "congestion": {
            "redial": false,
            "time": 1,
            "count": 1
        },
        "answerNoList": {
            "redial": false,
            "time": 1,
            "count": 1
        }
    }
}'
Тело запроса в формате JSON
{
    "name": "test_autocall",
    "defaultExec": "robot",
    "defaultExecData": "228cc4fa-92f2-4709-94e3-7344a96a5903",
    "secondExec": "ch",
    "secondExecData": "48a77bd7-8762-4e0f-a277-4ef77e36c41b",
    "cidType": "gornum",
    "cidData": "9a67dee5-398e-4570-9426-fbb3f067b270",
    "startType": "time",
    "startMoment": "2023-06-02 10:00",
    "cps": 1.03,
    "taskComment": "Тестовое задание для демонстрации работы API",
    "webhookUrls": [
        "https://webhook.site/6f44...2aa287f",
        "https://typedwebhook.tools/webhook/4c6d9...8720ab39"
    ],
    "additionalOptions": {
        "fullListMethod": "reject",
        "fullListTime": 0,
        "useTr": false,
        "allowCallTimeFrom": 0,
        "allowCallTimeTo": 86399,
        "recordCall": true,
        "recTrimLeft": 0,
        "detectRobot": true,
        "detectRobotMode": "back",
        "providerId": null
    },
    "redialStrategyOptions": {
        "redialStrategyEn": false,
        "candidateLimit": {
            "redial": false,
            "count": 0
        },
        "numberLimit": {
            "redial": false,
            "count": 0
        },
        "busy": {
            "redial": false,
            "time": 1,
            "count": 1
        },
        "noAnswer": {
            "redial": false,
            "time": 1,
            "count": 1
        },
        "answerMash": {
            "redial": false,
            "time": 1,
            "count": 1
        },
        "congestion": {
            "redial": false,
            "time": 1,
            "count": 1
        },
        "answerNoList": {
            "redial": false,
            "time": 1,
            "count": 1
        }
    }
}

Описание полей метода:

Поле

Тип

Обязательно

Описание

namestringдаИмя обзвона
defaultExecstringда

Тип звонящего.

Всегда принимает значение robot

defaultExecDatastringдаuuid сценария, который будет использоваться в обзвоне ботом
secondExecstringда

Действие, если робот запросил переадресацию.

Принимает значения:

  • end (Завершить)
  • ignore (Ничего не делать)
  • ch (Передать вызов на канал)
secondExecDatastring

да, если

secondExec = ch

uuid канала для перевода.

Параметр нужен, если предыдущий параметр в значении ch

cidTypestringда

Определяемый номер.

Принимает значения:

  • default (По умолчанию для транка)
  • gornum (Один номер)
  • pool (Группа номеров)
cidDatastring

да, если

cidType = gornum или pool

id сущности, выбранной в cidType. 

Актуально для gornum и pool

startTypestringда

Режим запуска задания.

Принимает значения:

  • manual (Вручную)
  • time (В указанное время)
startMomentstring

да, если

startType = time 

Дата и время начала обзвона. 

Принимает значения:

ГГГГ-ММ-ДД  чч:мм

*Используется часовой пояс компании

cpsfloatда

Интенсивность обзвона.
Может обозначаться как N звонков в секунду или как 1 звонок в N секунд.

Для N звонков в 1 секунду вычисляется как 1+N/100, где N – желаемое число наборов номера в секунду (CPS).

Например:

Желаемое CPS = 3, тогда значение поля 1.03 (при N=3 вычисляется 1+3/100=1.03)
———————————

Для 1 звонка в N секунд вычисляется как
1-N/100, где N - 1 звонок в N секунд.

Например:

Желаемая интенсивность 1 звонок в 60 секунд, тогда значение поля 0.4 (при N=60 вычисляется 1-60/100=0.4)

taskCommentstringнетКомментарий к заданию
webhookUrlsArray[string]нетURL адреса, на которые будет отправлен webhook
additionalOptionsObjectдаДополнительные параметры вызовов
|    fullListMethodstringда

Считать ли звонок результативным.

Всегда принимает значение reject

|    fullListTimeintдаЧерез сколько секунд считать звонок результативным
|    useTrbooleanнетУчитывать ли время получателя
|    allowCallTimeFromint

да, если

useTr = true

Начало интервала доступного для дозвона. Задается в секундах
|    allowCallTimeToint

да, если

useTr = true

Конец интервала доступного для дозвона. Задается в секундах
|    recordCallbooleanдаЗаписывать ли звонки 
|    recTrimLeftint

да, если

recordCall = true

На сколько обрезать начало записи. Задается в секундах
|    detectRobotbooleanнетВключать ли систему определения человек/робот 
|    detectRobotModestring

да, если

detectRobot = true

Режим системы определителя. 

Принимает значения:

  • back (Фоновая)
  • block (С блокировкой)
|    providerIdstring

нет

uuid транка. 

Актуально только при использовании собственного транка. 

phoneNormalizationstringнетОпределяет, активирован ли процесс нормализации. Если null, отключено, если RU — нормализация в российский формат. Подробнее о нормализации читайте ниже.
normalizationErrorActionstringнетУказывает действие при возникновении ошибки нормализации. Для этого параметра необходимо активировать нормализацию. Доступны следующие варианты:
  • IGNORE_NORMALIZATION_ERROR — пропустить номер, вызвавший ошибку.

  • SET_NORMALIZATION_ERROR_FLAGдобавить номер, отметив его как невозможный к нормализации.

Подробнее о нормализации читайте ниже.

redialStrategyOptionsObjectдаНастройки правил перезвона
|    redialStrategyEnbooleanдаИспользовать ли правила перезвона
|    candidateLimitObjectнетМаксимальное количество вызовов кандидату
|    numberLimitObjectнетМаксимальное количество вызовов по номеру
|    |    redialbooleanдаАктивировать ли лимит по максимальному количеству вызовов
|    |    countint

да, если

redial = true

Максимальное количество вызовов
|    busyObjectдаЗанято
|    noAnswerObjectдаНет ответа
|    answerMashObjectдаОтветил автоответчик
|    congestionObjectдаОшибка вызова 
|    answerNoListObjectдаВызов нерезультативен
|    |    redialbooleanдаАктивировать ли сценарий перезвона
|    |    timeint

да, если

redial = true

Промежуток перезвона. Задается в секундах
|    |    countint

да, если

redial = true

Количество перезвонов 

 

Ответ в формате JSON
{
    "id": {
        "identity": "bf1fee...70dc544"
    }
}


Описание полей ответа:

Поле

Тип

Обязательно

Описание

id

Object

Да

-

 identity

 string

 Да

Идентификатор задания на обзвон

 

Нормализация

Настройка нормализации

Нормализация номеров телефонов предназначена для облегчения добавления кандидатов в задание.

Доступно только для российских номеров. Если ваша компания базируется в другой стране, настройка нормализации не будет отображаться в интерфейсе.

Цель нормализации

Нормализация номеров телефонов необходима для приведения разнообразных форматов, предоставленных пользователем, к единому виду. Например, мы ожидаем получить российские номера в формате 7ХХХХХХХХХХ. Однако пользователь может передать номер в различных вариантах, таких как +7ХХХХХХХХХХ (в этом случае мы уберем плюс), 8ХХХХХХХХХХ (заменим 8 на 7) или без кода страны ХХХХХХХХХХ (добавим 7).

Реакция на ошибки

Если нормализация номера невозможна, например, когда передается нечто, не являющееся телефонным номером, мы либо помечаем этот номер (устанавливаем флаг phoneNormalizationStatus:ERROR), и все равно пытаемся создать кандидата с этим номером, либо пропускаем его (т.е. пытаемся создать кандидата без номера, на котором возникла ошибка) в зависимости от выбранного действия при нормализации.

В случае ошибки Не найдены номера телефонов для обзвона. Кандидат пропущен часто причиной является передача некорректных данных в качестве телефонного номера. Если необходимо, эту защиту можно отключить в настройках задания Включить проверку номеров, разрешив добавление любых номеров, за исключением пустых.

  • Нет меток