help: add card submit API (#49520)

This commit is contained in:
Lauréline Guérin 2021-02-26 10:58:42 +01:00
parent 113089e4b8
commit 794e99bf27
No known key found for this signature in database
GPG Key ID: 1FAB9B9B4F93D473
1 changed files with 95 additions and 5 deletions

View File

@ -12,13 +12,104 @@
</info>
<title>Récupération des données de fiches</title>
<title>Gestion des fiches</title>
<p>
Une application tierce peut récupérer les données des fiches, peut également
obtenir la liste des modèles de fiche et les schémas de données associés.
Une application tierce peut créer des fiches, récupérer les données des fiches,
et peut également obtenir la liste des modèles de fiche et les schémas de
données associés.
</p>
<section id="create">
<title>Création d'une fiche</title>
<p>
La création d'une fiche se fait par une requête <code>POST</code> à
ladresse <code>/api/cards/<var>slug</var>/submit</code>, le contenu de
la requête doit être un dictionnaire contenant obligatoirement un attribut
<code>data</code>.
</p>
<p>
Lattribut <code>data</code> est obligatoire et contient un dictionnaire
dont les clés sont les noms de variable (remplacé ici par
<var>varname</var>) des champs de la fiche et les valeurs le contenu de
ces champs.
</p>
<list>
<item>
<p>
Les champs de type simple tels que « Texte », « Texte long » ou
« Courriel » sont des chaînes de caractères.
</p>
</item>
<item>
<p>
Les champs de type « Liste » et « Liste à choix multiples » acceptent
différentes valeurs selon leur configuration, ceci est décrit dans
<link xref="api-fill#fill-list"/>.
</p>
</item>
<item>
<p>
Les champs de type « Date » sont des chaînes de caractères au format
ISO-8601, i.e. <code>YYYY-MM-DD</code>.
</p>
</item>
<item>
<p>
Les champs de type « Fichier » sont des dictionnaires contenant les clés
<code>filename</code> pour le nom de fichier et <code>content</code> pour le
contenu de celui-ci, encodé en base64.
</p>
</item>
<item>
<p>
Les champs de type « Carte » sont des dictionnaires contenant les clés
<code>lat</code> pour la latitute en nombre décimal et <code>lon</code>
pour la longitude en nombre décimal.
</p>
</item>
</list>
<p>
Lexemple suivant crée une fiche « Parking », dont le modèle
de fiche a comme identifiant « parkings », qui demanderait trois champs :
adresse (nom de variable <code>adresse</code>), date d'ouverture
(nom de variable <code>date_ouverture</code>) et nom (nom de variable
<code>nom</code>).
</p>
<screen>
<output style="prompt">$ </output><input>curl -H "Content-type: application/json" \
-H "Accept: application/json" \
-d@donnees.json \
https://www.example.net/api/cards/parkings/submit<var>?signature…</var></input>
<output>{"err": 0, "data": {"id": "5"}}</output>
</screen>
<p>
Le fichier de données utilisé (<file>donnees.json</file>) contient le
dictionnaire JSON suivant :
</p>
<code mime="application/json">
{
"data": {
"adresse": "rue de lOpéra",
"date_ouverture": "2020-11-12",
"nom": "Parking Opéra-Tolozan"
}
}
</code>
</section>
<section id="card">
<title>Récupération des données dune fiches</title>
@ -64,8 +155,7 @@ Le contenu ainsi obtenu est le suivant :
</code>
<p>
La structure du contenu correspond à celle de lAPI d
<link xref="api-get#pull">récupération des données dun formulaire</link>.
La structure du contenu correspond à celle de lAPI de <link xref="#create"/>.
</p>
</section>