wcs/help/fr/api-get.page

108 lines
2.6 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<page xmlns="http://projectmallard.org/1.0/"
type="topic" id="api-get" xml:lang="fr">
<info>
<link type="guide" xref="index#api" />
<revision docversion="0.1" date="2013-01-04" status="draft"/>
<credit type="author">
<name>Frédéric Péters</name>
<email>fpeters@entrouvert.com</email>
</credit>
<desc>Pull, push, types de données, etc.</desc>
</info>
<title>Récupération des données d'un formulaire</title>
<p>
Il s'agit ici d'une API permettant à un logiciel tiers de récupérer les données
associées à un formulaire complété; cet accès peut aussi bien être initié par
l'application tierce (mode pull) ou par w.c.s., à différents moments du
traitement d'un formulaire (mode push).
</p>
<section id="pull">
<title>Mode « Pull »</title>
<p>
L'exemple suivant récupère les données d'un formulaire d'inscription à une
newsletter.
</p>
<screen>
<output style="prompt">$ </output><input>curl -H "Accept: application/json" \
https://www.example.net/inscriptions/newsletter/16</input>
</screen>
<p>
Le contenu ainsi obtenu est le suivant :
</p>
<code mime="application/json">
{
"id": "newsletter/16",
"receipt_time": "2013-01-04T13:39:47",
"fields": {
"email": "marc@example.net",
"nom": "L.",
"prenom": "Marc"
},
"user": {
"id": 1,
"name": "Fred"
},
"workflow": {
"status": {
"id": "new",
"name": "New"
},
"data": {
"creation_status": 200,
"creation_response": {
"dn": "cn=marc@example.net,ou=people"
},
"inscription_status": 200,
"inscription_response": {
"liste": "lalettre@example.com"
}
}
}
}
</code>
<note>
<p>
Il est bien sûr nécessaire de disposer des autorisations nécessaires pour
accéder ainsi aux données d'un formulaire. (cf <link
xref="api-auth"/> pour les explications sur le sujet)
</p>
</note>
</section>
<section id="push">
<title>Mode « push »</title>
<p>
Il est également possible pour un workflow d'être configuré pour transmettre
les données à une URL fournie par une application tierce. Un document JSON
(tel celui donné plus haut) est alors transmis en utilisant la méthode POST.
</p>
<p>
En retour, l'application tierce peut fournir un objet JSON qui sera enregistré
dans les données du workflow du formulaire (voir le dictionnaire "data" dans
l'exemple ci-dessus).
</p>
</section>
<section id="datatypes">
<title>Types de données</title>
</section>
</page>