Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 18 Следующий »

Метод: GET

Authorization: Bearer Token (Метод для получения токена по логину и паролю)

URL: https://tcl.twin24.ai/api/analyse/v1/search/cis/sessions

cURL (пример)
curl --location 'https://tcl.twin24.ai/api/analyse/v1/search/cis/sessions?fields=taskName%2Cid%2Camd%2CtaskId%2Cnumber%2CbotName%2CvariablesString%2CresultsString%2CdialogResult%2CvariablesString&limit=100&from=2024-01-01T00%3A00%3A00%2B00%3A00&to=2024-02-01T00%3A00%3A00%2B00%3A00&offset=0&page=1&companyId=0001&callingNumber=70000000000&isIncoming=false&status=ANSWERED' \
--header 'accept: application/json' \
--header 'Authorization: Bearer TOKEN'

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

Поле

Принимаемые значения

Описание

fields 

Конечно, вот выделенные поля:

- `id`
- `taskName`
- `taskId`
- `createdAt`
- `startedAt`
- `finishedAt`
- `billedAt`
- `updatedAt`
- `speakerFinishedAt`
- `number`
- `callingNumber`
- `botId`
- `botName`
- `timezone`
- `messagesAsString`
- `resultsString`
- `variablesString`
- `clientExternalId`
- `dialogResult`
- `advStatus_ru`
- `nps`
- `duration`
- `externalId`
- `recordPath`
- `currentStatusName`
- `mainCallDiscount`
- `mainCallDuration`
- `robotCallDuration`
- `transferCallDuration`
- `companyId`
- `companyName`
- `price`
- `resellerPrice`
- `resellerCompanyId`
- `resellerCompanyName`
- `mainCallCost`
- `mainCallTotalCost`
- `robotCallCost`
- `robotCallTotalCost`
- `transferCallCost`
- `transferCallTotalCost`
- `isIncoming`
- `amd`
- `autoCallCandidateId`

Параметр, отвечающий поля будут отображены в ответе. Поля указываются через запятую. 

limit Целое число от 1 до 1000Количество записей на одной странице. Максимум 1000. 
offset Целое число от 0

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

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

page 

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

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

from 

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

Например:

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

 

Дата и время "от" которой требуется провести поиск статистики в формате encoded.

to 

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

Например:

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

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

 

Дата и время "до" которой требуется провести поиск статистики в формате encoded.

companyId целое число

Идентификатор компании в TWIN.

*Используется для фильтрации. Сессии не отвечающие заданному параметру не будут добавлены в ответ. 

phone целое число

Номер телефона на который идет звонок.

*Используется для фильтрации. Сессии не отвечающие заданному параметру не будут добавлены в ответ. 

Для входящих звонков - номер телефона к которому подключён бот.

callingNumber целое число

Номер телефона с которого идет звонок.

*Используется для фильтрации. Сессии не отвечающие заданному параметру не будут добавлены в ответ. 

Для исходящих звонков - номер телефона к которому подключён бот.

isIncoming true / false 

true  - если входящие; false  - если исходящие.

*Используется для фильтрации. Сессии не отвечающие заданному параметру не будут добавлены в ответ. 

sort 

createdAt , startedAt , finishedAt , billedAt , speakerFinishedAt , duration , price.

По умолчанию сортировка происходит по полю startedAt .

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

  • sortcreatedAt: Дата и время создания записи.
  • startedAt: Дата и время начала события.
  • finishedAt: Дата и время завершения события.
  • billedAt: Дата и время выставления счета.
  • speakerFinishedAt: Дата и время завершения звонка со стороны диктора.
  • duration: Продолжительность события.
  • price: Цена события.

По умолчанию сортировка происходит по полю startedAt.

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

  • + для сортировки по возрастанию (по умолчанию).
  • - для сортировки по убыванию.

Например, чтобы отсортировать звонки в порядке убывания, ориентируясь на дату и время завершенного звонка, нужно указать -finishedAt.

taskId Значение string

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

*Используется для фильтрации. Сессии не отвечающие заданному параметру не будут добавлены в ответ. 

id Значение string

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

