Rechercher les groupes et permissions
Créer, mettre à jour et supprimer des utilisateurs commence toujours par rechercher les UID que vous référencerez. Cette page est la référence unique pour ces recherches.
Voir Gestion des utilisateurs pour une vue d'ensemble des concepts fondamentaux (groupes, profils, groupes d'applications et permissions sur les objets).
Groupes d'utilisateurs
Les UID de groupe renvoyés ici sont passés comme userGroupUids lors de la création ou de la mise à jour d'un utilisateur.
GET /v1/organizations/DEMO/groups?pageNumber=1&pageSize=20
- Python
- PHP
- JavaScript
- Java
- Go
- C#
import requests
BASE_URL = "https://api.stonal.io/users"
TOKEN = "<access_token>"
resp = requests.get(
f"{BASE_URL}/v1/organizations/DEMO/groups",
headers={"Authorization": f"Bearer {TOKEN}"},
params={"pageNumber": 1, "pageSize": 20},
)
print(resp.status_code, resp.json())
<?php
$baseUrl = "https://api.stonal.io/users";
$token = "<access_token>";
$ch = curl_init("$baseUrl/v1/organizations/DEMO/groups?pageNumber=1&pageSize=20");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer $token"],
]);
$response = curl_exec($ch);
echo curl_getinfo($ch, CURLINFO_HTTP_CODE) . PHP_EOL . $response;
curl_close($ch);
const baseUrl = "https://api.stonal.io/users";
const token = "<access_token>";
const res = await fetch(
`${baseUrl}/v1/organizations/DEMO/groups?pageNumber=1&pageSize=20`,
{ headers: { Authorization: `Bearer ${token}` } }
);
console.log(res.status, await res.json());
import java.net.URI;
import java.net.http.*;
String baseUrl = "https://api.stonal.io/users";
String token = "<access_token>";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(baseUrl + "/v1/organizations/DEMO/groups?pageNumber=1&pageSize=20"))
.header("Authorization", "Bearer " + token)
.GET()
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode() + " " + response.body());
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
baseURL := "https://api.stonal.io/users"
token := "<access_token>"
req, _ := http.NewRequest("GET", baseURL+"/v1/organizations/DEMO/groups?pageNumber=1&pageSize=20", nil)
req.Header.Set("Authorization", "Bearer "+token)
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
out, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode, string(out))
}
using System.Net.Http;
using System.Net.Http.Headers;
var baseUrl = "https://api.stonal.io/users";
var token = "<access_token>";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
var response = await client.GetAsync($"{baseUrl}/v1/organizations/DEMO/groups?pageNumber=1&pageSize=20");
Console.WriteLine($"{(int)response.StatusCode} {await response.Content.ReadAsStringAsync()}");
Voir Obtenir les groupes
Permissions
Les UID de permission renvoyés ici sont passés comme permissions[].uid lors de la création ou de la mise à jour d'un utilisateur.
GET /v1/organizations/DEMO/users/permissions?pageNumber=1&pageSize=20&type=...
- Python
- PHP
- JavaScript
- Java
- Go
- C#
import requests
BASE_URL = "https://api.stonal.io/users"
TOKEN = "<access_token>"
resp = requests.get(
f"{BASE_URL}/v1/organizations/DEMO/users/permissions",
headers={"Authorization": f"Bearer {TOKEN}"},
params={"pageNumber": 1, "pageSize": 20, "type": "PROFILE"},
)
print(resp.status_code, resp.json())
<?php
$baseUrl = "https://api.stonal.io/users";
$token = "<access_token>";
$ch = curl_init("$baseUrl/v1/organizations/DEMO/users/permissions?pageNumber=1&pageSize=20&type=PROFILE");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer $token"],
]);
$response = curl_exec($ch);
echo curl_getinfo($ch, CURLINFO_HTTP_CODE) . PHP_EOL . $response;
curl_close($ch);
const baseUrl = "https://api.stonal.io/users";
const token = "<access_token>";
const res = await fetch(
`${baseUrl}/v1/organizations/DEMO/users/permissions?pageNumber=1&pageSize=20&type=PROFILE`,
{ headers: { Authorization: `Bearer ${token}` } }
);
console.log(res.status, await res.json());
import java.net.URI;
import java.net.http.*;
String baseUrl = "https://api.stonal.io/users";
String token = "<access_token>";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(baseUrl + "/v1/organizations/DEMO/users/permissions?pageNumber=1&pageSize=20&type=PROFILE"))
.header("Authorization", "Bearer " + token)
.GET()
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode() + " " + response.body());
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
baseURL := "https://api.stonal.io/users"
token := "<access_token>"
req, _ := http.NewRequest("GET", baseURL+"/v1/organizations/DEMO/users/permissions?pageNumber=1&pageSize=20&type=PROFILE", nil)
req.Header.Set("Authorization", "Bearer "+token)
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
out, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode, string(out))
}
using System.Net.Http;
using System.Net.Http.Headers;
var baseUrl = "https://api.stonal.io/users";
var token = "<access_token>";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
var response = await client.GetAsync($"{baseUrl}/v1/organizations/DEMO/users/permissions?pageNumber=1&pageSize=20&type=PROFILE");
Console.WriteLine($"{(int)response.StatusCode} {await response.Content.ReadAsStringAsync()}");
Utilisez les paramètres de requête type (et subType facultatif) pour filtrer ce dont vous avez besoin :
| Pour trouver… | Filtre de requête |
|---|---|
| Profils | type=PROFILE |
| Groupes d'applications | type=SCOPE_GROUP&subType=APPLICATION |
| Sociétés | type=ASSET&subType=COMPANY |
| Portefeuilles | type=ASSET&subType=PORTFOLIO |
| Sites | type=ASSET&subType=FACILITY |
| Groupes de bâtiments | type=ASSET&subType=BUILDING_GROUP |
| Bâtiments | type=ASSET&subType=BUILDING |
| Groupes de rapports | type=REPORT_GROUP |
Notes supplémentaires sur le filtrage :
typeaccepte une liste séparée par des virgules (par ex.type=ASSET,PROFILE)qeffectue une recherche en texte libre sur les noms de permissionparentUidscombiné àlevelvous permet de parcourir la hiérarchie des permissionswithUsers=trueinclut le nombre d'utilisateurs dans la réponse
Trouver un utilisateur existant
Le uid de chaque utilisateur dans les résultats est l'identifiant que vous passez aux appels de création, de mise à jour ou de suppression.
GET /v2/organizations/DEMO/users?pageNumber=1&pageSize=20&q=john.doe@example.com
- Python
- PHP
- JavaScript
- Java
- Go
- C#
import requests
BASE_URL = "https://api.stonal.io/users"
TOKEN = "<access_token>"
resp = requests.get(
f"{BASE_URL}/v2/organizations/DEMO/users",
headers={"Authorization": f"Bearer {TOKEN}"},
params={"pageNumber": 1, "pageSize": 20, "q": "john.doe@example.com"},
)
print(resp.status_code, resp.json())
<?php
$baseUrl = "https://api.stonal.io/users";
$token = "<access_token>";
$ch = curl_init("$baseUrl/v2/organizations/DEMO/users?pageNumber=1&pageSize=20&q=john.doe%40example.com");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer $token"],
]);
$response = curl_exec($ch);
echo curl_getinfo($ch, CURLINFO_HTTP_CODE) . PHP_EOL . $response;
curl_close($ch);
const baseUrl = "https://api.stonal.io/users";
const token = "<access_token>";
const params = new URLSearchParams({ pageNumber: 1, pageSize: 20, q: "john.doe@example.com" });
const res = await fetch(
`${baseUrl}/v2/organizations/DEMO/users?${params}`,
{ headers: { Authorization: `Bearer ${token}` } }
);
console.log(res.status, await res.json());
import java.net.URI;
import java.net.http.*;
String baseUrl = "https://api.stonal.io/users";
String token = "<access_token>";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(baseUrl + "/v2/organizations/DEMO/users?pageNumber=1&pageSize=20&q=john.doe%40example.com"))
.header("Authorization", "Bearer " + token)
.GET()
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode() + " " + response.body());
package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL := "https://api.stonal.io/users"
token := "<access_token>"
params := url.Values{"pageNumber": {"1"}, "pageSize": {"20"}, "q": {"john.doe@example.com"}}
req, _ := http.NewRequest("GET", baseURL+"/v2/organizations/DEMO/users?"+params.Encode(), nil)
req.Header.Set("Authorization", "Bearer "+token)
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
out, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode, string(out))
}
using System.Net.Http;
using System.Net.Http.Headers;
var baseUrl = "https://api.stonal.io/users";
var token = "<access_token>";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
var response = await client.GetAsync(
$"{baseUrl}/v2/organizations/DEMO/users?pageNumber=1&pageSize=20&q=john.doe%40example.com"
);
Console.WriteLine($"{(int)response.StatusCode} {await response.Content.ReadAsStringAsync()}");
Paramètres de filtrage supplémentaires :
permissions— filtrer par libellé de permission, par ex.permissions=PROFILE:Administrator,SCOPE_GROUP:AlluserGroups— filtrer par nom de groupe, par ex.userGroups=Administrators,Readers