79 lines
2.1 KiB
Plaintext
79 lines
2.1 KiB
Plaintext
<page xmlns="http://projectmallard.org/1.0/"
|
||
type="topic" id="api-fill" 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>Transmission de données</desc>
|
||
|
||
</info>
|
||
|
||
<title>Complétion et soumission d'un formulaire</title>
|
||
|
||
<p>
|
||
w.c.s expose une API autorisant les logiciels tiers à transmettre des données
|
||
structurées permettant la complétion d'un formulaire. Deux modes d'opération
|
||
sont possibles, dans le premier l'ensemble des données est fourni en une étape
|
||
unique (mode données), dans le second les données sont fournies en fonction des
|
||
différentes pages définies dans le formulaire (mode flux).
|
||
</p>
|
||
|
||
<section id="data">
|
||
<title>Mode données</title>
|
||
|
||
<p>
|
||
Ce mode est le plus simple et le plus adapté au développement d'un système
|
||
tout automatique, sans interaction avec un utilisateur.
|
||
</p>
|
||
|
||
<p>
|
||
La complétion d'un formulaire se fait par une requête <code>PUT</code> à
|
||
l'adresse du formulaire, le contenu de la requête doit être un dictionnaire
|
||
contenant les valeurs des différents champs du formulaire.
|
||
</p>
|
||
|
||
<p>
|
||
L'exemple suivant complète un formulaire d'inscription à une newsletter, qui
|
||
demanderait trois champs, prénom, nom et adresse électronique.
|
||
</p>
|
||
|
||
<screen>
|
||
<output style="prompt">$ </output><input>curl -H "Content-type: application/json" \
|
||
-H "Accept: application/json" \
|
||
-X PUT -d@donnees.json \
|
||
https://www.example.net/inscriptions/newsletter</input>
|
||
<output>{"result": "success"}</output>
|
||
</screen>
|
||
|
||
<p>
|
||
Le fichier de données utilisé (<file>donnees.json</file>) contient le
|
||
dictionnaire JSON suivant :
|
||
</p>
|
||
|
||
<code mime="application/json">
|
||
{
|
||
"prenom": "Marc",
|
||
"nom": "L.",
|
||
"email": "marc@example.net"
|
||
}
|
||
</code>
|
||
|
||
|
||
</section>
|
||
|
||
<section id="flow">
|
||
<title>Mode flux</title>
|
||
|
||
<p>
|
||
Ce mode est à utiliser si l'on veut exposer à un usager les différentes
|
||
étapes de la complétion d'un formulaire.
|
||
</p>
|
||
|
||
</section>
|
||
|
||
</page>
|