user.get

Описание

integer/array user.get(параметры объекта)

Метод позволяет получать пользователей по заданным параметрам.

Этот метод доступен пользователям любого типа. Разрешения на вызов метода можно отозвать в настройках ролей пользователя. Дополнительную информацию см. в разделе Роли пользователей.

Параметры

(object) Параметры, определяющие желаемый вывод.

Метод поддерживает следующие параметры.

При запросе пользовательских способов оповещения, прав доступа или информации о роли пользователи типа Admin и User могут получать данные только о собственном пользователе. Пример см. в разделе Получение пользователей от имени Admin.

Параметр Тип Описание
mediaids ID/array Возвращать только пользователей, использующих указанные способы оповещения.
mediatypeids ID/array Возвращать только пользователей, использующих указанные типы способов оповещения.
userids ID/array Возвращать только пользователей с указанными ID.
usrgrpids ID/array Возвращать только пользователей, принадлежащих указанным группам пользователей.
getAccess flag Добавляет дополнительную информацию о правах доступа пользователя.

Добавляет следующие свойства для каждого пользователя:
gui_access - (integer) метод аутентификации пользователя в веб-интерфейс. Список возможных значений см. в свойстве gui_access объекта группы пользователей.
debug_mode - (integer) указывает, включен ли для пользователя режим отладки. Возможные значения: 0 - отладка отключена, 1 - отладка включена.
users_status - (integer) указывает, отключен ли пользователь. Возможные значения: 0 - пользователь включен, 1 - пользователь отключен.
selectMedias query Возвращать способы оповещения, используемые пользователем, в свойстве medias.
selectMediatypes query Возвращать типы способов оповещения, используемые пользователем, в свойстве mediatypes.

Ограничения в зависимости от типа пользователя см. в mediatype.get.
selectUsrgrps query Возвращать группы пользователей, к которым принадлежит пользователь, в свойстве usrgrps.

Ограничения в зависимости от типа пользователя см. в usergroup.get.
selectRole query Возвращать роль пользователя в свойстве role.
filter object Возвращать только те результаты, которые точно соответствуют заданному фильтру.

Принимает объект, где ключи — это имена свойств, а значения — либо одно значение, либо массив значений для сопоставления.

Не поддерживает свойства типа данных text data type.

Возможные свойства объекта User для пользователей типа Admin и User при запросе данных о пользователях из их группы пользователей: userid, name, surname, username.
output query Свойства объекта User, которые должны быть возвращены.

Пользователи типа Admin и User могут получать только следующие свойства:
- Для собственного пользователя: userid, attempt_clock, attempt_failed, attempt_ip, autologin, autologout, lang, name, provisioned, refresh, roleid, rows_per_page, surname, theme, timezone, url, username.
- Для пользователей из своей группы пользователей: userid, name, surname, username.

По умолчанию: extend.
search object Возвращать результаты, соответствующие заданному шаблону (без учета регистра).

Принимает объект, где ключи — это имена свойств, а значения — строки для поиска. Если дополнительные параметры не указаны, будет выполнен поиск LIKE "%…%".

Поддерживает только свойства типа данных string и text data type.

Возможные свойства объекта User для пользователей типа Admin и User при запросе данных о пользователях из их группы пользователей: name, surname, username.
sortfield string/array Сортировать результат по указанным свойствам.

Возможные значения: userid, username.
countOutput boolean Эти параметры описаны в справочном комментарии.
editable boolean
excludeSearch boolean
limit integer
preservekeys boolean
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

Возвращаемые значения

(целое число/массив) Возвращает либо:

  • · массив объектов;
  • · количество извлеченных объектов, если использовался параметр countOutput.

Примеры

Получение пользователей

Получение всех настроенных пользователей.

Запрос:

{
    "jsonrpc": "2.0",
    "method": "user.get",
    "params": {
        "output": "extend"
    },
    "id": 1
}

