Opérations sur les Utilisateurs
  • 06 Nov 2023
  • 6 Minutes à lire
  • Sombre
    Clair

Opérations sur les Utilisateurs

  • Sombre
    Clair

Résumé de l’article

Réalisez des opérations sur les Utilisateur telles que la récupération, l'ajout ou la modification d'Utilisateurs.

1. Opérations sur les Utilisateurs

1.1. Récupérer la liste des utilisateurs

Vous avez aussi à disposition de nombreuses fonctions permettant des opérations sur les utilisateurs. La première d'entre elles permet simplement de récupérer la liste de tous les utilisateurs de votre entreprise.

Elle consiste en une requête HTTP en GET à envoyer à l'URL suivante : https://forms.kizeo.com/rest/v3/users.

Si la requête a fonctionné, vous devriez obtenir un résultat comme suit :


{
  "status": "ok",
  "data": {
    "users": [
      {
        "id": "userID1",
        "login": "string",
        "first_name": "string",
        "last_name": "string",
        "create_time": "date",
        "email": "mail@mail.com",
        "phone": "0000000000",
        "is_user": boolean,
        "is_admin": boolean,
        "is_super_admin": boolean,
        "is_current_user": boolean,
        "form_user": boolean,
        "admin": boolean,
        "leader_group": boolean,
        "store_validator": boolean,
        "allow_create_user": boolean,
        "allow_create_group": boolean,
        "allow_order": boolean,
        "user_ref1": null,
        "user_ref2": null,
        "user_ref3": null,
        "user_ref4": null,
        "user_ref5": null,
        "user_ref6": null,
        "user_ref7": null,
        "user_ref8": null,
        "user_ref9": null,
        "user_ref10": null,
        "user_ref11": null,
        "user_ref12": null,
        "user_ref13": null,
        "user_ref14": null,
        "user_ref15": null,
        "user_ref16": null,
        "user_ref17": null,
        "user_ref18": null,
        "user_ref19": null,
        "user_ref20": null,
        "main_group_id": null
      },
      {
          "id": "userID2",
          .
          .
          .
      }
    ]
  }
}

1.2. Ajouter un utilisateur

Vous avez aussi la possibilité de créer un utilisateur en passant par une requête de type POST à l'URL : https://forms.kizeo.com/rest/v3/users.

Vous devrez ajouter dans le corps de la requête les informations sous le format suivant :

{
    "login": "string",
    "password": "string",
    "first_name": "string",
    "last_name": "string",
    "phone": "string",
    "email": "string",
    "admin": "boolean",
    "form_user": "boolean",
    "allow_form_menu": "boolean",
    "allow_externallist_menu": "boolean",
    "allow_user_menu": "boolean",
    "allow_application_menu": "boolean",
    "allow_export_menu": "boolean",
    "allow_data_menu": "boolean",
    "allow_account_menu": "boolean"
}

Si la requête que vous avez envoyé a fonctionné, vous obtiendrez la réponse suivante :

{
    "status": "ok",
    "message": "Created",
    "data": {
        // Identifiant créé pour l'utilisateur
        "id": "userID"
    }
}

1.3. Modifier les informations d'un utilisateur

En récupérant la liste de tous les utilisateurs, la première donnée que vous obtiendrez pour chacun d'entre eux est son identifiant (userID).

À partir de cet identifiant, vous pouvez modifier les informations relatives à un utilisateur.

Pour modifier les données d'un utilisateur, vous devrez envoyer une requête de type PUT à l'URL : https://forms.kizeo.com/rest/v3/users/{userID}.

Vous devrez remplir le corps de la requête avec les informations suivantes, dont tous les attributs excepté le login sont optionnels, vous n'aurez qu'à préciser les attributs que vous voulez modifier.

{
    "login": "string", // Attribut obligatoire
    "password": "string",
    "first_name": "string",
    "last_name": "string",
    "phone": "string",
    "email": "string",
    "admin": "boolean",
    "form_user": "boolean",
    "allow_form_menu": "boolean",
    "allow_externallist_menu": "boolean",
    "allow_user_menu": "boolean",
    "allow_application_menu": "boolean",
    "allow_export_menu": "boolean",
    "allow_data_menu": "boolean",
    "allow_account_menu": "boolean"
}

En cas de succès, vous recevrez une réponse sous le format suivant :

{
    "status": "ok",
    "message": "Updated"
}

2. Exemples de code en PHP

Si cURL n'est pas déjà préinstallé, voici un lien qui pourrait vous aider à l'installer.

2.1. Voici un exemple de requête HTTP en PHP pour obtenir la liste de tous les utilisateurs :


<?php

// Initialisation de la requête
$curl = curl_init();

// Définition des entêtes et paramètres
curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://forms.kizeo.com/rest/v3/users/',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "authorization: YOUR_TOKEN",
    "cache-control: no-cache",
    "content-type: application/json"
  ),
));

// Envoi de la requête et affichage de la réponse
$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}

2.2. L'exemple suivant montre comment créer un nouvel utilisateur


<?php

$listId;
// Initialisation de la requête
$curl = curl_init();

// Définition des entêtes et paramètres
curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://forms.kizeo.com/rest/v3/users',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  // Ajout des paramètres dans le corps de la requête
  CURLOPT_POSTFIELDS =>  "{\n  \"login\": \"string\",\n  \"password\": \"string\",\n  \"first_name\": \"string\",\n  \"last_name\": \"string\",\n  \"main_group_id\": -1,\n  \"admin\": boolean,\n  \"leader_group\": boolean,\n  \"form_user\": boolean\n}",
  CURLOPT_HTTPHEADER => array(
    "authorization: YOUR_TOKEN",
    "cache-control: no-cache",
    "content-type: application/json"
  ),
));

