201 lines
6.7 KiB
Plaintext
201 lines
6.7 KiB
Plaintext
<page xmlns="http://projectmallard.org/1.0/"
|
||
type="topic" id="api-user" 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>Profil utilisateur, formulaires associés, etc.</desc>
|
||
|
||
</info>
|
||
|
||
<title>Récupération des données d’un utilisateur</title>
|
||
|
||
<p>
|
||
Il s’agit ici d’API permettant à un logiciel tiers de récupérer les données
|
||
associées aux utilisateurs enregistrés.
|
||
</p>
|
||
|
||
<section>
|
||
<title>Profil</title>
|
||
|
||
<p>
|
||
Ces accès doivent se faire en passant les informations d’identification
|
||
appropriées dans la <em>query string</em>.
|
||
</p>
|
||
|
||
<p>
|
||
Les informations associées à un utilisateur sont accessibles à l’URL
|
||
<code>/api/user/</code>, elles reprennent son nom (<code>user_display_name</code>),
|
||
son adresse électronique (<code>user_email</code>) ainsi que ses éventuelles
|
||
autorisations d’accès au backoffice (<code>user_backoffice_access</code>) ou
|
||
à l’interface d’administration (<code>user_admin_access</code>).
|
||
</p>
|
||
|
||
<screen>
|
||
<output style="prompt">$ </output><input>curl https://www.example.net/api/user/<var>?signature…</var></input>
|
||
<output>{
|
||
"user_display_name": "Fred Cuadrado",
|
||
"user_email": "fred@example.net",
|
||
"user_backoffice_access": true,
|
||
"user_admin_access": false
|
||
}
|
||
</output></screen>
|
||
|
||
<note>
|
||
<p>Note de compatibilité : cette information est également disponible à
|
||
l’adresse <code>/user</code>.
|
||
</p>
|
||
</note>
|
||
|
||
</section>
|
||
|
||
<section id="forms">
|
||
<title>Formulaires</title>
|
||
|
||
<p>
|
||
La liste des formulaires transmis par un utilisateur est accessible à l’URL
|
||
<code>/api/user/forms</code>, elle reprend un ensemble minimal
|
||
d’informations concernant chacun de ceux-ci.
|
||
</p>
|
||
<screen>
|
||
<output style="prompt">$ </output><input>curl https://www.example.net/api/user/forms<var>?signature…</var></input>
|
||
<output>{
|
||
"err": 0,
|
||
"data": [
|
||
{
|
||
"category_id": "1",
|
||
"category_name": "Divers",
|
||
"datetime": "2014-03-28 15:36:52",
|
||
"form_name": "Demande d’inscription",
|
||
"form_slug": "demande-d-inscription",
|
||
"form_number": "123",
|
||
"form_number_raw": "123",
|
||
"form_receipt_date": "28/03/2014",
|
||
"form_receipt_time": "15:36",
|
||
"form_status": "Nouveau",
|
||
"form_status_is_endpoint": false,
|
||
"form_uri": "demande-d-inscription/123/",
|
||
"form_url": "http://www.example.net/demande-d-inscription/123/",
|
||
"form_url_backoffice": "http://www.example.net/backoffice/demande-d-inscription/123/",
|
||
"name": "Demande d’inscription",
|
||
"status": "Nouveau",
|
||
"title": "Demande d’inscription #123 (Nouveau)",
|
||
"url": "http://www.example.net/demande-d-inscription/123/",
|
||
},
|
||
{
|
||
"category_id": "2",
|
||
"category_name": "Prise de rendez-vous",
|
||
"datetime": "2014-03-17 10:39:52",
|
||
"form_name": "Rendez-vous avec le service B",
|
||
"form_slug": "rendez-vous-service-b",
|
||
"form_number": "456",
|
||
"form_number_raw": "456",
|
||
"form_receipt_date": "17/03/2014",
|
||
"form_receipt_time": "10:39",
|
||
"form_status": "En cours",
|
||
"form_status_is_endpoint": false,
|
||
"form_uri": "rendez-vous-service-b/456/",
|
||
"form_url": "http://www.example.net/rendez-vous-service-b/456/",
|
||
"form_url_backoffice": "http://www.example.net/backoffice/rendez-vous-service-b/456/",
|
||
"name": "Rendez-vous avec le service B"",
|
||
"status": "Nouveau",
|
||
"title": "Rendez-vous avec le service B #456 (En cours)",
|
||
"url": "http://www.example.net/rendez-vous-service-b/456/",
|
||
},
|
||
{
|
||
"category_id": "3",
|
||
"category_name": "Modification de vos coordonn\u00e9es",
|
||
"datetime": "2014-03-17 10:42:17",
|
||
"form_name": "Changement d’adresse",
|
||
"form_slug": "changement-d-adresse",
|
||
"form_number": "424",
|
||
"form_number_raw": "424",
|
||
"form_receipt_date": "17/03/2014",
|
||
"form_receipt_time": "10:42",
|
||
"form_status": "Traitement de la demande termin\u00e9",
|
||
"form_status_is_endpoint": true,
|
||
"form_uri": "changement-d-adresse/424/",
|
||
"form_url": "http://www.example.net/changement-d-adresse/424/",
|
||
"form_url_backoffice": "http://www.example.net/backoffice/changement-d-adresse/424/",
|
||
"name": "Changement d’adresse",
|
||
"status": "Traitement de la demande termin\u00e9",
|
||
"title": "Changement d’adresse #424 (Traitement de la demande termin\u00e9)",
|
||
"url": "http://www.example.net/changement-d-adresse/424/",
|
||
}
|
||
]
|
||
}</output></screen>
|
||
|
||
<p>
|
||
Il est possible de recevoir un ensemble plus complet de données en passant un
|
||
paramètre <code>full=on</code> à l’adresse. Pour inclure également les
|
||
brouillons, un paramètre <code>include-drafts=true</code> peut être passé.
|
||
</p>
|
||
|
||
</section>
|
||
<section>
|
||
<title>Brouillons</title>
|
||
|
||
<p>
|
||
La liste des brouillons de l’utilisateur est accessible à l’adresse
|
||
<code>/api/user/drafts</code>.
|
||
</p>
|
||
|
||
<screen>
|
||
<output style="prompt">$ </output><input>curl https://www.example.net/api/user/drafts<var>?signature…</var></input>
|
||
<output>{
|
||
"err": 0,
|
||
"data": [
|
||
{
|
||
"datetime": "2014-07-21 10:15:21",
|
||
"name": "Demande de relecture",
|
||
"title": "Demande de relecture, brouillon enregistré le 21/07/2014 10:15",
|
||
"url": "http://www.example.net/demande-de-relecture/164"
|
||
}
|
||
]
|
||
}</output></screen>
|
||
|
||
<note>
|
||
<p>Note de compatibilité : cette information est également disponible à
|
||
l’adresse <code>/myspace/drafts</code>.
|
||
</p>
|
||
</note>
|
||
|
||
</section>
|
||
|
||
|
||
<section>
|
||
<title>Liste des utilisateurs</title>
|
||
|
||
<p>
|
||
La liste des utilisateurs est disponible à l’URL <code>/api/users/</code>,
|
||
il est possible de la filtrer, sur le nom ou l’adresse électronique, en
|
||
spécifiant un paramètre <code>q</code> et de limiter le nombre de
|
||
résultats obtenus avec le paramètre <code>limit</code>.
|
||
</p>
|
||
|
||
<screen>
|
||
<output style="prompt">$ </output><input>curl -H "Accept: application/json" \
|
||
https://www.example.net/api/users/?q=fred<var>&signature…</var></input>
|
||
<output>
|
||
{
|
||
"err": 0,
|
||
"data": [
|
||
{
|
||
"user_display_name": "Fred",
|
||
"user_email": "fred@example.net",
|
||
"user_backoffice_access": true,
|
||
"user_admin_access": false
|
||
}
|
||
}
|
||
}
|
||
</output>
|
||
</screen>
|
||
|
||
</section>
|
||
|
||
</page>
|