*Используется для фильтрации. Сессии не отвечающие заданному параметру не будут добавлены в ответ. 

status 

Возможные значения:

  • `CANCEL` – Отменен
  • ANSWERED – Успешный;
  • NOANSWER – Нет ответа;
  • BUSY – Абонент занят;
  • CONGESTION – Вызов отклонен оператором связи;
  • CHANUNAVAIL – Нет связи с телефонной линией;
  • FAILED – Ошибка;
  • SCHEDULED – Запланирован;
  • BLACKLIST – В черном списке;
  • DIAL – Набор номера;
  • INPROGRESS – В процессе;
  • FZ230 – Запрет звонка по ФЗ-230;
  • INVALID – Ошибка формата номера;
  • UNAVAILABLE – Номер недоступен;
  • EXPIRED – Срок ожидания соединения истек.

Текущий статус звонка.

*Используется для фильтрации. Сессии не отвечающие заданному параметру не будут добавлены в ответ. 

FilterPeriodBy createdAt , updatedAt , startedAt .
По умолчанию используется поле startedAt .

Выбор поля, к которому будет применяться фильтрация по датам из полей from  и to .

autoCallCandidateId Значение stringИдентификатор кандидата. Используется для фильтрации. Сессии не отвечающие заданному параметру не будут добавлены в ответ. 
Ответ в формате JSON
{
    "count": 1,
    "items": [
        {
            "id": "db5cb7fb-dc3e-4197-a7f5-93f63dc5bfbd",
            "taskName": "TWIN TEST",
            "taskId": "db5cb7fb-dc3e-4197-a7f5-93f63dc5bfbd",
            "createdAt": "2024-01-01T00:00:18.722982Z",
            "startedAt": "2024-01-01T00:00:18.722136Z",
            "finishedAt": "2024-01-01T00:00:38.484110Z",
            "billedAt": "2024-01-01T00:00:57.902230Z",
            "updatedAt": "2024-01-01T00:00:57.908504Z",
            "speakerFinishedAt": "2024-01-01T00:00:38.484000Z",
            "number": "70000000000",
            "callingNumber": "70000000001",
            "botId": "db5cb7fb-dc3e-4197-a7f5-93f63dc5bfbd",
            "botName": "TWIN BOT",
            "timezone": 10800,
            "messagesAsString": "BOT:  Добрый день, как ваши дела? \nCLIENT: Привет, дела - хорошо.",
            "resultsString": "{\"nps\": \"Успех\", \"confirmation\": \"Успех\"}",
            "variablesString": "{\"tryNumber\": 0, \"recordPath\": \"https://tcl.twin24.ai/record/db5cb7fb-dc3e-4197-a7f5-93f63dc5bfbd/download\", \"humanNumber\": 0, \"resultNumber\": 0, \"tryCandidate\": 0, \"answeredNumber\": 0, \"humanCandidate\": 0, \"resultCandidate\": 0, \"answeredCandidate\": 0}",
            "dialogResult": "Успех",
            "advStatus_ru": "Успешный",
            "nps": "Успех",
            "duration": 17,
            "externalId": "db5cb7fb-dc3e-4197-a7f5-93f63dc5bfbd",
            "clientExternalId": null,
            "recordPath": "https://minio.twin24.ai/twin-cis-production/records/1672/2024/1/1/0000000000000000000000000_1_1.mp3",
            "currentStatusName": "ANSWERED",
            "mainCallDiscount": "0",
            "mainCallDuration": 17,
            "robotCallDuration": 17,
            "transferCallDuration": 0,
            "companyId": 123,
            "companyName": "123 | ТВИН: TEST",
            "price": "0.0",
            "resellerPrice": "0.000000",
            "resellerCompanyId": null,
            "resellerCompanyName": null,
            "mainCallCost": "0.00",
            "mainCallTotalCost": "0.0",
            "robotCallCost": "0.00",
            "robotCallTotalCost": "0.0",
            "transferCallCost": "0",
            "transferCallTotalCost": null,
            "isIncoming": false,
            "amd": "NOT_DEF",
            "autoCallCandidateId": "db5cb7fb-dc3e-4197-a7f5-93f63dc5bfbd"
        }
    ]
}

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

