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" }