Opérations sur les Exports
  • 06 Nov 2023
  • 7 Minutes à lire
  • Sombre
    Clair

Opérations sur les Exports

  • Sombre
    Clair

Résumé de l’article

Réalisez des opérations sur les Exports grâce à l'API Kizeo Forms.


1. Opérations sur les Exports

1.1. Récupérer la liste de tous les exports disponibles

De nombreuses fonctions sont disponibles pour vous permettre d'exporter vos données dans plusieurs formats définis.

La première de ces fonctions est logiquement celle qui permet de récupérer la liste des exports disponibles.

Pour faire cette opération, il suffit d'envoyer une requête en GET à l'URL suivante : https://forms.kizeo.com/rest/v3/forms/{formId}/exports.

Si la requête ne contient pas d'erreur, vous devez recevoir une réponse sous la forme :


{
  "status": "ok",
  "exports": [
    // Premier export disponible
    {
      "form_id": "formId",
      "name": "form_name",
      "type": "word",
      "json": {
        "exportName": "export_name",
        "file": "export_file_name.docx",
        "showInvisible": boolean
      },
      "is_default": boolean,
      "deleted": boolean,
      "computedNames": {
        "word": "file_name",
        "pdf": "file_name (PDF)"
      },
      "id": "exportId1"
    },
    // Deuxième export disponible
    {
      "form_id": "formId",
      "name": "form_name",
      "type": "word",
      "json": {
        "exportName": "export_name",
        "file": "file_name.docx",
        "showInvisible": boolean
      },
      "is_default": boolean,
      "deleted": boolean,
      "computedNames": {
        "word": "file_name",
        "pdf": "file_name (PDF)"
      },
      "id": "exportId2"
    }
  ]
}

1.2. Récupérer les données d'un formulaire au format CSV et Excel liste

Parmi les fonctions d'export disponibles, il existe une fonction qui permet de récupérer les données d'un formulaire au format CSV, et son équivalente permettant de récupérer les données au format Excel liste.

Ces deux fonctions consistent à envoyer une requête en POST, à l'URL suivante : https://forms.kizeo.com/rest/v3/forms/{formId}/data/multiple/{format}, en remplaçant {format} par csv si vous voulez vos données au format CSV, ou par excel si vous voulez vos données au format Excel.

Dans le corps de la requête il faudra préciser l'identifiant de chacune des données que vous souhaitez exporter au format JSON suivant :


{
  "data_ids": [
    "dataId1",
    "dataId2",
    "dataId3",
    ...
  ]
}

Si la requête est effectuée correctement, vous recevrez vos données au format souhaité.

1.3. Exporter une donnée de l'export choisi en PDF

En plus de pouvoir exporter les données au format CSV et Excel liste, vous pouvez aussi choisir d'exporter une ou plusieurs données de votre formulaire vers un export choisi parmi les exports disponibles (Cf. Partie 1) au format PDF standard.

Pour ce faire, vous devrez envoyer une requête en POST à l'URL suivante : https://forms.kizeo.com/rest/v3/forms/{formId}/multiple_data/exports/{exportId}/pdf{formId} est à remplacer par l'identifiant du formulaire contenant la donnée, et {exportId} par l'identifiant de l'export choisi.

Vous devrez préciser dans le corps de la requête les identifiants des données que vous voulez exporter, au format JSON suivant :


{
  "data_ids": [
    "dataId1",
    "dataId2",
    "dataId3",
    ...
  ]
}

Si la requête aboutit, une fenêtre s'ouvrira pour vous permettre d'enregistrer le fichier PDF obtenu.

1.4. Exporter des données en CSV et Excel liste personnalisés

Il existe enfin deux fonctions permettant d'exporter les données d'un formulaire dans des formats CSV et Excel personnalisés.

Ces deux fonctions se comportent comme les fonctions présentées en partie 2, à la différence qu'elles renvoient les informations sous des formats personnalisés.

Elles consistent toutes deux à envoyer une requête en POST à l'URL suivante : https://forms.kizeo.com/rest/v3/forms/{formId}/data/multiple/{format}_custom en remplaçant {formId} par l'identifiant du formulaire où se trouvent les données à exporter, et {format} par csv ou par excel selon le format que vous désirez.

N'oubliez pas, comme pour les fonctions précédentes, de préciser dans le corps de la requête les identifiants des données au format JSON suivant :


{
  "data_ids": [
    "dataId1",
    "dataId2",
    "dataId3",
    ...
  ]
}

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 exports disponibles


<?php

$formId;
// 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/forms/' . $formId . '/exports',
  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 obtenir des données d'un formulaire au format CSV ou Excel


<?php

$formId;
$format;
// 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/forms/' . $formId . '/data/multiple/' . $format,
  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  \"data_ids\": [\n    \"dataId1\",\n    \"dataId2\",\n    \"dataId3\"\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;
}

2.3. Voici un exemple de code pour exporter des données au format PDF standard


<?php

$formId;
$exportId;
// 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/forms/' . $formId . '/multiple_data/exports/' . $exportId . '/pdf',
  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  \"data_ids\": [\n    \"dataId1\",\n    \"dataId2\",\n    \"dataId3\"\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. Exemples de code en PHP Java (OK HTTP)

3.1. Voici un exemple de requête HTTP en Java pour obtenir la liste de tous les exports disponibles


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

// Définition des paramètres et des entêtes de la requête
Request request = new Request.Builder()
  .url("https://forms.kizeo.com/rest/v3/forms/" . formId . "/exports")
  .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 obtenir des données d'un formulaire au format CSV ou Excel


string formId;
string format;
// 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  \"data_ids\": [\r\n    \"dataId1\"\r\n  ]\r\n}");
// Définition des paramètres et des entêtes de la requête
Request request = new Request.Builder()
  .url("https://forms.kizeo.com/rest/v3/forms/" . formId . "/data/multiple/" . format)
  .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 code pour exporter des données au format PDF standard


string formId;
string exportId;
// 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  \"data_ids\": [\r\n    \"dataId1\"\r\n  ]\r\n}");
// Définition des entêtes de la requête
Request request = new Request.Builder()
  .url("https://forms.kizeo.com/rest/v3/forms/" . formId . "/multiple_data/exports/" . exportId . "/pdf")
  .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();

4. Exemples de code en Javascript

4.1. Voici un exemple de requête HTTP en Javascript pour obtenir la liste de tous les exports disponibles


string formId;
// Initialisation de la requête
var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://forms.kizeo.com/rest/v3/forms/" . formId . "/exports",
  "method": "GET",
  // Définition des entêtes de la requête
  "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 obtenir des données d'un formulaire au format CSV ou Excel


string formId;
string format;
// Initialisation et définition des entêtes de la requête
var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://forms.kizeo.com/rest/v3/forms/" . formId . "/data/multiple/" . format,
  "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  \"data_ids\": [\r\n    \"dataId1\"\r\n  ]\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 code pour exporter des données au format PDF standard


string formId;
string exportId;
// Initialisation et définition des entêtes de la requête
var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://forms.kizeo.com/rest/v3/forms/" . formId . "/multiple_data/exports/" . exportId . "/pdf",
  "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  \"data_ids\": [\r\n    \"dataId1\"\r\n  ]\r\n}"
}

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