ПолеОписаниеТип поля
count Общее количество найденных записей.

Int

items Массив найденных записей.Array[Object]
|    id Идентификатор звонка.String
|    taskName Имя задания на обзвон.String
|    taskId Идентификатор задания на обзвон.String
|    createdAt Дата и время создания звонка.String
|    startedAt Дата и время запуска звонка.String
|    finishedAt Дата и время окончания звонка.String
|    billedAt Дата и время расчета стоимости звонка.String
|    updatedAt Дата и время последнего обновления информации о звонке.String
|    speakerFinishedAt 

Дата и время окончания работы бота.

String
|    number 

Номер телефона на который идет звонок.

Для входящих звонков - номер телефона к которому подключён бот.


String
|    callingNumber 

Номер телефона с которого идет звонок.

Для исходящих звонков - номер телефона к которому подключён бот.
String
|    botId Идентификатор сценария бота.String
|    botName Имя сценария бота.String
|    timezone Смещение временной зоны в секундах относительно UTC.Int
|    messagesAsString Транскрибация диалога. Содержит полную транскрибацию в формате строки.  String
|    resultsString Сохраненные в блоке "Результат" данные: Подтверждение; NPS; Произвольный результат.String
|    variablesString Стартовые переменные.String
|    dialogResult 

Значение поля подтверждение из блока результат.

String
|    advStatus_ru 

Результативность звонка (из настроек задания или блока "зафиксировать эффективность")

String
|    nps 

Значение поля NPS из зафиксированного результата.

String
|    duration Продолжительность звонка в секундах.Int
|    externalId 

Внутренний идентификатор, используется только для нужд тех поддержки.

String
|    clientExternalId 

Идентификатор, который добавлен самостоятельно при добавлении кандидата.

String
|    recordPath 

Ссылка на запись разговора.

String
|    currentStatusName 

Текущий статус звонка.

Возможные значения:

  • CANCEL – Отменен
  • ANSWERED – Успешный;
  • NOANSWER – Нет ответа;
  • BUSY – Абонент занят;
  • CONGESTION – Вызов отклонен оператором связи;
  • CHANUNAVAIL – Нет связи с телефонной линией;
  • FAILED – Ошибка;
  • SCHEDULED – Запланирован;
  • BLACKLIST – В черном списке;
  • DIAL – Набор номера;
  • INPROGRESS – В процессе;
  • FZ230 – Запрет звонка по ФЗ-230;
  • INVALID – Ошибка формата номера;
  • UNAVAILABLE – Номер недоступен;
  • EXPIRED – Срок ожидания соединения истек.

String

|    mainCallDiscount Скидка за разговор.String
|    mainCallDuration Длительность разговора в секундах.Integer
|    robotCallDuration Продолжительность работы робота в секундах.Integer
|    transferCallDuration Длительность звонка после перевода в секунадх.Integer
|    companyId Идентификатор компании.Integer
|    companyName 

Идентифиактор компании и имя компании.

В формате: "ИДЕНТИФИКАТОР КОМПАНИИ | НАЗВАНИЕ КОМПАНИИ"

String
|    price Стоимость всего разговора.String
|    resellerPrice Стоимость разговора для реселлера.String
|    resellerCompanyId Идентификатор компании реселлера.String
|    resellerCompanyName Имя компании реселлера.String
|    mainCallCost Стоимость 1 минуты телефонии по тарифу.String
|    mainCallTotalCost Итоговая стоимость телефонии в звонке.String
|    robotCallCost 

Стоимость 1 минуты разговора робота.

String
|    robotCallTotalCost Итоговая стоимость разговора робота.String
|    transferCallCost Стоимость 1 минуты разговора после перевода.String
|    transferCallTotalCost Итоговая стоимость разговора после перевода.String
|    isIncoming Входящий/Исходящий вызов (true/false).Boolean
|    amd Режим работы определителя человека или робота.
Может принимать значения:
  • HUMN - человек
  • MACH - робот
  • NOT_DEF - определить выключен.
String
|    autoCallCandidateId Идентификатор кандидата.String


  • Нет меток