Блог Горошко Андрея Bitrix24 Получить список чатов im.recent.list

Получить список чатов im.recent.list

Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «Получить список чатов im.recent.list». Вы узнаете экспертные методики работы с im.recent.list и научитесь избегать типичных ошибок начинающих разработчиков.

Получить список чатов im.recent.list

Тут может не хватать некоторых данных — дополним в ближайшее время

  • нужны правки под стандарт написания
  • не указаны типы параметров
  • отсутствуют примеры
  • отсутствует ответ в случае ошибки

> Scope: im
>
> Кто может выполнять метод: любой пользователь

Метод im.recent.list получает список последних диалогов пользователя (с поддержкой пагинации).

ПараметрПримерОписаниеРевизия
SKIP_OPENLINES
unknown
'Y'Пропускать чаты открытых линий30
SKIP_DIALOG
unknown
'N'Пропускать диалоги «один на один»30
SKIP_CHAT
unknown
'Y'Пропускать чаты30
LAST_MESSAGE_DATE
unknown
'2021-10-30'Дата из последнего элемента предыдущей выборки30

Практические примеры использования в коде

  • JS
   B24.callMethod(
      'im.recent.list',
      {
         LAST_MESSAGE_DATE: '2021-10-30'
      },
      res => {
         if (res.error())
         {
               console.error(result.error().ex);
         }
         else
         {
               console.log(res.data())
         }
      }
   )

Ответ в случае успеха

{
"items": [
    {
     "id": "chat71",
     "chat_id": 71,
     "type": "chat",
     "avatar": {
        "url": "",
        "color": "#8474c8"
     },
     "title": "Фиолетовый гость №3 - Открытая линия 2",
     "message": {
        "id": 267,
        "text": "Отправлена форма \"Форма контактных данных для открытых линий\" [Вложение]",
        "file": false,
        "author_id": 0,
        "attach": true,
        "date": "2021-10-27T18:20:45+02:00",
        "status": "received"
     },
     "counter": 3,
     "pinned": false,
     "unread": false,
     "date_update": "2021-10-27T18:20:45+02:00",
     "chat": {
        "id": 71,
        "name": "Фиолетовый гость №3 - Открытая линия 2",
        "owner": 0,
        "extranet": false,
        "avatar": "",
        "color": "#8474c8",
        "type": "lines",
        "entity_type": "LINES",
        "entity_id": "livechat|2|70|2016",
        "entity_data_1": "N|NONE|0|N|N|7|1635351612|0|0|0",
        "entity_data_2": "",
        "entity_data_3": "",
        "mute_list": [],
        "manager_list": [],
        "date_create": "2021-10-27T18:20:12+02:00",
        "message_type": "L"
     },
     "lines": {
        "id": 7,
        "status": 5,
        "date_create": "2021-10-27T18:20:12+02:00"
     },
     "user": {
        "id": 0
     },
     "options": []
    },
    ...
],
"hasMore": false
}

Описание ключей

  • id – идентификатор диалога (если цифра – это пользователь; если chatXXX – это чат)
  • type – тип записи (если user – это пользователь, если chat – это чат)
  • avatar – объект описания аватара записи:
  • url – ссылка на аватар (если пусто, значит, аватар не задан)
  • color – цвет диалога в формате hex
  • title – заголовок записи (имя и фамилия – для пользователя, название чата – для чата)
  • messages – объект описания сообщения:
  • id – идентификатор сообщения
  • text – текст сообщения (без BB-кодов и переносов строк)
  • file – присутствуют файлы (true/false)
  • attach – присутствуют вложения (true/false)
  • author_id – автор сообщения
  • date – дата сообщения
  • counter – счетчик непрочитанных сообщений
  • user – объект описания данных пользователя (не доступно, если это тип записи – чат):
  • id – идентификатор пользователя
  • name – имя и фамилия пользователя
  • first_name – имя пользователя
  • last_name – фамилия пользователя
  • work_position – должность
  • color – цвет пользователя в формате hex
  • avatar – ссылка на аватар (если пусто, значит, аватар не задан)
  • gender – пол пользователя
  • birthday – день рождения пользователя в формате DD-MM, если пусто – не задан
  • extranet – признак внешнего экстранет-пользователя (true/false)
  • network – признак пользователя Битрикс24.Network (true/false)
  • bot – признак бота (true/false)
  • connector – признак пользователя открытых линий (true/false)
  • external_auth_id – код внешней авторизации
  • status – выбранный статус пользователя
  • idle – дата, когда пользователь отошел от компьютера, в формате АТОМ (если не задано, то false)
  • last_activity_date – дата последнего действия пользователя в формате АТОМ
  • mobile_last_date – дата последнего действия в мобильном приложении в формате АТОМ (если не задано, то false)
  • absent – дата, по какое число у пользователя отпуск, в формате АТОМ (если не задано, то false)
  • chat – объект описания данных чата (не доступно, если это тип записи – пользователь):
  • id – идентификатор чата
  • title – название чата
  • owner – идентификатор пользователя-владельца чата
  • extranet – признак участия в чате внешнего экстранет-пользователя (true/false)
  • color – цвет чата в формате hex
  • avatar – ссылка на аватар (если пусто, значит, аватар не задан)
  • type – тип чата (групповой чат, чат для звонка, чат открытой линии и т.д.)
  • entity_type – внешний код для чата – тип
  • entity_id – внешний код для чата – идентификатор
  • entity_data_1 – внешние данные для чата
  • entity_data_2 – внешние данные для чата
  • entity_data_3 – внешние данные для чата
  • date_create – дата создания чата в формате АТОМ
  • message_type – тип сообщений чата
  • pinned – закреплен чат или нет
  • unread – стоит ли ручная метка о том, что чат не прочитан
  • date_update – дата последнего изменения в связанных сущностях

💡 Экспертное мнение и рекомендации

Ключевые выводы по теме «Получить список чатов im.recent.list»:

Использование современных стандартов D7 при работе с im.recent.list позволяет писать чистый, масштабируемый и безопасный код. Не забывайте обрабатывать исключения (try/catch) и проверять права доступа текущего пользователя перед выполнением критических операций.

Похожая задача в бизнесе?

Помогу автоматизировать процессы и внедрить ИИ

Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.

Related Post

Пункт выпадающего меню верхней кнопки дизайнера роботов CRM_XXX_ROBOT_DESIGNE…Пункт выпадающего меню верхней кнопки дизайнера роботов CRM_XXX_ROBOT_DESIGNE…

Оптимизация производительности и безопасности — залог успешного проекта на 1С-Битрикс. Данный материал посвящен практическому применению «Пункт выпадающего меню верхней кнопки дизайнера роботов CRM_XXX_ROBOT_DESIGNE…». Мы подготовили подробный разбор принципов работы и

Изменить элемент процессса rpa.item.updateИзменить элемент процессса rpa.item.update

Оптимизация производительности и безопасности — залог успешного проекта на 1С-Битрикс. Данный материал посвящен практическому применению «Изменить элемент процессса rpa.item.update». Мы подготовили подробный разбор принципов работы и развернутые примеры интеграции. Изменить

Как использовать метод SDK crm.contact.userfield.list в Битрикс24Как использовать метод SDK crm.contact.userfield.list в Битрикс24

При разработке и поддержке проектов на платформе 1С-Битрикс критически важно использовать современные стандарты D7 API. В этом руководстве мы детально изучим тему «Как использовать метод SDK crm.contact.userfield.list в Битрикс24», разберем