Conversation

Описывает диалог.

Диалоги состоят из реплик (из объектов ConversationPart).

Стандартные поля объекта

  • id: ID
    Уникальный идентификатор диалога.

  • created: timestamp
    Дата создания диалога (Unix timestamp).

  • replied: boolean
    Видим ли диалог в общем списке диалогов в панели администратора.
    Note: Исторически, флаг показывал, были ли в диалоге реплики пользователя, отсюда и название. Однако в данный момент в ряде случаев флаг может быть установлен, даже если реплик пользователя в диалоге нет. Например, в ситуации, когда бот переводит диалог на оператора.

  • delayed_until: Optional[timestamp]
    Время, до которого отложен диалог.

  • closed: boolean
    Показывает, закрыт ли диалог.

  • message: Optional[ID]
    ID сообщения (ручного, авто, бота), в рамках которого был начат диалог. null, если диалог начат не сообщением.

  • type: str Тип диалога. Определяется типом первого сообщения в диалоге. Может принимать следующие значения:

    • email
    • incoming_email - входящее письмо через интеграцию с почтой или MX-интеграцию
    • popup_small, popup_big - поп-апы (маленький и большой)
    • block_popup_small, block_popup_big - поп-апы, созданные через конструктор
    • popup_chat - сообщение в чате
    • lead_bot - lead-бот
    • routing_bot - welcome-бот
    • push - Web-Push сообщение
    • sdk_push - Push-сообщение в мобильное приложение пользователя через SDK (iOS или Android)
  • reply_type: str
    Тип ожидаемого ответа на сообщение в диалоге. Может принимать следующие значения: text, email, phone, push, button, no.

  • removed: Optional[timestamp]
    Если диалог был удален (например, при удалении пользователя), то здесь будет время удаления. Иначе будет null.

  • reply_last_type: str
    Тип последней реплики в диалоге (reply_last). Может принимать значения reply_user или reply_admin.

  • parts_count: integer
    Количество реплик в диалоге.

  • assignee: Optional[Admin]
    Администратор, на которого назначен диалог. Объект Admin. null, если диалог ни на кого не назначен.

  • sended_time: datetime
    Время отправки первого сообщения (ручного, авто, бота в диалоге). Может отличаться от времени создания диалога в некоторых случаях.

  • admin_unread_count: integer
    Содержит количество реплик пользователя, которые не были прочитаны оператором.

  • user_unread_count: integer
    Содержит количество реплик оператора, которые не были прочитаны пользователем на сайте (0 - диалог полностью прочитан, больше нуля - не прочитан).

  • not_answered_admin_replies: integer
    Количество реплик админа, на которые не ответил оператор (т. е. количество реплик пользователя с момента последней реплики оператора).

  • unread_parts_count: integer
    Устаревший. Дублирует user_unread_count.

  • replies_count: int
    Количество реплик пользователя или оператора в диалоге.

  • last_admin: Optional[Admin]
    Последний участвовавший в диалоге администратор. Объект Admin (может быть null).

  • last_update: datetime
    Дата последнего обновления диалога (дата создания последней реплики, в т. ч. системной).

  • tags: Array[str]
    Теги диалога.

  • important: boolean
    Флаг того, что на диалог важно ответить. Важными считаются незакрытые диалоги, у которых последняя реплика оставлена пользователем или диалог не назначен на оператора.

  • external_service: Optional[str]
    Тип интеграции с мессенджером, через которую пользователь ведет диалог. null, если диалог создан не через интеграцию.

  • external_id: Optional[str]
    Id диалога в интеграции с мессенджером.

  • last_user_reply_time: Optional[datetime]
    Время последней реплики пользователя. Может быть null, если нет реплик пользователя.

  • status: Optional[str]
    Статус отправки авто или ручного сообщения в диалоге. null если диалог создан не рассылкой. Статусы: created, rendered, sent, accepted, delivered, bounced, complained, dropped, error.

  • assistant_type: Optional[str]
    Тип ассистента, который в данный момент управляет диалогом. Если диалог ведет оператор - null.
    Типы ассистентов: dialogflow, yandex_ai, lead_bot, routing_bot, facebook_bot, telegram_bot, widget_bot.

  • recipient_type: str
    Тип получателя авто или ручного сообщения, если оно может отправляться и в SDK и в чат. Допустимые типы: all, web, sdk.

Опциональные поля

  • user: User
    Пользователь, с которым ведется данный диалог. Объект User.

  • channel: Optional[Channel]
    Канал, в котором находится диалог в данный момент. Если диалог без канала, будет null. Объект Channel.

  • part_last: ConversationPart
    Самая последняя реплика в диалоге, включая системные реплики. Объект ConversationPart.

  • important_part_last: ConversationPart
    Последняя важная реплика в диалоге. Эта реплика выводится в списке диалогов в административной панели слева. В отличие, от part_last, сюда не попадают системные и сервисные реплики. Но, например, попадают заметки. Объект ConversationPart.

  • reply_last: ConversationPart
    Последняя реплика оператора или пользователя. Сюда не попадают заметки, вопросы ботов и ответы на них. Объект ConversationPart.

Пример

{
  "id": 1882298,
  "created": 1436614153,
  "user": {
     ...
  },
  "read": true,
  "replied": true,
  "clicked": false,
  "unsubscribed": false,
  "closed": false,
  "message": 299,
  "type": "email",
  "reply_type": "text",
  "part_last": {
    ...
  },
  "parts_count": 5,
  "assignee": {
    ...
  },
  "unread_parts_count": 0,
  "last_admin": {
    ...
  },
  "last_update": 1436626215,
  "tags": ["sales", "en"]
}