// Envoi de la requête et affichage de la réponse
$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}

2.3. Voici un exemple de comment mettre à jour un utilisateur


<?php

$userId;
// Initialisation de la requête
$curl = curl_init();

// Définition des entêtes et paramètres
curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://forms.kizeo.com/rest/v3/users/' . $userId,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  // Définition des paramètres à modifier pour l'utilisateur dans le corps de la requête
  // Dans cet exemple, on retire à l'utilisateur ses droits "admin" et "form_user"
  CURLOPT_POSTFIELDS =>  "{\n  \"login\":\"string\",\n  \"admin\": false,\n  \"form_user\": false\n}",
  CURLOPT_HTTPHEADER => array(
    "authorization: YOUR_TOKEN",
    "cache-control: no-cache",
    "content-type: application/json"
  ),
));

// Envoi de la requête et affichage de la réponse
$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}

3. Exemples de code en Java

3.1. Voici un exemple de requête HTTP en Java pour obtenir la liste de toutes les listes externes :


// Initialisation de la requête
OkHttpClient client = new OkHttpClient();

// Ajout des entêtes de la requête
Request request = new Request.Builder()
  .url("https://forms.kizeo.com/rest/v3/users")
  .get()
  .addHeader("content-type", "application/json")
  .addHeader("authorization", "YOUR_TOKEN")
  .addHeader("cache-control", "no-cache")
  .build();

// Envoi de la requête
Response response = client.newCall(request).execute();

3.2. L'exemple suivant montre comment créer un nouvel utilisateur


// Initialisation de la requête
OkHttpClient client = new OkHttpClient();

// Ajout des paramètres dans le corps de la requête
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\r\n  \"login\": \"string\",\r\n  \"password\": \"string\",\r\n  \"first_name\": \"string\",\r\n  \"last_name\": \"string\",\r\n  \"main_group_id\": -1,\r\n  \"admin\": boolean,\r\n  \"leader_group\": boolean,\r\n  \"form_user\": boolean\r\n}");

// Ajout des entêtes de la requête
Request request = new Request.Builder()
  .url("https://forms.kizeo.com/rest/v3/users")
  .post(body)
  .addHeader("content-type", "application/json")
  .addHeader("authorization", "YOUR_TOKEN")
  .addHeader("cache-control", "no-cache")
  .build();

// Envoi de la requête
Response response = client.newCall(request).execute();

3.3. Voici un exemple de comment mettre à jour un utilisateur


string userId;
// Initialisation de la requête
OkHttpClient client = new OkHttpClient();

// Définition des paramètres à modifier pour l'utilisateur dans le corps de la requête
// Dans cet exemple, on retire à l'utilisateur ses droits "admin" et "form_user"
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n  \"login\":\"string\",\n  \"admin\": boolean,\n  \"form_user\": boolean\n}");
Request request = new Request.Builder()
  .url("https://forms.kizeo.com/rest/v3/users/" . userId)
  .put(body)
  .addHeader("content-type", "application/json")
  .addHeader("authorization", "YOUR_TOKEN")
  .addHeader("cache-control", "no-cache")
  .build();

// Envoi de la requête
Response response = client.newCall(request).execute();

4. Exemples de code en Javascript

4.1. Voici un exemple de requête HTTP en Javascript pour obtenir la liste de toutes les listes externes :

// Initialisation de la requête et ajout des entêtes
var settings = {
    async: true,
    crossDomain: true,
    url: 'https://forms.kizeo.com/rest/v3/users',
    method: 'GET',
    headers: {
        'content-type': 'application/json',
        authorization: 'YOUR_TOKEN',
        'cache-control': 'no-cache',
    },
}

// Envoi de la requête et affichage de la réponse
$.ajax(settings).done(function(response) {
    console.log(response)
})

4.2. L'exemple suivant montre comment créer un nouvel utilisateur

// Initialisation de la requête et ajout des entêtes
var settings = {
    async: true,
    crossDomain: true,
    url: 'https://forms.kizeo.com/rest/v3/users',
    method: 'POST',
    headers: {
        'content-type': 'application/json',
        authorization: 'YOUR_TOKEN',
        'cache-control': 'no-cache',
    },
    // Ajout des paramètres dans le corps de la requête
    processData: false,
    data:
        '{\r\n  "login": "string",\r\n  "password": "string",\r\n  "first_name": "string",\r\n  "last_name": "string",\r\n  "main_group_id": -1,\r\n  "admin": boolean,\r\n  "leader_group": boolean,\r\n  "form_user": boolean\r\n}',
}

// Envoi de la requête et affichage de la réponse
$.ajax(settings).done(function(response) {
    console.log(response)
})

4.3. Voici un exemple de comment mettre à jour un utilisateur

var userId
// Initialisation et définition des entêtes de la requête
var settings = {
    async: true,
    crossDomain: true,
    url: 'https://forms.kizeo.com/rest/v3/users/'.userId,
    method: 'PUT',
    headers: {
        'content-type': 'application/json',
        authorization: 'YOUR_TOKEN',
        'cache-control': 'no-cache',
    },
    // Définition des paramètres à modifier pour l'utilisateur dans le corps de la requête
    // Dans cet exemple, on retire à l'utilisateur ses droits "admin" et "form_user"
    processData: false,
    data: '{\n  "login":"string",\n  "admin": boolean,\n  "form_user": boolean \n}',
}

// Envoi de la requête et affichage de la réponse
$.ajax(settings).done(function(response) {
    console.log(response)
})