06.04.2026 21:45

Ticket

Модели Ticket.

Модель Ticket

Название Тип данных Описание
id Int64 ID тикета
client_id Int64 ID клиента
client Client Вложенный объект клиента
channel_id Int64 ID канала
direction Enum (TicketDirectionEnum) Направление (Inbound, Outbound)
external_dialog_id String Внешний ID диалога
subject String Тема обращения
description String Описание обращения
responsible_user_id Int64? ID ответственного
participant_user_ids Int64[] Участники-сотрудники тикета
status Enum (TicketStatusEnum) Статус тикета (Open, Closed, WaitingClient, WaitingStaff)
first_response_date Int64? Дата первого ответа
first_response_due_date Int64? SLA-срок первого ответа
resolve_due_date Int64? SLA-срок решения
sla_breached Boolean Признак нарушения SLA
sla_breached_date Int64? Дата нарушения SLA
resolved_date Int64? Дата закрытия
rating Int32? Оценка
rating_comment String Комментарий к оценке
chat_id String(36) UUID чата тикета
fields Array of FieldValue Значения дополнительных полей
created_user_id Int64 ID пользователя, создавшего запись
created_date Int64 Дата создания (Unix time, сек.)
last_update Int64 Дата последнего изменения (Unix time, сек.)

История по тикету хранится через ChatMessage; отдельная сущность событий тикета не используется.

Инвариант дедупликации: для пары client_id + channel_id допускается только один активный тикет (status IN (Open, WaitingClient, WaitingStaff)). Повторный ticket/add возвращает существующий активный тикет и переиспользует его chat_id.
Пример ответа

{
  "ok": true,
  "result": {}
}