Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Получить список участников im.dialog.users.list», проанализируем лучшие практики и покажем, как правильно использовать im.dialog.users.list в реальных задачах.
Получить список участников im.dialog.users.list
Тут может не хватать некоторых данных — дополним в ближайшее время
- нужны правки под стандарт написания
- не указаны типы параметров
- отсутствуют примеры
> Scope: im
>
> Кто может выполнять метод: любой пользователь
Метод im.dialog.users.list получает информацию об участниках чата. Поддерживается пагинация.
Входящие параметры и конфигурация метода
| Параметр | Пример | Описание | Ревизия | |
|---|---|---|---|---|
*DIALOG_ID^^unknown | chat74 | Идентификатор диалога. Формат: — chatXXX – чат получателя, если сообщение для чата — XXX – идентификатор получателя, если сообщение для приватного диалога | 30 | |
SKIP_EXTERNALunknown | N | Пропустить всех системных пользователей — 'Y'\ | 'N' (по умолчанию 'N') | 30 |
SKIP_EXTERNAL_EXCEPT_TYPESunknown | 'bot, email' | Строка с теми типами системных пользователей, которых нужно оставить в выборке | 30 |
Практические примеры использования в коде
- JS
B24.callMethod(
'im.dialog.users.list',
{
DIALOG_ID: 'chat74',
SKIP_EXTERNAL: 'Y'
},
res => {
if (res.error())
{
console.error(result.error().ex);
}
else
{
console.log(res.data())
}
}
)Ответ в случае успеха
[
{
"id": 1019,
"active": true,
"name": "alexa shasha",
"first_name": "alexa",
"last_name": "shasha",
"work_position": "",
"color": "#df532d",
"avatar": "",
"gender": "M",
"birthday": "",
"extranet": false,
"network": false,
"bot": false,
"connector": false,
"external_auth_id": "default",
"status": "online",
"idle": false,
"last_activity_date": "2021-10-30T11:24:12+02:00",
"mobile_last_date": "2021-10-20T13:02:33+02:00",
"absent": false,
"departments": [
1
],
"phones": false
},
{
"id": 1,
"active": true,
"name": "Алексей Шахворостов",
"first_name": "Алексей",
"last_name": "Шахворостов",
"work_position": "",
"color": "#df532d",
"avatar": "",
"gender": "M",
"birthday": "",
"extranet": false,
"network": false,
"bot": false,
"connector": false,
"external_auth_id": "default",
"status": "online",
"idle": false,
"last_activity_date": "2021-10-30T13:36:34+02:00",
"mobile_last_date": "2021-10-27T16:39:26+02:00",
"absent": false,
"departments": [
1
],
"phones": false
}
]Описание ключей
id– идентификатор пользователяactive– является ли пользователь активным (неуволенным)name– имя и фамилия пользователяfirst_name– имя пользователяlast_name– фамилия пользователяwork_position– должностьcolor– цвет пользователя в формате hexavatar– ссылка на аватар (если пусто, значит, аватар не задан)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)departments– идентификаторы подразделенияabsent– дата, по какое число у пользователя отпуск, в формате АТОМ (если не задана, тоfalse)phones– массив номеров телефонов:work_phone– рабочий телефонpersonal_mobile– мобильный телефонpersonal_phone– домашний телефон
Ответ в случае ошибки
{
"error": "DIALOG_ID_EMPTY",
"error_description": "Dialog ID can't be empty"
}Описание ключей
error– код возникшей ошибкиerror_description– краткое описание возникшей ошибки
Возможные коды ошибок
| Код | Описание |
|---|---|
| DIALOG_ID_EMPTY | Параметр DIALOG_ID не задан или не соответствует формату |
| ACCESS_ERROR** | Текущий пользователь не имеет прав доступа к данным |
💡 Экспертное мнение и рекомендации
Советы эксперта по интеграции:
- Всегда используйте кэширование при частых запросах к im.dialog.users.list, чтобы разгрузить базу данных.
- Соблюдайте стандарты PSR при написании обработчиков для «Получить список участников im.dialog.users.list».
- Регулярно проводите аудит производительности системы с помощью встроенного монитора 1С-Битрикс.
Похожая задача в бизнесе?
Помогу автоматизировать процессы и внедрить ИИ
Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.
или на почту: gorandvas@yandex.ru