Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Authorization: Bearer Token

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

Блок кода
languagejson
titlecURL (пример)
curl --location 'https://cis.twin24.ai

...

/api/v1/telephony/autoCall

...

--header 'accept: application/json' \

...

?page=0&limit=1000&keyword=&status=BLANK%2CREADY%2CPROCESS%2CPAUSED&from=2025-06-01T00%3A00%3A00.000Z&to=2025-06-30T00%3A00%3A00.000Z&sort=-status' \
--header 'Authorization: Bearer TOKEN'

Описание параметров метода:

ПараметрПринимаемые значенияОписание
offset Целое число от 0

«Отступ» от начала записей. То есть с какой записи начинать вывод.

Смещение по позиции полученной информации.
Например, в заданное временное окно было 4 050 звонков. Сделав запрос, вы получили доступный максимум в виде 1 000 записей. Тогда вам нужно повторить запрос, с указанием последней полученной позиции. После получения 1 000 записей, «1 000» и есть наша последняя позиция. Получив еще раз максимальное количество, повторяем запрос, указав смещение уже на 2 000 позиций. 
Делаем смещение до тех пор, пока количество возвращенных данных не будет меньше запрошенного лимита.

Примечание

Для "перебора" информации при запросах нужно использовать ЛИБО offset, ЛИБО page, но не использовать эти параметры одновременно. 

page 

Целое число от 0

Номер «страницы» с записями. 
Например, если у вас есть 4 050 звонков и лимит вывода на одной странице составляет 1 000 записей, то на первой странице будут записи с номерами с 0 по 1000, на второй — с 1 001 по 2000 и так далее.

Примечание

Для "перебора" информации при запросах нужно использовать ЛИБО offset, ЛИБО page, но не использовать эти параметры одновременно. 

limit 

Целое число от 1 до 1 000

Количество записей на одной странице. Максимум 1000 объектов. 

from 

url encoded дата в формате - ГГГГ-ММ-ДДTчч:мм:сс+чч:мм 

Например:

Начало периода в формате decoded: 2023-06-13T00:00:00+00:00 
В encoded будет выглядеть: 2023-06-13T00%3A00%3A00%2B00%3A00

Дата и время, от которой требуется провести поиск статистики в формате encoded.. url-encoded дата в формате - ГГГГ-ММ-ДДTчч:мм:сс+чч:мм 

to 

url encoded дата в формате - ГГГГ-ММ-ДДTчч:мм:сс+чч:мм 

Например:

Начало периода в формате decoded: 2023-06-13T00:00:00+00:00 
В encoded будет выглядеть: 2023-06-13T00%3A00%3A00%2B00%3A00

В запросе требуется использовать дату и время в формате encoded.

Дата и время, до которой требуется провести поиск статистики в формате encoded.. url-encoded дата в формате - ГГГГ-ММ-ДДTчч:мм:сс+чч:мм 

status

Строка со списком статусов через запятую БЕЗ пробелов

status

(Перечень статусов указан ниже)

Параметр, отвечающий за то, задания в каких статусах обработки будут отображены в ответеФильтр по статусам заданий. Статусы указываются через запятую БЕЗ пробела

Пример запроса с заполненными параметрами:

...

sort

name, cps, createdAt, updatedAt, status

Для сортировки результатов запроса доступны следующие поля:

  • name — название задания на обзвон;
  • cps — параметр CPS (calls per second);
  • createdAt — дата и время создания задания на обзвон;
  • updatedAt — дата и время последнего изменения в задании на обзвон;
  • status — текущий статус задания

Для указания желаемого порядка сортировки используются специальные префиксы:

«+» — для сортировки по возрастанию (по умолчанию);
«-» — для сортировки по убыванию.
Например, чтобы отсортировать задания в порядке убывания даты создания задания, нужно указать: -createdAt.

keyword

Строка с фразой для поиска

Фильтр по названию задания на обзвон
statusОписание
BLANKЗадание создано, но кандидаты на обзвон в него не загружались. Задание пустое. Звонить некому.
READYСоздано, кандидаты загружены. Готово к обзону.
PROCESSПрямо сейчас находится в процессе обзвона.
PAUSED Задание находится на паузе. Было остановлено.
DONE Обработка задания полностью завершена.
PAUSED_NO_MONEY Задание было остановлено из-за отрицательного баланса.
TIMEOUT 

Аварийная остановка задания (техническая ошибка)

PAUSED_NOBODY 

