Представляет собой реплику в диалоге (ответ от пользователя, ответ от администратора, назначение, внутренняя заметка, добавление тега и т.д.).
id: ID
Уникальный идентификатор реплики.
created: timestamp
Дата создания реплики.
edited: Optional[timestamp]
Дата последнего изменения реплики. Если не измялась - будет null
.
removed: Optional[timestamp]
Если реплика была удалена (например, в результате удаления пользователя по GDPR) - дата удаления. Если нет - null
.
conversation: ID
Если поле не включено явно, то здесь будет ID диалога, которому принадлежит реплика.
part_group: ID
ID вопроса (ConversationPartGroup
), в который входит данная реплика.
body: str
Текст реплики, если она предполагает содержание. Иначе пустая строка.
body_json: Dict
Некоторые типы реплик неудобно задавать в виде строки body
. Например, поп-апы, созданные в конструкторе.
Их содержимое передается в виде JSON-объекта.
direction: str
Устаревшее. Лучше ориентироваться на тип реплики (поле type
).
Отображает направление реплики: от оператора пользователю чата или наоборот. Значения: a2u
или u2a
.
type: string
Тип реплики. Может принимать значения:
reply_user
- реплика пользователя чата (или пользователя через мессенджер)reply_admin
- реплика оператора (администратора)auto_reply
- автоответ, отправленный системойnote
- заметка оператора, невидимая пользователюtag_added
, tag_deleted
- системная реплика о добавлении/удалении тегаassigned
- системная реплика о назначении диалога на оператораclosed
- системная реплика о закрытии диалогаfinal_closed
- устаревшее. системная реплика о том, что вопрос диалога решенdelayed
- системная реплика о том, что диалог отложенchannel_changed
- системная реплика о том, что изменен канал диалогаvote
- системная реплика оценки пользователем чата диалогаarticle
- реплика от оператора со статьей базы знанийchat_bot_admin
- реплика, созданная чат-ботом и не предполагающая действий пользователяchat_bot_user
- реплика, созданная чат-ботом и предполагающая действие пользователя (кнопки, поле ввода)service
- системная реплика с сервисным сообщением (например, из интеграции)from
В зависимости от типа реплики может содержать:
reply_user
)reply_admin
)sent_via: str
Через что отправлена реплика. Может принимать значения:
web_user
- отправлено пользователем чатаemail_user
- отправлено пользователем через интеграцию с почтойweb_panel
- отправлено оператором из панели администратораemail_admin
- отправлено оператором через почту (как ответ на диалог)app_android
, app_ios
, app_chrome
, app_desktop
- отправлено оператором через приложение Android/iOS/Chrome/Windowsmessage_auto
, message_manual
, message_chat_bot
- отправлено как авто или ручное сообщение, или ботомapi
- отправлено через APIintegrations
- отправлено через интеграцииsystem
- отправлено нашей системой (обычно type=service
)auto_reply
- отправлено как автоответmeta_data: Dict
Дополнительные данные, зависящие от типа реплики.
Тут могут быть отметки об оставленной оценке, выбранное действие бота и др.
reply_type: str
Тип ответа, предполагаемого в ответ на эту реплику.
Варианты: text
, email
, phone
, no
.
actions: Optional[Array[Action]]
Массив объектов, описывающих действия, которые можно выполнять в реплике.
Используется ботами для представления кнопок, полей ввода, ссылок и т. п.
external_id: Optional[str]
Id реплики во внешнем сервисе, если она была отправлена через интеграцию с мессенджерами.
conversation: Conversation
Если поле включено явно, то вместо ID диалога будет возвращен объект Conversation.
assignee: Admin
Поле возвращается только для реплики типа type="assigned"
. Описывает оператора, на которого назначен диалог.
tag: str
Поле возвращается только для реплики типов type="tag_added"
и type="tag_deleted"
.
Название тега диалога, с которым произведено действие.
channel: ID / 0
Поле возвращается только для реплики типа type="channel_changed"
.
ID канала, в который перемещен диалог. 0
означает, что канал был убран.
inbound_email: ID
ID объекта InboundEmail, описывающего оригинал письма при получении реплики через интеграцию с почтой.
Возвращается только для реплик, отправленных через интеграцию.
read: boolean
Прочтена реплика пользователем или нет. Не отправляется для реплик, отправляемых операторами или системой,
в целях избежания путаницы (кто прочитал реплику).
first: boolean
Является ли реплика первой в диалоге Conversation. Не возвращается для не первой реплики.
attachments: Array[Attachment]
Массив объектов Attachment - вложений, приложенных к реплике.
Возвращается только при наличии приложений.
random_id: str
Это поле служит фронтенду для сопоставления реплики, пришедшей через Realtime services
и возвращенной в запросе создания реплики.
Приходит только в случае, если объект возвращается запросом на создание реплики
и в параметрах запроса был указан random_id
.
{
"id": 2030901,
"created": 1436620221,
"first": true,
"conversation": 1882298,
"body": "Hello",
"from": {
...
},
"read": false,
"type": "reply_django_user",
"sent_via": "web_panel",
"inbound_email": 123,
"attachments": [{
...
}]
}