Ответ:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "userid": "1",
            "username": "Admin",
            "name": "Zabbix",
            "surname": "Administrator",
            "url": "",
            "autologin": "1",
            "autologout": "0",
            "lang": "en_US",
            "refresh": "0s",
            "theme": "default",
            "attempt_failed": "0",
            "attempt_ip": "",
            "attempt_clock": "0",
            "rows_per_page": "50",
            "timezone": "default",
            "roleid": "3",
            "userdirectoryid": "0",
            "ts_provisioned": "0"
        },
        {
            "userid": "2",
            "username": "guest",
            "name": "",
            "surname": "",
            "url": "",
            "autologin": "0",
            "autologout": "15m",
            "lang": "default",
            "refresh": "30s",
            "theme": "default",
            "attempt_failed": "0",
            "attempt_ip": "",
            "attempt_clock": "0",
            "rows_per_page": "50",
            "timezone": "default",
            "roleid": "4",
            "userdirectoryid": "0",
            "ts_provisioned": "0"
        },
        {
            "userid": "3",
            "username": "user",
            "name": "Zabbix",
            "surname": "User",
            "url": "",
            "autologin": "0",
            "autologout": "0",
            "lang": "ru_RU",
            "refresh": "15s",
            "theme": "dark-theme",
            "attempt_failed": "0",
            "attempt_ip": "",
            "attempt_clock": "0",
            "rows_per_page": "100",
            "timezone": "default",
            "roleid": "1",
            "userdirectoryid": "0",
            "ts_provisioned": "0"
        }
    ],
    "id": 1
}

Получение пользователей от имени Admin

Как пользователь типа Admin, получите подробные данные о собственном пользователе и ограниченные данные о пользователях из вашей группы пользователей.

Запрос:

{
    "jsonrpc": "2.0",
    "method": "user.get",
    "params": {
        "output": "extend",
        "getAccess": true,
        "selectMedias": "extend",
        "selectMediatypes": "extend",
        "selectUsrgrps": "extend",
        "selectRole": "extend"
    },
    "id": 1
}

Ответ:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "userid": "1",
            "username": "Admin",
            "name": "Zabbix",
            "surname": "Administrator",
            "usrgrps": [
                {
                    "usrgrpid": "7",
                    "name": "Zabbix administrators",
                    "gui_access": "0",
                    "users_status": "0",
                    "debug_mode": "0",
                    "mfa_status": "0"
                }
            ]
        },
        {
            "userid": "3",
            "username": "database-admin",
            "name": "John",
            "surname": "Doe",
            "url": "",
            "autologin": "0",
            "autologout": "0",
            "lang": "default",
            "refresh": "30s",
            "theme": "default",
            "attempt_failed": "0",
            "attempt_ip": "",
            "attempt_clock": "0",
            "rows_per_page": "50",
            "timezone": "default",
            "roleid": "2",
            "provisioned": "0",
            "gui_access": "0",
            "debug_mode": "0",
            "users_status": "0",
            "usrgrps": [
                {
                    "usrgrpid": "7",
                    "name": "Zabbix administrators",
                    "gui_access": "0",
                    "users_status": "0",
                    "debug_mode": "0",
                    "mfa_status": "0"
                }
            ],
            "medias": [
                {
                    "mediaid": "2",
                    "mediatypeid": "1",
                    "sendto": [
                        "[email protected]"
                    ],
                    "active": "0",
                    "severity": "63",
                    "period": "1-7,00:00-24:00",
                    "provisioned": 0
                }
            ],
            "mediatypes": [
                {
                    "mediatypeid": "1",
                    "type": "0",
                    "name": "Email",
                    "status": "0",
                    "description": "",
                    "maxattempts": "3"
                }
            ],
            "role": {
                "roleid": "2",
                "name": "Admin role",
                "type": "2",
                "readonly": "0"
            }
        }
    ],
    "id": 1
}

Получение данных пользователя

Получите данные пользователя с ID "12".

Запрос:

{
    "jsonrpc": "2.0",
    "method": "user.get",
    "params": {
        "output": ["userid", "username"],
        "selectRole": "extend",
        "userids": "12"
    },
    "id": 1
}

Ответ:

{
  "jsonrpc": "2.0",
  "result": [
      {
          "userid": "12",
          "username": "John",
          "role": {
              "roleid": "5",
              "name": "Operator",
              "type": "1",
              "readonly": "0"
          }
      }
  ],
  "id": 1
}

См. также

Источник

CUser::get() в ui/include/classes/api/services/CUser.php.