[comment]: # ({2485e0f7-2485e0f7})
# user.get

[comment]: # ({/2485e0f7-2485e0f7})

[comment]: # ({5aeb1b12-36f89e39})
### Описание

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

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

::: noteclassic
Этот метод доступен пользователям любого типа.
Разрешения на вызов метода можно отозвать в настройках ролей пользователя.
Дополнительную информацию см. в разделе [Роли пользователей](/manual/web_interface/frontend_sections/users/user_roles).
:::

[comment]: # ({/5aeb1b12-36f89e39})

[comment]: # ({d5bb139f-888512e9})
### Параметры

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

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

::: noteclassic
При запросе информации о пользовательских медиа, правах доступа или ролях пользователи типов *Admin* и *User* могут получать данные только о своем пользователе.
Пример см. в разделе [Получение пользователей как *Admin*](#retrieving-users-as-admin).
:::

|Parameter|[Type](/manual/api/reference_commentary#data-types)|Description|
|--|--|------|
|mediaids|ID/array|Возвращать только пользователей, которые используют указанные медиа.|
|mediatypeids|ID/array|Возвращать только пользователей, которые используют указанные типы медиа.|
|userids|ID/array|Возвращать только пользователей с указанными ID.|
|usrgrpids|ID/array|Возвращать только пользователей, которые принадлежат к указанным группам пользователей.|
|getAccess|flag|Добавляет дополнительную информацию о правах доступа пользователя.<br><br>Добавляет следующие свойства для каждого пользователя:<br>`gui_access` - `(integer)` метод аутентификации пользователя во веб-интерфейсе. Список возможных значений см. в свойстве `gui_access` объекта [группы пользователей](/manual/api/reference/usergroup/object#user-group).<br>`debug_mode` - `(integer)` указывает, включен ли для пользователя режим отладки. Возможные значения: 0 - отладка отключена, 1 - отладка включена.<br>`users_status` - `(integer)` указывает, отключен ли пользователь. Возможные значения: 0 - пользователь включен, 1 - пользователь отключен.|
|selectMedias|query|Возвращать медиа, используемые пользователем, в свойстве [`medias`](/manual/api/reference/user/object#media).|
|selectMediatypes|query|Возвращать типы медиа, используемые пользователем, в свойстве [`mediatypes`](/manual/api/reference/mediatype/object).<br><br>См. [`mediatype.get`](/manual/api/reference/mediatype/get) для ограничений в зависимости от типа пользователя.|
|selectUsrgrps|query|Возвращать группы пользователей, к которым принадлежит пользователь, в свойстве [`usrgrps`](/manual/api/reference/user/object).<br><br>См. [`usergroup.get`](/manual/api/reference/usergroup/get) для ограничений в зависимости от типа пользователя.|
|selectRole|query|Возвращать роль пользователя в свойстве [`role`](/manual/api/reference/role/object#role).|
|filter|object|Возвращать только те результаты, которые в точности соответствуют заданному фильтру.<br><br>Принимает объект, где ключи — это имена свойств, а значения — либо одно значение, либо массив значений, с которыми выполняется сравнение.<br><br>Не поддерживает свойства с [типом данных](/manual/api/reference_commentary#data-types) `text`.<br><br>Возможные свойства [объекта User](/manual/api/reference/user/object) для пользователей типов *Admin* и *User* при запросе данных о пользователях в их группе пользователей: `userid`, `name`, `surname`, `username`.|
|output|query|Свойства [объекта User](/manual/api/reference/user/object), которые нужно вернуть.<br><br>Пользователи типов *Admin* и *User* могут получать только следующие свойства:<br>- Для своего пользователя: `userid`, `attempt_clock`, `attempt_failed`, `attempt_ip`, `autologin`, `autologout`, `lang`, `name`, `provisioned`, `refresh`, `roleid`, `rows_per_page`, `surname`, `theme`, `timezone`, `url`, `username`.<br>- Для пользователей в своей группе пользователей: `userid`, `name`, `surname`, `username`.<br><br>По умолчанию: `extend`.|
|search|object|Возвращать результаты, соответствующие заданному шаблону (без учета регистра).<br><br>Принимает объект, где ключи — это имена свойств, а значения — строки для поиска. Если дополнительные параметры не заданы, будет выполнен поиск `LIKE "%…%"`.<br><br>Поддерживает только свойства с [типами данных](/manual/api/reference_commentary#data-types) `string` и `text`.<br><br>Возможные свойства [объекта User](/manual/api/reference/user/object) для пользователей типов *Admin* и *User* при запросе данных о пользователях в их группе пользователей: `name`, `surname`, `username`.|
|sortfield|string/array|Сортировать результат по указанным свойствам.<br><br>Возможные значения: `userid`, `username`.|
|countOutput|boolean|Эти параметры описаны в [справочном комментарии](/manual/api/reference_commentary#common-get-method-parameters).|
|editable|boolean|^|
|excludeSearch|boolean|^|
|limit|integer|^|
|preservekeys|boolean|^|
|searchByAny|boolean|^|
|searchWildcardsEnabled|boolean|^|
|sortorder|string/array|^|
|startSearch|boolean|^|

[comment]: # ({/d5bb139f-888512e9})

[comment]: # ({7223bab1-7223bab1})
### Возвращаемые значения

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

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

[comment]: # ({/7223bab1-7223bab1})

[comment]: # ({b41637d2-b41637d2})
### Примеры

[comment]: # ({/b41637d2-b41637d2})

[comment]: # ({6a55e19e-7b5c610b})
#### Получение пользователей

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

[Запрос](/manual/api#performing-requests):

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

Ответ:

```json
{
    "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
}
```

[comment]: # ({/6a55e19e-7b5c610b})

[comment]: # ({93e2b113-18cd65ae})
#### Получение пользователей как *Admin*

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

[Запрос](/manual/api#performing-requests):

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

Ответ:

```json
{
    "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": [
                        "john.doe@example.com"
                    ],
                    "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
}
```

[comment]: # ({/93e2b113-18cd65ae})

[comment]: # ({2c8d809a-d85f9654})
#### Получение данных пользователя

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

[Запрос](/manual/api#performing-requests):

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

Ответ:

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

[comment]: # ({/2c8d809a-d85f9654})

[comment]: # ({f7109d71-8d892781})
### См. также

-   [Медиа](/manual/api/reference/user/object#media)
-   [Тип медиа](/manual/api/reference/mediatype/object#media-type)
-   [Группа пользователей](/manual/api/reference/usergroup/object#user-group)
-   [Роль](/manual/api/reference/role/object#role)

[comment]: # ({/f7109d71-8d892781})

[comment]: # ({842f2a42-842f2a42})
### Источник

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

[comment]: # ({/842f2a42-842f2a42})
