user.get

Описание

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

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

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

Параметры

(object) Параметры, определяющие требуемый результат.

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

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

Parameter Type Description
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.

Возможные свойства объекта 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.

Возможные свойства объекта 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.