Créer un rôle
La création d'un rôle se fait avec le WebService accessible à l'adresse /api/roles/ via la méthode HTTP POST en soumettant un document JSON décrivant le rôle à créer.
Paramètres
|
Propriété |
Description |
Valeur requise |
Valeur permise |
|---|---|---|---|
| name | nom | oui | chaîne quelconque |
| slug | identifiant court | non | chaîne quelconque |
| ou | identifiant d'une collectivité | non | chaîne quelconque |
Les valeurs null ne sont pas autorisées.
Exemple
POST /api/roles/ HTTP/1.1
Content-Type: application/json
Authorization: Basic xxxx
Content-Length: xxx
{
"name": "Foo"
}
Retour Passant
201 Created
Content-Type: application/json
Content-Length: xxx
{
"name": "Foo",
"ou": "default",
"slug": "foo",
"uuid": "99aa781541e84b51b47c9e379bc282a8"
}
Cas non-passant
|
Code |
Signification |
Contenu |
|---|---|---|
| 400 | Le format de la requête est invalide (paramètre interdit ou avec une valeur invalide) | Un document JSON décrivant les erreurs rencontrées |
| 401 | L'authentification a échouée | |
| 403 | Permission non accordée d'effectuer l'action |
Par exemple :
HTTP/1.1 400 BAD REQUEST
Content-Type: application/json
Content-Length: xxxx
{
"errors": {
"name": [
"Ce champ est obligatoire."
]
},
"result": 0
}
Créer ou obtenir un rôle
Il est également possible d'effectuer l'opération hybride "get or create" : recherche d'un rôle selon certains attributs et création du rôle uniquement si la recherche échoue. L'opération se fait sur la même l'adresse que la création d'un rôle /api/roles/ via la méthode HTTP POST en soumettant un document JSON décrivant le rôle à rechercher/créer. Par rapport à la création simple il faut ajouter un ou plusieurs paramètres get_or_create=nom-de-l'attribut dans la query string, pour indiquer sur quels attributs doit se baser la recherche.
Exemple
POST /api/roles/?get_or_create=name HTTP/1.1
Content-Type: application/json
Authorization: Basic xxxx
Content-Length: xxx
{
"name": "Foo"
}
Retour Passant
200 OK
Content-Type: application/json
Content-Length: xxx
{
"name": "Foo",
"ou": "default",
"slug": "foo",
"uuid": "99aa781541e84b51b47c9e379bc282a8"
}
Mettre à jour ou obtenir un rôle
Sur le même principe que le "get or create", il est possible d'effectuer l'opération hybride "update or create" : recherche d'un rôle selon certains attributs avec création du rôle si la recherche échoue et mise à jour du rôle si la recherche réussit. Il faut ajouter un ou plusieurs paramètres update_or_create=nom-de-l'attribut dans la query string, pour indiquer sur quels attributs doit se baser la recherche.
Exemple :
POST /api/roles/?update_or_create=name HTTP/1.1
Content-Type: application/json
Authorization: Basic xxxx
Content-Length: xxx
{
"name": "Foo",
"slug": "foobar"
}
Retour Passant
200 OK
Content-Type: application/json
Content-Length: xxx
{
"name": "Foo",
"ou": "default",
"slug": "foobar",
"uuid": "99aa781541e84b51b47c9e379bc282a8"
}
