Opérations sur les Listes Externes
  • 06 Nov 2023
  • 6 Minuten zu lesen
  • Dunkel
    Licht

Opérations sur les Listes Externes

  • Dunkel
    Licht

The content is currently unavailable in German. You are viewing the default French version.
Artikel-Zusammenfassung

Le Token d'identification permet aussi de réaliser des opérations sur les Liste Externe auxquelles vous avez l'accès.


1. Opérations sur les Listes Externes

1.1. Récupérer la liste des Listes Externes

La première opération consiste à récupérer une liste de toutes les Listes Externes sur lesquelles vous avez des droits.

Cette opération consiste à envoyer une requête en GET à l'URL suivante : https://forms.kizeo.com/rest/v3/lists.

En cas de réussite de la requête HTTP, vous obtiendrez une réponse sous le format suivant :


{
  "status": "ok",
  "lists": [
    // Première liste identifiée par son "id" et son "name"
    {
      "id": "listId1",
      "name": "listName1",
      "class": "",
      "update_time": null  // Date de modification à null si elle n'a jamais été modifiée après création
    },
    // Deuxième liste
    {
      "id": "listId2",
      "name": "listName2",
      "class": "",
      "update_time": "date"
    }
  ]
}

1.2. Récupérer les détails d'une Liste Externe

La commande précédente vous donnant les id de toutes les listes que vous pouvez voir, vous pouvez maintenant demander tous les détails concernant une seule liste.

Pour faire cette opération, il faut envoyer une requête en GET à l'URL suivante : https://forms.kizeo.com/rest/v3/lists/{listId} où listId est l'identifiant de la liste dont on veut voir les détails.

Si la requête a été effectuée correctement, vous devriez recevoir une réponse sous le format suivant :


{
  "status": "ok",
  "list": {
    "id": "listId",
    "name": "listName1",
    "class": "",
    "update_time": null,
    "items": [
      "key1:value1",
      "key2:value2",
      "key3:value3",
      "key4:value4",
      "key5:value5"
    ]
  }
}

Important :

Chaque élément de la liste externe (hiérarchie, label, référence) a la possibilité de posséder un code. De notre côté, pour des raisons techniques, nous considérons que ce code existe systématiquement. Si vous faites le choix de ne pas en mettre, nous allons alors le créer à l'identique de la hiérarchie, du label ou de la référence. Dans ce cas, lors de la réception de la structure de la liste externe, toutes les informations sont doublées. En réalité, vous avez la structure "code_level:label_level", "code_label:label_label" ou "code_ref:label_ref".

1.3. Mettre à jour une Liste Externe

Maintenant que vous avez toutes les informations détaillées de votre liste, vous allez pouvoir mettre à jour le tableau "items" de cette liste.

Cette action est possible par l'envoi d'une requête en PUT à l'URL suivante : https://forms.kizeo.com/rest/v3/lists/{listId}.

Cependant attention, cette commande efface toutes les valeurs dans le tableau "items" avant d'y insérer les nouvelles valeurs que vous lui donnez.

Vous devrez ajouter les nouvelles valeurs des items de la liste sous le format suivant dans le corps de la requête :


{
  "items": [
    "string",
    "string",
    "string",
    "string",
    "string"
  ]
}

Si l'opération a réussi, la réponse que vous obtiendrez sera la suivante :


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

2. Exemples de codes 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 toutes les Listes Externes :


<?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/lists',
  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 récupérer tous les détails d'une Liste Externe :


<?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/lists/' . $listId,
  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.3. Voici un exemple de comment mettre à jour une Liste Externe :


<?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/lists/' . $listId,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "PUT",
  // Ajout des paramètres dans le corps de la requête
  CURLOPT_POSTFIELDS =>  "{\n  \"items\": [\n    \"item1\", \"item2\", \"item3\"\n  ]\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. Exemple de codes Java (OK HTTP)

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();

// Définition des entêtes de la requête
Request request = new Request.Builder()
  .url("https://forms.kizeo.com/rest/v3/lists")
  .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 récupérer tous les détails d'une Liste Externe :


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

// Définition des entêtes de la requête avec l'identifiant de la liste dans l'URL
Request request = new Request.Builder()
  .url("https://forms.kizeo.com/rest/v3/lists/" . listId)
  .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.3. Voici un exemple de comment mettre à jour une Liste Externe :


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

// Définition des entêtes et du corps (body) de la requête avec l'identifiant de la liste dans l'URL
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\r\n  \"items\": [\r\n    \"item1\", \"item2\", \"item3\"\r\n  ]\r\n}");
Request request = new Request.Builder()
  .url("https://forms.kizeo.com/rest/v3/lists/" . listId)
  .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. Exemple de code Javascript (jQuery Ajax)

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

// Définition des paramètres et des entêtes de la requête
var settings = {
    async: true,
    crossDomain: true,
    url: 'https://forms.kizeo.com/rest/v3/lists',
    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 récupérer tous les détails d'une Liste Externe :

var listId
// Définition des paramètres et des entêtes de la requête avec l'identifiant de la liste dans l'URL
var settings = {
    async: true,
    crossDomain: true,
    url: 'https://forms.kizeo.com/rest/v3/lists/'.listId,
    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.3. Voici un exemple de comment mettre à jour une Liste Externe :

var listId
// Définition des paramètres et des entêtes de la requête avec l'identifiant de la liste dans l'URL
var settings = {
    async: true,
    crossDomain: true,
    url: 'https://forms.kizeo.com/rest/v3/lists/'.listId,
    method: 'PUT',
    headers: {
        'content-type': 'application/json',
        Authorization: 'YOUR_TOKEN',
        'cache-control': 'no-cache',
    },
    // Ajout des données dans le corps de la requête
    processData: false,
    data: '{\r\n  "items": [\r\n    "test1", "test2", "test3"\r\n  ]\r\n}',
}

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