Приостановлено некому звонить в данный момент, например тайм зоны недоступны или не прошло время для повторной попытки.

ERROR_PREPARING 

Ошибка подготовки. (техническая ошибка)

DELETING Задание находится в очереди на удаление, ждет отработки процедуры.
PAUSED_SCHEDULE 

приостановлено по расписанию

HALTED 

Задание остановлено навсегда. Попыток и звонков больше предприниматься не будет.

PAUSED_NO_CID 

Приостановлено, не выбран callerId.

NO_NEXT_CALL 

Не удалось расчитать время следующего звонка (фактически аварийное завершение, техническая ошибка)

Блок кода
languagejson
titleОтвет в формате JSON
{
    "count": 4,
    "items": [
        {
            "id": "bce7d22e-dde6-4427-b391-ebbdfda44de6",
            "name": "Тестовое задание на обзвон",
            "defaultExec": "robot",
            "defaultExecData": "bce7d22e-dde6-4427-b391-ebbdfda44de6",
            "secondExec": "end",
            "secondExecData": null,
            "cidType": "gornum",
            "cidData": "bce7d22e-dde6-4427-b391-ebbdfda44de6",
            "cps": "1",
            "taskComment": "",
            "startType": "manual",
            "startMoment": "",
            "phoneNormalization": null,
            "normalizationErrorAction": null,
            "callStrategy": "STEP_2_STEP",
            "checkPhone": true,
            "externalId": 123456,
            "syncFail": false,
            "syncError": null,
            "status": "PROCESS",
            "createdAt": "2025-06-03T05:34:42.000000Z",
            "updatedAt": "2025-06-03T05:34:44.000000Z",
            "emergencyStopped": false,
            "externalEmergencyStopId": null,
            "sendReportAfterFinish": false,
            "additionalOptions": {
                "fullListMethod": "external",
                "fullListTime": 0,
                "useTr": false,
                "allowCallTimeFrom": 35976,
                "allowCallTimeTo": 75636,
                "recordCall": true,
                "recTrimLeft": 0,
                "detectRobot": false,
                "detectRobotMode": null,
                "detectRobotGreeting": null,
                "providerId": null,
                "fz230": false
            },
            "redialStrategyOptions": {
                "redialStrategyEn": false,
                "busy": null,
                "noAnswer": null,
                "answerMash": null,
                "congestion": null,
                "answerNoList": null,
                "candidateLimit": null,
                "numberLimit": null
            },
            "webhookUrls": [],
            "isPending": false,
            "addCandidateBlockedReason": [],
            "pauseReason": null,
            "scheduleId": null
        }
    ]
}

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

Поле

Тип

Описание

count
stringОбщее количество найденных заданий на обзвон
items
Array[Object]Массив найденных заданий на обзвон
|    idstringИдентификатор задания на обзвон
|    namestringИмя обзвона
|    defaultExecstring

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

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

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

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

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

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

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

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

|    cidTypestring

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

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

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

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

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

|    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Комментарий к заданию
|    startTypestring

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

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

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

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

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

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

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

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

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

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

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

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

|    |    fullListTimeintЧерез сколько секунд считать звонок результативным
|    |    useTrbooleanУчитывать ли время получателя
|    |    allowCallTimeFromintНачало интервала доступного для дозвона. Задается в секундах
|    |    allowCallTimeTointКонец интервала доступного для дозвона. Задается в секундах
|    |    recordCallbooleanЗаписывать ли звонки 
|    |    recTrimLeftintНа сколько обрезать начало записи. Задается в секундах
|    |    detectRobotbooleanВключать ли систему определения человек/робот 
|    |    detectRobotModestring

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

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

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

uuid транка. 

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

|    redialStrategyOptionsObjectНастройки правил перезвона
|    |    redialStrategyEnbooleanИспользовать ли правила перезвона
|    |    candidateLimitObjectМаксимальное количество вызовов кандидату
|    |    numberLimitObjectМаксимальное количество вызовов по номеру
|    |    |    redialbooleanАктивировать ли лимит по максимальному количеству вызовов
|    |    |    countintМаксимальное количество вызовов
|    |    busyObjectЗанято
|    |    noAnswerObjectНет ответа
|    |    answerMashObjectОтветил автоответчик
|    |    congestionObjectОшибка вызова 
|    |    answerNoListObjectВызов нерезультативен
|    |    |    redialbooleanАктивировать ли сценарий перезвона
|    |    |    timeintПромежуток перезвона. Задается в секундах
|    |    |    countintКоличество перезвонов