Получить всех пользователей
Возвращает массив всех существующих users.
Приватные поля, например пароль, не включены в ответ.
Запрос
HTTP Запрос
text
GET /node/api/usersПрава
Пользователь должен иметь права manage-users, чтобы получить все возможные поля. Подробнее смотрите в разделе Ответ.
Если у пользователя нет прав manage-users, ответ будет содержать только поля id и login.
NOTE
Для пользователей без прав manage-users , поля login будет содержать значение поля displayName .
json
[
{
"id": "5716383a15ebe5891125d6ca",
"login": "exampl******"
},
{
"id": "578cf86daa6ca8853bec66df",
"login": "manually-set-display-name"
},
...
]Параметры пути
Параметры не требуются.
Тело запроса
Тело запроса пустое.
Ответ
Возвращает массив всех пользователей. Подробная информация о модели доступна в статье Пользователь.
Следующие поля возвращаются для нового пользователя:
| Поле | Тип | Описание |
|---|---|---|
| id | String | ID пользователя. |
| login | String | Логин пользователя. Если не указан, в этом поле будет записан его email. |
| displayName | String | Публичное имя пользователя. Используется для скрытия логина. Имя не может совпадать с логином. По умолчанию создаётся из логина. Для этого, вторая половина логина маскируется символом *. |
| permissions | Array<String> | Массив прав, доступных этому пользователю. Подробнее можно прочитать в статье Права. |
| objectPermissions.exclude | Array<String> | Массив объектов, к которым у пользователя нет доступа. Подробнее можно прочитать в статье Права. |
| objectPermissions.include | Array<String> | Массив объектов, к которым у пользователя есть доступ. Подробнее можно прочитать в статье Права. |
| contacts | Array<String> | Массив контактов пользователя (email, номер телефона и т.д.). |
| eventFilter | Array<EventFilter> | Массив фильтров событий, настроенных пользователем. |
| status | Integer | Статус пользователя. |
Остальные публичные поля возвращаются только если им было присвоено значение. Например, если добавить пользователя к группе, то список групп будет добавлен в ответ.
Если вернуть такое поле в стандартное значение, то оно всё равно будет включено в ответ.
- Новый пользователь
- Пользователь добавлен в группу
- Пользователь удалён из всех групп, добавлен email
json
{
"id": "62fb8dcd5bf42e66c36afd42",
"login": "new_user",
"displayName": "new_****",
"permissions": [],
"objectPermissions": {
"include": [],
"exclude": []
},
"contacts": [],
"eventFilter": [],
"status": 2
}json
{
"id": "62fb8dcd5bf42e66c36afd42",
"login": "new_user",
"displayName": "new___**__",
"permissions": [],
"objectPermissions": {
"include": [],
"exclude": []
},
"contacts": [],
"eventFilter": [],
"status": 2,
"group": [
"5a0b26aac9a7733f56b01a14"
]
}json
{
"id": "62fb8dcd5bf42e66c36afd42",
"login": "new_user",
"displayName": "new_****",
"permissions": [],
"objectPermissions": {
"include": [],
"exclude": []
},
"contacts": [],
"eventFilter": [],
"status": 2,
"group": [],
"email": "test_email@example.com"
}Пример
Запрос
- Bash
- JavaScript
- NodeJS
- Python
bash
login=<...>
password=<...>
saymon_hostname=<...>
url=https://$saymon_hostname/node/api/users
curl -X GET $url -u $login:$passwordjavascript
let login = <...>
let password = <...>
let saymonHostname = <...>
let path = "/node/api/users";
let auth = "Basic " + btoa(login + ":" + password);
let headers = new Headers();
headers.append("Authorization", auth);
let requestOptions = {
method: "GET",
headers: headers
};
fetch(saymonHostname + path, requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log("error", error));javascript
const http = require("http");
let login = <...>
let password = <...>
let saymonHostname = <...>
let path = "/node/api/users";
let auth = "Basic " + Buffer.from(login + ":" + password).toString("base64");
let options = {
"method": "GET",
"hostname": saymonHostname,
"headers": {
"Authorization": auth
},
"path": path
};
let req = http.request(options, function (res) {
let chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function (chunk) {
let body = Buffer.concat(chunks);
console.log(body.toString());
});
res.on("error", function (error) {
console.error(error);
});
});
req.end();python
import requests
login = <...>
password = <...>
saymon_hostname = <...>
url = "https://" + saymon_hostname + "/node/api/users"
response = requests.request("GET", url, auth=(login, password))
print(response.text)Ответ
json
[
{
"id": "5e21b752308c3c66d64e072c",
"login": "admin",
"group": null,
"authenticationToken": null,
"status": 2,
"eventFilter": [],
"permissions": [
"manage-objects",
],
"contacts": []
},
{
"id": "5e4fc1c77915112ac209e53d",
"login": "John",
"status": 2,
"eventFilter": [],
"objectPermissions": {
"include": [
1
],
"exclude": [
"5e21b85b308c3c66d64e07bc"
]
},
"permissions": [],
"contacts": []
},
{
"id": "5e78c51788c61a1fbf34b673",
"login": "Bob",
"status": 2,
"eventFilter": [],
"permissions": [
"manage-links"
],
"contacts": []
}
]