20.04.2026 19:55

ChatMessage

Модель, описывающая сообщение чата

Название Тип данных Описание
id String UUID сообщения
chat_id String UUID чата
reply_id String UUID сообщения, на которое отправлен ответ
replay_text String Текст сообщения, на которое отправлен ответ
author_entity_type Enum Тип автора сообщения
author_entity_id Int64 ID автора сообщения
author_role Enum Роль автора в чате: Staff, Member или Bot (если автор является участником чата)
author_entity_name String Имя автора сообщения
author_entity_photo String Фото автора сообщения
message_type Enum Тип сообщения: Regular, System, Private
text String Текст сообщения
file_ids Array of Int64 Идентификаторы чатовых файлов (CommonFile) в папке текущего чата
action_code String Код системного действия
action_payload String Данные системного действия (JSON-строка)
event_id String Идентификатор события идемпотентности
external_message_id String Внешний ID сообщения
edited Boolean Признак, что сообщение редактировалось
read Boolean Признак прочтения сообщения текущим пользователем
created_date Int64 Дата создания (Unix time, сек.)
last_update Int64 Дата последнего изменения (Unix time, сек.)

Для чатов, связанных с Lead/Deal/Ticket/Task, права на ChatMessage/* наследуются от связанной сущности:
Select у сущности заменяет chat_message_select, Edit у сущности дает полный доступ к сообщениям.

ChatMessageTypeEnum
Значение Описание
Regular Обычное сообщение
System Системное сообщение
Private Приватное сообщение для Staff
System Action Codes

action_code и action_payload заполняются только для message_type = System.
Для пользовательских сообщений (Regular/Private) эти поля равны null.

action_code Когда формируется Формат action_payload (JSON)
ParticipantJoined В чат добавлен участник { "entity_type": "...", "entity_id": long, "entity_name": string, "entity_photo_url": string?, "role": "...", "role_name": string }
ParticipantRemoved Участник удален из чата { "entity_type": "...", "entity_id": long, "entity_name": string, "entity_photo_url": string?, "role": "...", "role_name": string }
StaffNoticeAdded Добавлено staff-ограниченное системное сообщение через ChatMessage/Add { "author_entity_type": "User/ChatBot", "author_entity_id": long, "author_name": string, "author_photo_url": string?, "text": string }
TaskCreated Создана задача (task-chat) { "task_id": long, "task_name": string, "project_id": long, "project_name": string, "responsible_user_id": long, "responsible_user_name": string, "created_by_user_id": long, "created_by_user_name": string }
TaskEdited Отредактирована задача { "task_id": long, "task_name": string, "project_id": long, "project_name": string, "updated_main_fields": bool, "updated_files": bool, "updated_extra_fields": bool }
TaskDeleted Удалена задача { "task_id": long, "task_name": string, "project_id": long, "project_name": string, "deleted_by_user_id": long, "deleted_by_user_name": string }
TaskStatusSet Изменен статус задачи { "task_id": long, "task_name": string, "project_id": long, "project_name": string, "old_status": string, "old_status_name": string, "new_status": string, "new_status_name": string }
TaskResponsibleSet Изменен ответственный задачи { "task_id": long, "task_name": string, "project_id": long, "project_name": string, "old_responsible_user_id": long, "old_responsible_user_name": string, "new_responsible_user_id": long, "new_responsible_user_name": string }
TaskObserversSet Изменены наблюдатели задачи { "task_id": long, "task_name": string, "project_id": long, "project_name": string, "replace_mode": bool, "old_observer_user_ids": long[], "old_observers": [{ "user_id": long, "user_name": string }], "new_observer_user_ids": long[], "new_observers": [{ "user_id": long, "user_name": string }] }
LeadCreated Создан лид { "id": long, "title": string, "pipeline_id": long, "pipeline_name": string, "stage_id": long, "stage_name": string, "responsible_user_id": long?, "responsible_user_name": string? }
LeadEdited Изменен лид { "id": long, "title": string, "pipeline_id": long, "pipeline_name": string, "stage_id": long, "stage_name": string, "status": string, "old_stage_id": long?, "old_stage_name": string?, "stage_changed": bool }
LeadStageSet Изменена стадия лида { "id": long, "title": string, "pipeline_id": long, "pipeline_name": string, "old_stage_id": long, "old_stage_name": string, "stage_id": long, "stage_name": string, "status": string, "status_name": string }
LeadResponsibleSet Изменен ответственный лида { "id": long, "title": string, "old_responsible_user_id": long?, "old_responsible_user_name": string?, "responsible_user_id": long, "responsible_user_name": string }
LeadParticipantsSet Изменены участники лида { "id": long, "title": string, "replace_mode": bool, "old_participant_user_ids": long[], "old_participants": [{ "user_id": long, "user_name": string }], "participant_user_ids": long[], "participants": [{ "user_id": long, "user_name": string }] }
LeadClosed Лид закрыт { "id": long, "title": string, "old_stage_id": long, "old_stage_name": string, "stage_id": long, "stage_name": string, "status": "Closed", "status_name": "Closed", "closed_by_user_id": long, "closed_by_user_name": string }
LeadConverted Лид конвертирован в сделку { "id": long, "title": string, "old_stage_id": long, "old_stage_name": string, "stage_id": long, "stage_name": string, "deal_id": long, "deal_title": string, "converted_by_user_id": long, "converted_by_user_name": string }
DealCreated Создана сделка { "id": long, "title": string, "pipeline_id": long, "pipeline_name": string, "stage_id": long, "stage_name": string, "responsible_user_id": long?, "responsible_user_name": string? }
DealEdited Изменена сделка { "id": long, "title": string, "pipeline_id": long, "pipeline_name": string, "stage_id": long, "stage_name": string, "status": string, "old_stage_id": long?, "old_stage_name": string?, "stage_changed": bool }
DealStageSet Изменена стадия сделки { "id": long, "title": string, "pipeline_id": long, "pipeline_name": string, "old_stage_id": long, "old_stage_name": string, "stage_id": long, "stage_name": string, "status": "Open/Won/Lost", "status_name": "Open/Won/Lost" }
DealResponsibleSet Изменен ответственный сделки { "id": long, "title": string, "old_responsible_user_id": long?, "old_responsible_user_name": string?, "responsible_user_id": long, "responsible_user_name": string }
DealParticipantsSet Изменены участники сделки { "id": long, "title": string, "replace_mode": bool, "old_participant_user_ids": long[], "old_participants": [{ "user_id": long, "user_name": string }], "participant_user_ids": long[], "participants": [{ "user_id": long, "user_name": string }] }
DealClosed Сделка закрыта { "id": long, "title": string, "old_stage_id": long, "old_stage_name": string, "stage_id": long, "stage_name": string, "status": "Open/Won/Lost", "status_name": "Open/Won/Lost", "closed_by_user_id": long, "closed_by_user_name": string }
TicketCreated Создан тикет { "id": long, "client_id": long, "channel_id": long, "direction": "Inbound/Outbound", "subject": string?, "status": "Open" }
TicketEdited Изменен тикет { "id": long, "direction": "Inbound/Outbound", "subject": string?, "description": string? }
TicketResponsibleSet Изменен ответственный тикета { "id": long, "old_responsible_user_id": long?, "responsible_user_id": long }
TicketParticipantsSet Изменены участники тикета { "id": long, "subject": string?, "replace_mode": bool, "old_participant_user_ids": long[], "old_participants": [{ "user_id": long, "user_name": string }], "participant_user_ids": long[], "participants": [{ "user_id": long, "user_name": string }] }
TicketClosed Тикет закрыт { "id": long, "old_status": "Open/Closed", "status": "Closed", "resolved_date": long }