PaginatedResponse[DialogueRead]
items object[]required
Уникальный числовой идентификатор записи.
Идентификатор продукта (рабочего пространства), которому принадлежит запись. Большинство эндпоинтов разграничивают доступ по продукту.
customer_id object
Канонический идентификатор клиента на уровне компании для общего контекста общения; null для старых диалогов, которые ещё не были сопоставлены.
- integer
- null
Идентификатор агента (настроенного ИИ-ассистента/бота), которому принадлежит запись.
Идентификатор контакта, к которому относится запись.
Время создания (UTC, ISO 8601).
Идентификатор канала, к которому относится запись.
Идентификатор чата на стороне канала, которому соответствует диалог.
last_user_msg_id objectrequired
- integer
- null
last_user_msg_at objectrequired
- date-time
- null
last_bot_msg_id objectrequired
- integer
- null
Является ли диалог активным (основным) для пары агент/контакт; вытесненные диалоги получают false.
Если true, бот не отвечает автоматически в этом диалоге (например, после передачи оператору).
pending_until objectrequired
Когда диалог в ожидании будет возобновлён (UTC). Null, если диалог не в ожидании.
- date-time
- null
pending_type object
Причина ожидания (например, follow_up, human_clarification, async_tool, custom_follow_up).
- PendingType
- null
Possible values: [follow_up, human_clarification, async_tool, custom_follow_up, future_meeting]
pending_ref object
Непрозрачная ссылка, связанная с эпизодом ожидания (id уточнения, id вызова инструмента и т. п.).
- string
- null
pending_id object
Идентификатор текущего эпизода ожидания. Перенос срока сохраняет его; новая постановка в ожидание заменяет, поэтому планировщик, действующий по эпизоду, может понять, тот ли это эпизод, что он видел.
- uuid
- null
Монотонный счётчик, увеличиваемый каждой записью жизненного цикла в диалог (переходы, постановка в ожидание и возврат, сброс). Передавайте его вместе с решением, принятым вне записи (интерфейс оператора, отложенная задача), чтобы платформа отклонила решение, если диалог за это время ушёл дальше.
0started_at objectrequired
Когда диалог впервые покинул узел initial (UTC).
- date-time
- null
ext_id objectrequired
Внешний идентификатор переписки в канале/у провайдера, если есть.
- string
- null
waba_opener_sent_after_window_num objectrequired
- integer
- null
Была ли это рассылка в уже существующий чат с контактом, а не «холодная» рассылка. Устанавливается, когда кампания переиспользует канал, в котором с контактом уже общались (опция агента persist_channel_in_outreach): для контакта это та же переписка, но платформа учитывает её в отдельном суточном лимите «sub-outreach», поскольку мессенджеры (WhatsApp, Telegram и т. д.) менее строги внутри существующих диалогов, чем к холодным рассылкам.
warmup_pair_id objectrequired
Для диалогов прогрева номера — пара прогрева, которой принадлежит диалог.
- integer
- null
Был ли диалог начат входящим сообщением от контакта.
Является ли переписка групповым чатом.
skip_response_for_user_msg_id objectrequired
- integer
- null
skip_response_until objectrequired
- date-time
- null
Идентификатор узла дерева состояний, на котором сейчас находится диалог, — его состояние в жизненном цикле. Задан всегда; узел принадлежит агенту диалога, а GET /tree/ раскрывает его название, system_kind, is_final и group. Диалог в ожидании (is_pending) остаётся на своём узле и продолжится с него.
subject objectrequired
Тема письма — для канала электронной почты.
- string
- null
Идентификаторы версий промптов — плейбуков, подключённых в этом диалоге, в порядке подключения (моделью через её инструмент или платформой по crm_fields_conditions). Список только пополняется: плейбук не отключается, на один плейбук приходится не больше одной версии, и диалог держится за неё, даже если плейбук потом отредактировали. Сопоставляйте их с enabled_version_id в списке плейбуков агента (GET /prompts/?type=playbook) или со списком версий плейбука.
Ожидает ли диалог чего-либо (времени фоллоу-апа, ответа менеджера, результата инструмента, встречи) перед следующим действием. Вычисляется из pending_until. Ожидание не перемещает диалог: last_tree_node_id по-прежнему указывает узел, на котором он продолжится.
{
"items": [
{
"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,
"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",
"pending_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"state_revision": 0,
"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",
"enabled_playbook_version_ids": [
0
],
"is_pending": true
}
],
"page": 0,
"limit": 0,
"total": 0,
"pages": 0
}