POST: https://twin24.ai/cis/api/v1/telephony/autoCall
Этот метод позволяет создать новое задание на автоматический обзвон. После успешного выполнения запроса будет возвращен идентификатор созданного задания.
Время запуска задания зависит от параметра
startType.
curl --location 'https://twin24.ai/cis/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
}
}
}
{
"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
}
}
}
| Название | Тип | Обязательное | Описание |
|---|---|---|---|
name |
string | Да | Название задания. |
defaultExec |
string | Да | Всегда принимает значение robot. |
defaultExecData |
string | Да | ID сценария бота для использования в обзвоне. |
secondExec |
string | Да | Действие при переадресации: (end (Завершить), ignore (Ничего не делать), ch (Передать вызов на канал)). |
secondExecData |
string | Да, если secondExec = ch |
ID канала для перевода. |
cidType |
string | Да | Определяемый номер: (default (По умолчанию для транка), gornum (Один номер), pool (Группа номеров)). |
cidData |
string | Да, если cidType = gornum или pool |
ID сущности в cidType. |
startType |
string | Да | Режим запуска: (manual (Вручную), time (В указанное время)). |
startMoment |
string | Да, если startType = time |
Дата и время начала обзвона (ГГГГ-ММ-ДД ЧЧ:ММ). |
cps |
float | Да | Интенсивность обзвона. Рассчитывается как 1 + N / 100 для N звонков в секунду (пример: N = 3, тогда CPS = 1.03), или как 1 - N / 100 для 1 звонка в N секунд (пример: N = 60, тогда CPS = 0.4). |
taskComment |
string | Нет | Комментарий к заданию. |
webhookUrls |
Array[string] | Нет | URL адреса, на которые будет отправлен webhook. |
lifetime |
integer | Нет | Срок действия задания в секундах. По истечении этого времени задание переводится в статус HALTED. Если поле не заполнено, задание может выполняться бессрочно. |
additionalOptions |
Object | Да | Дополнительные параметры вызовов. |
→ fullListMethod |
string | Да | Считать ли звонок результативным. Всегда принимает значение reject. |
→ fullListTime |
int | Да | Через сколько секунд считать звонок результативным. |
→ useTr |
boolean | Нет | Учитывать ли время получателя вызова |
→ allowCallTimeFrom |
int | Да, если useTr = true |
Начало интервала доступного для дозвона. Задается в секундах. |
→ allowCallTimeTo |
int | Да, если useTr = true |
Конец интервала доступного для дозвона. Задается в секундах. |
→ recordCall |
boolean | Да | Записывать ли звонки |
→ recTrimLeft |
int | Да, если recordCall = true |
На сколько обрезать начало записи. Задается в секундах. |
→ detectRobot |
boolean | Нет | Включать ли систему определения человек/робот |
→ detectRobotMode |
string | Да, если detectRobot = true |
Режим системы определения человек/робот: (back (Фоновая), block (С блокировкой)) |
→ providerId |
string | Нет | UUID транка. Актуально только при использовании собственного транка. |
phoneNormalization |
string | Нет | Определяет, активирована ли нормализация: (null (отключена), RU (нормализация в формат номеров РФ)). Подробная информация о нормализации представлена ниже. |
normalizationErrorAction |
string | Нет | Указывает действие при возникновении ошибки нормализации: (IGNORE_NORMALIZATION_ERROR (пропустить номер, вызвавший ошибку), SET_NORMALIZATION_ERROR_FLAG (добавить номер, отметив его как невозможный к нормализации)). Для этого параметра необходимо активировать нормализацию. Подробная информация о нормализации представлена ниже. |
redialStrategyOptions |
Object | Да | Настройки правил перезвона. |
→ redialStrategyEn |
boolean | Да | Использовать ли правила перезвона. |
→ candidateLimit |
Object | Нет | Максимальное количество вызовов кандидату. |
→ numberLimit |
Object | Нет | Максимальное количество вызовов по номеру. |
→ → redial |
boolean | Да | Активировать ли лимит по максимальному количеству вызовов. |
→ → count |
int | Да, если redial = true |
Максимальное количество вызовов. |
→ busy |
Object | Да | Правило перезвона при статусе Занято. |
→ noAnswer |
Object | Да | Правило перезвона при статусе Нет ответа. |
→ answerMash |
Object | Да | Правило перезвона при статусе Автоответчик. |
→ congestion |
Object | Да | Правило перезвона при статусе Ошибка вызова. |
→ answerNoList |
Object | Да | Правило перезвона если вызов нерезультативен. |
→ → redial |
boolean | Да | Активировать ли правило перезвона. |
→ → time |
int | Да, если redial = true |
Задержка перед перезвоном. Задается в секундах. |
→ → count |
int | Да, если redial = true |
Количество перезвонов. |
{
"id": {
"identity": "bce7d22e-dde6-4427-b391-ebbdfda44de6"
}
}
Описание полей ответа:
| Название | Тип | Обязательное | Описание |
|---|---|---|---|
id |
object | Да | Идентификатор задания. |
identity |
string | Да | Уникальный ID обзвона. |
{
"timestamp": 1544098870,
"type": "MyNamespace\\MyClass",
"error": "string",
"details": {}
}
Описание полей ответа:
| Название | Тип | Обязательное | Описание |
|---|---|---|---|
timestamp |
integer | Да | Текущее время. |
type |
string | Да | Класс исключения. |
error |
string | Да | Сообщение об ошибке. |
details |
object | null | Нет | Дополнительная информация об ошибке. |
{
"timestamp": 1544098870,
"type": "MyNamespace\\MyClass",
"error": "string",
"details": {}
}
Описание полей ответа:
| Название | Тип | Обязательное | Описание |
|---|---|---|---|
timestamp |
integer | Да | Текущее время. |
type |
string | Да | Класс исключения. |
error |
string | Да | Сообщение об ошибке. |
details |
object | null | Нет | Дополнительная информация об ошибке. |
Доступно только для российских номеров. Если ведется обзвон по номерам из других стран, включение нормализации может вызвать ошибки.
Нормализация номеров телефонов необходима для приведения разнообразных форматов, предоставленных пользователем, к единому виду. Задания на обзвон работают с номерами в формате 7ХХХХХХХХХХ. Нормализация позволяет привести номера кандидатов к этому формату: для +7ХХХХХХХХХХ будет убран плюс, для 8ХХХХХХХХХХ 8 будет заменена на 7, для номеров без кода страны в начале будет добавлена 7.