12 |
12 |
|
13 |
13 |
</info>
|
14 |
14 |
|
15 |
|
<title>Récupération des données de fiches</title>
|
|
15 |
<title>Gestion des fiches</title>
|
16 |
16 |
|
17 |
17 |
<p>
|
18 |
|
Une application tierce peut récupérer les données des fiches, peut également
|
19 |
|
obtenir la liste des modèles de fiche et les schémas de données associés.
|
|
18 |
Une application tierce peut créer des fiches, récupérer les données des fiches,
|
|
19 |
et peut également obtenir la liste des modèles de fiche et les schémas de
|
|
20 |
données associés.
|
20 |
21 |
</p>
|
21 |
22 |
|
|
23 |
<section id="create">
|
|
24 |
<title>Création d'une fiche</title>
|
|
25 |
|
|
26 |
<p>
|
|
27 |
La création d'une fiche se fait par une requête <code>POST</code> à
|
|
28 |
l’adresse <code>/api/cards/<var>slug</var>/submit</code>, le contenu de
|
|
29 |
la requête doit être un dictionnaire contenant obligatoirement un attribut
|
|
30 |
<code>data</code>.
|
|
31 |
</p>
|
|
32 |
|
|
33 |
<p>
|
|
34 |
L’attribut <code>data</code> est obligatoire et contient un dictionnaire
|
|
35 |
dont les clés sont les noms de variable (remplacé ici par
|
|
36 |
<var>varname</var>) des champs de la fiche et les valeurs le contenu de
|
|
37 |
ces champs.
|
|
38 |
</p>
|
|
39 |
|
|
40 |
<list>
|
|
41 |
<item>
|
|
42 |
<p>
|
|
43 |
Les champs de type simple tels que « Texte », « Texte long » ou
|
|
44 |
« Courriel » sont des chaînes de caractères.
|
|
45 |
</p>
|
|
46 |
</item>
|
|
47 |
|
|
48 |
<item>
|
|
49 |
<p>
|
|
50 |
Les champs de type « Liste » et « Liste à choix multiples » acceptent
|
|
51 |
différentes valeurs selon leur configuration, ceci est décrit dans
|
|
52 |
<link xref="api-fill#fill-list"/>.
|
|
53 |
</p>
|
|
54 |
</item>
|
|
55 |
|
|
56 |
<item>
|
|
57 |
<p>
|
|
58 |
Les champs de type « Date » sont des chaînes de caractères au format
|
|
59 |
ISO-8601, i.e. <code>YYYY-MM-DD</code>.
|
|
60 |
</p>
|
|
61 |
</item>
|
|
62 |
|
|
63 |
<item>
|
|
64 |
<p>
|
|
65 |
Les champs de type « Fichier » sont des dictionnaires contenant les clés
|
|
66 |
<code>filename</code> pour le nom de fichier et <code>content</code> pour le
|
|
67 |
contenu de celui-ci, encodé en base64.
|
|
68 |
</p>
|
|
69 |
</item>
|
|
70 |
|
|
71 |
<item>
|
|
72 |
<p>
|
|
73 |
Les champs de type « Carte » sont des dictionnaires contenant les clés
|
|
74 |
<code>lat</code> pour la latitute en nombre décimal et <code>lon</code>
|
|
75 |
pour la longitude en nombre décimal.
|
|
76 |
</p>
|
|
77 |
</item>
|
|
78 |
</list>
|
|
79 |
|
|
80 |
<p>
|
|
81 |
L’exemple suivant crée une fiche « Parking », dont le modèle
|
|
82 |
de fiche a comme identifiant « parkings », qui demanderait trois champs :
|
|
83 |
adresse (nom de variable <code>adresse</code>), date d'ouverture
|
|
84 |
(nom de variable <code>date_ouverture</code>) et nom (nom de variable
|
|
85 |
<code>nom</code>).
|
|
86 |
</p>
|
|
87 |
|
|
88 |
<screen>
|
|
89 |
<output style="prompt">$ </output><input>curl -H "Content-type: application/json" \
|
|
90 |
-H "Accept: application/json" \
|
|
91 |
-d@donnees.json \
|
|
92 |
https://www.example.net/api/cards/parkings/submit<var>?signature…</var></input>
|
|
93 |
<output>{"err": 0, "data": {"id": "5"}}</output>
|
|
94 |
</screen>
|
|
95 |
|
|
96 |
<p>
|
|
97 |
Le fichier de données utilisé (<file>donnees.json</file>) contient le
|
|
98 |
dictionnaire JSON suivant :
|
|
99 |
</p>
|
|
100 |
|
|
101 |
<code mime="application/json">
|
|
102 |
{
|
|
103 |
"data": {
|
|
104 |
"adresse": "rue de l’Opéra",
|
|
105 |
"date_ouverture": "2020-11-12",
|
|
106 |
"nom": "Parking Opéra-Tolozan"
|
|
107 |
}
|
|
108 |
}
|
|
109 |
</code>
|
|
110 |
|
|
111 |
</section>
|
|
112 |
|
22 |
113 |
<section id="card">
|
23 |
114 |
<title>Récupération des données d’une fiches</title>
|
24 |
115 |
|
... | ... | |
64 |
155 |
</code>
|
65 |
156 |
|
66 |
157 |
<p>
|
67 |
|
La structure du contenu correspond à celle de l’API d
|
68 |
|
<link xref="api-get#pull">récupération des données d’un formulaire</link>.
|
|
158 |
La structure du contenu correspond à celle de l’API de <link xref="#create"/>.
|
69 |
159 |
</p>
|
70 |
160 |
|
71 |
161 |
</section>
|
72 |
|
-
|