Documentation en ligne

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

Dernière mise à jour le 18 juin 2023 18:32 — Éditer