Перейти к основному содержимому

DialogueDetailRead

Ответ эндпоинта получения одного диалога: запись диалога и необязательные данные голосового звонка.

dialogue objectrequired

Диалог — это одна переписка между агентом и контактом в одном канале. В нём отслеживаются стадия переписки, отключён ли бот, состояние отложенного дожима и ссылки на последние сообщения пользователя и бота.

idIdrequired

Уникальный числовой идентификатор записи.

product_idProduct Idrequired

Идентификатор продукта (рабочего пространства), которому принадлежит запись. Большинство эндпоинтов разграничивают доступ по продукту.

customer_id object

Канонический идентификатор клиента на уровне компании для общего контекста общения; null для старых диалогов, которые ещё не были сопоставлены.

anyOf
integer
agent_idAgent Idrequired

Идентификатор агента (настроенного ИИ-ассистента/бота), которому принадлежит запись.

contact_idContact Idrequired

Идентификатор контакта, к которому относится запись.

created_atdate-timerequired

Время создания (UTC, ISO 8601).

channel_idChannel Idrequired

Идентификатор канала, к которому относится запись.

stageStagerequired

Стадия жизненного цикла диалога. Значения, управляемые бэкендом: "initial" (создан), "attempted" (выполнена попытка отправки первого сообщения), "started" (отправка первого сообщения подтверждена), "ongoing" (пользователь ответил хотя бы раз). Прочие значения: "pending" (ожидает запланированного дожима), "failed" (доставка не удалась), "redirected" (переписка переведена на другой контакт), "finished" (достигнут финальный узел дерева состояний). Значения "refused", "success", "disqualified" и "escalated" устарели.

Possible values: [initial, attempted, started, ongoing, pending, failed, redirected, finished, refused, success, disqualified, escalated]

chat_idChat Idrequired

Идентификатор чата на стороне канала, которому соответствует диалог.

last_user_msg_id objectrequired
anyOf
integer
last_user_msg_at objectrequired
anyOf
date-time
last_bot_msg_id objectrequired
anyOf
integer
is_mainIs Mainrequired

Является ли диалог активным (основным) для пары агент/контакт; вытесненные диалоги получают false.

bot_mutedBot Mutedrequired

Если true, бот не отвечает автоматически в этом диалоге (например, после передачи оператору).

pending_until objectrequired

Когда отложенный (pending) диалог должен быть возобновлён (UTC).

anyOf
date-time
pending_type object

Причина отложенного состояния (например, follow_up, human_clarification, n8n_async_tool, custom_follow_up).

anyOf
PendingType

Possible values: [follow_up, human_clarification, n8n_async_tool, custom_follow_up, future_meeting]

pending_ref object

Непрозрачная ссылка, связанная с отложенным состоянием.

anyOf
string
started_at objectrequired

Когда стадия диалога впервые стала "started" (UTC).

anyOf
date-time
ext_id objectrequired

Внешний идентификатор переписки в канале/у провайдера, если есть.

anyOf
string
waba_opener_sent_after_window_num objectrequired
anyOf
integer
is_sub_outreachIs Sub Outreachrequired

Была ли это рассылка в уже существующий чат с контактом, а не «холодная» рассылка. Устанавливается, когда кампания переиспользует канал, в котором с контактом уже общались (опция агента persist_channel_in_outreach): для контакта это та же переписка, но платформа учитывает её в отдельном суточном лимите «sub-outreach», поскольку мессенджеры (WhatsApp, Telegram и т. д.) менее строги внутри существующих диалогов, чем к холодным рассылкам.

warmup_pair_id objectrequired

Для диалогов прогрева номера — пара прогрева, которой принадлежит диалог.

anyOf
integer
is_incomingIs Incomingrequired

Был ли диалог начат входящим сообщением от контакта.

is_group_chatIs Group Chatrequired

Является ли переписка групповым чатом.

skip_response_for_user_msg_id objectrequired
anyOf
integer
skip_response_until objectrequired
anyOf
date-time
last_tree_node_id objectrequired

Идентификатор узла дерева состояний, на котором сейчас находится диалог.

anyOf
integer
subject objectrequired

Тема письма — для канала электронной почты.

anyOf
string
voice_call object

Данные голосового звонка для этого диалога или null, если диалог не является голосовым звонком.

anyOf
dialogue_idDialogue Idrequired

Идентификатор диалога, к которому относится запись.

external_call_idExternal Call Idrequired

Стабильный идентификатор звонка, назначенный голосовым рантаймом.

providerProviderrequired

Идентификатор голосового провайдера. Публичное значение API — voice.

Constant value: voice
sip_call_id objectrequired

Необязательный SIP-идентификатор звонка, если звонок шёл через SIP.

anyOf
string
sip_code objectrequired

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

anyOf
integer
statusStatusrequired

Статус жизненного цикла голосового звонка — active, completed или failed.

Possible values: [active, completed, failed]

direction objectrequired

Направление звонка — входящий или исходящий.

anyOf
string

Possible values: [inbound, outbound]

started_atdate-timerequired

Когда голосовой звонок начался (UTC).

ended_at objectrequired

Когда голосовой звонок завершился (UTC), если он уже завершён.

anyOf
date-time
duration_seconds objectrequired

Общая длительность звонка в секундах, если известна.

anyOf
integer
recording_s3_key objectrequired

Ключ объекта S3 с записью звонка, если запись была создана.

anyOf
string
usage_metadata objectrequired

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

property name*any

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

latency_metadata objectrequired

Произвольные метрики задержек от голосового рантайма, например STT, LLM, TTS или end-to-end тайминги.

property name*any

Произвольные метрики задержек от голосового рантайма, например STT, LLM, TTS или end-to-end тайминги.

created_atdate-timerequired

Время создания (UTC, ISO 8601).

updated_atdate-timerequired

Время последнего изменения (UTC, ISO 8601).

DialogueDetailRead
{
"dialogue": {
"id": 0,
"product_id": 0,
"customer_id": 0,
"agent_id": 0,
"contact_id": 0,
"created_at": "2024-07-29T15:51:28.071Z",
"channel_id": 0,
"stage": "initial",
"chat_id": "string",
"last_user_msg_id": 0,
"last_user_msg_at": "2024-07-29T15:51:28.071Z",
"last_bot_msg_id": 0,
"is_main": true,
"bot_muted": true,
"pending_until": "2024-07-29T15:51:28.071Z",
"pending_type": "follow_up",
"pending_ref": "string",
"started_at": "2024-07-29T15:51:28.071Z",
"ext_id": "string",
"waba_opener_sent_after_window_num": 0,
"is_sub_outreach": true,
"warmup_pair_id": 0,
"is_incoming": true,
"is_group_chat": true,
"skip_response_for_user_msg_id": 0,
"skip_response_until": "2024-07-29T15:51:28.071Z",
"last_tree_node_id": 0,
"subject": "string"
},
"voice_call": {
"dialogue_id": 0,
"external_call_id": "string",
"provider": "voice",
"sip_call_id": "string",
"sip_code": 0,
"status": "active",
"direction": "inbound",
"started_at": "2024-07-29T15:51:28.071Z",
"ended_at": "2024-07-29T15:51:28.071Z",
"duration_seconds": 0,
"recording_s3_key": "string",
"usage_metadata": {},
"latency_metadata": {},
"created_at": "2024-07-29T15:51:28.071Z",
"updated_at": "2024-07-29T15:51:28.071Z"
}
}