Users
Création d'un utilisateur
Route
POST /rest/users
Paramètres
Body
Valeur |
Type |
Obligatoire |
Description |
login |
string |
Oui |
Identifiant de l'utilisateur (utilisé pour se connecter) |
email |
string |
Oui |
Email de l'utilisateur |
firstname |
string |
Oui |
Prénom de l'utilisateur |
lastname |
string |
Oui |
Nom de l'utilisateur |
picture |
base64 |
Non |
Avatar de l'utilisateur |
mode |
string |
Non |
Mode de connexion de l'utilisateur (standard, rest) |
signatureModes |
array |
Non |
Modes de signature de l'utilisateur (parmis les modes définis dans config.json, ["stamp"] par défaut) |
isRest |
boolean |
Non |
Indique si l'utilisateur est un compte de webservice ou non |
x509Fingerprint |
string |
Non |
Empreinte numérique du certificat utilisateur hashé en SHA1 |
Exemple
{
"login" : "user@maarch.com",
"firstname" : "prenom",
"lastname" : "nom",
"email" : "user@maarch.com",
"signatureModes": ["stamp"]
}
Retour
Code Http |
Type |
Description |
Exemple |
200 |
array |
L'utilisateur a été créé |
['id' => 12] |
400 |
array |
Un paramètre obligatoire est manquant ou dans le mauvais format |
['errors' => '...'] |
403 |
array |
Privilège insuffisant |
['errors' => 'Privilege forbidden'] |
Récupération de la liste des utilisateurs
(Certains privilèges sont requis pour récupérer cette liste)
Route
GET /rest/users
Retour
Code Http |
Type |
Description |
200 |
array |
Liste des utilisateurs |
400 |
array |
Message d'erreur |
403 |
array |
Privilège insuffisant |
Données
Valeur |
Type |
Description |
id |
integer |
Identifiant technique de l'utilisateur |
login |
string |
Identifiant de l'utilisateur |
firstname |
string |
Prénom |
lastname |
string |
Nom de famille |
substitute |
boolean |
Indique si l'utilisateur a délégué son parapheur |
email |
string |
Courriel de l'utilisateur |
x509Fingerprint |
string |
Empreinte numérique du certificat utilisateur hashé en SHA1 (retourné uniquement si l'utilisateur connecté est un compte de WebService) |
Exemple
{
"users": [
{
"id": 1,
"login": "rocky@balboa.com",
"firstname": "Sylvester",
"lastname": "Stallone",
"substitute": false,
"email": "rocky@maarch.org"
},
{
"id": 2,
"login": "walker.texas@ranger.com",
"firstname": "Chuck",
"lastname": "Norris",
"substitute": false,
"email": "walker@maarch.org"
}
]
}
(Certains privilèges sont requis pour récupérer ces informations)
Route
GET /rest/users/{id}
Paramètres
Valeur |
Type |
Obligatoire |
Description |
id |
integer |
Oui |
Identifiant technique de l'utilisateur |
Retour
Code Http |
Type |
Description |
200 |
array |
Informations de l'utilisateur |
400 |
array |
Message d'erreur |
403 |
array |
Privilège insuffisant |
Données
Valeur |
Type |
Description |
id |
integer |
Identifiant technique de l'utilisateur |
login |
string |
Identifiant de l'utilisateur |
firstname |
string |
Prénom |
lastname |
string |
Nom de famille |
substitute |
boolean |
Indique si l'utilisateur a délégué son parapheur |
email |
string |
Courriel de l'utilisateur |
picture |
string |
Avatar de l'utilisateur, encodé en base64 |
isRest |
boolean |
Indique si l'utilisateur est un compte de webservice ou non |
groups |
array |
Nom des groupes auxquels appartient l'utilisateur |
signatureModes |
array |
Identifiant des modes de signature activés pour l'utilisateur |
x509Fingerprint |
string |
Empreinte numérique du certificat utilisateur hashé en SHA1 (retourné uniquement si l'utilisateur connecté est un compte de WebService) |
Exemple
{
"user": {
"id": 1,
"login": "rocky@balboa.com",
"email": "rocky@maarch.org",
"firstname": "Sylvester",
"lastname": "Stallone",
"picture": "data:image/jpeg;base64,/9j/4AA.......VKgcf/2Q==",
"preferences": "{\"lang\": \"fr\", \"writingMode\": \"direct\", \"writingSize\": 4, \"writingColor\": \"#000000\", \"notifications\": true}",
"substitute": null,
"isRest": false,
"signatureModes": [
"stamp",
"eidas",
"inca_card",
"rgs_2stars"
],
"groups": [
{
"label": "Administrateur"
}
]
}
}
(Certains privilèges sont requis pour mettre à jour ces informations)
Route
PUT /rest/users/{id}
Paramètres
URL
Valeur |
Type |
Obligatoire |
Description |
id |
integer |
Oui |
Identifiant technique de l'utilisateur |
Body
Valeur |
Type |
Obligatoire |
Description |
firstname |
string |
Oui |
Prénom |
lastname |
string |
Oui |
Nom de famille |
email |
string |
Oui |
Courriel de l'utilisateur |
x509Fingerprint |
string |
Non |
Empreinte numérique du certificat utilisateur hashé en SHA1 (pris en compte uniquement si l'utilisateur connecté est un compte de WebService) |
Exemple
{
"firstname" : "prenom",
"lastname" : "nom",
"email" : "user@maarch.com"
}
Retour
Code Http |
Type |
Description |
Exemple |
200 |
array |
Les modifications ont été enregistrés. Toutes les informations de l'utilisateurs sont retournées |
Voir GET /rest/users/{id} |
400 |
array |
Un paramètre obligatoire est manquant |
['errors' => '...'] |
403 |
array |
Privilège insuffisant |
Mise à jour des signatures externes d'un utilisateur
Route
PUT /rest/users/{id}/externalSignatures
Paramètres
URL
Valeur |
Type |
Obligatoire |
Description |
id |
integer |
Oui |
Identifiant technique de l'utilisateur |
Body
Valeur |
Type |
Obligatoire |
Description |
externalApplication |
string |
Oui |
Nom de l'application externe |
signatures |
array |
Oui |
Signatures |
Le tableau signatures peut contenir 1 à N signatures. Chaque signature représente une case de ce tableau.
Exemple
{
"externalApplication" : "MaarchCourrier",
"signatures" : [
{
"format" : "png",
"encodedSignature" : "deJOIJKiSDYUIfolpcdm"
},
{
"format" : "jpeg",
"encodedSignature" : "REUGFMLLlpxjeoikjcxoe668v"
}
]
}
Retour
Code Http |
Type |
Description |
Exemple |
204 |
array |
Les signatures ont bien été créées |
|
400 |
array |
Un paramètre obligatoire est manquant |
['errors' => '...'] |
403 |
array |
Le privilege 'manage_users' est obligatoire pour administrer un autre utilisateur |
['errors' => 'Privilege forbidden'] |
500 |
array |
Une erreur s'est produite |
['errors' => '...'] |
Récupération des utilisateurs pour initier un circuit de visa
Route
GET /rest/autocomplete/users
Paramètres
URL
Valeur |
Type |
Obligatoire |
Description |
search |
string |
Oui |
contenu de la recherche |
Retour
Code Http |
Type |
Description |
200 |
array |
Liste des utilisateurs |
400 |
array |
Le paramètre search est vide ou non défini |
Données
Valeur |
Type |
Description |
id |
integer |
Identifiant technique de l'utilisateur |
firstname |
string |
Prénom |
lastname |
string |
Nom de famille |
substitute |
boolean |
Indique si l'utilisateur a délégué son parapheur |
email |
string |
Courriel de l'utilisateur |
signatureModes |
array |
Modes de signature disponible pour l'utilisateur |
Exemple
[
{
"id": 156,
"firstname": "Amanda",
"lastname": "ACKERMANN",
"email": "info@maarch.org",
"substitute": false,
"signatureModes": [
"stamp",
"eidas",
"rgs_2stars"
]
},
{
"id": 152,
"firstname": "Barbara",
"lastname": "BAIN",
"email": "info@maarch.org",
"substitute": false,
"signatureModes": [
"stamp",
"eidas",
"inca_card"
]
}
]