w.c.s. › API »

Récupération des données d'un utilisateur

Il s'agit ici d'API permettant à un logiciel tiers de récupérer les données associées aux utilisateurs enregistrés.

Profil

Ces accès doivent se faire en passant les informations d'identification appropriées dans la query string.

Les informations associées à un utilisateur sont accessibles à l'URL /api/user/, elles reprennent son nom (user_display_name), son adresse électronique (user_email) ainsi que ses éventuelles autorisations d'accès au backoffice (user_backoffice_access) ou à l'interface d'administration (user_admin_access).

$ curl https://www.example.net/api/user/
{
  "user_display_name": "Fred Cuadrado",
  "user_email": "fred@example.net",
  "user_backoffice_access": true,
  "user_admin_access": false
}

Note de compatibilité : cette information est également disponible à l'adresse /user.

Formulaires

La liste des formulaires transmis par un utilisateur est accessible à l'URL /api/user/forms, elle reprend un ensemble minimal d'informations concernant chacun de ceux-ci.

$ curl https://www.example.net/api/user/forms
{
    "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/",
        }
    ]
}

Il est possible de recevoir un ensemble plus complet de données en passant un paramètre full=on à l'adresse. Pour inclure également les brouillons, un paramètre include-drafts=true peut être passé.

Brouillons

La liste des brouillons de l'utilisateur est accessible à l'adresse /api/user/drafts.

$ curl https://www.example.net/api/user/drafts
{
    "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"
        }
    ]
}

Note de compatibilité : cette information est également disponible à l'adresse /myspace/drafts.

Liste des utilisateurs

La liste des utilisateurs est disponible à l'URL /api/users/, il est possible de la filtrer, sur le nom ou l'adresse électronique, en spécifiant un paramètre q et de limiter le nombre de résultats obtenus avec le paramètre limit.

$ curl -H "Accept: application/json" \
       https://www.example.net/api/users/?q=fred

{
  "err": 0,
  "data": [
    {
      "user_display_name": "Fred",
      "user_email": "fred@example.net",
      "user_backoffice_access": true,
      "user_admin_access": false
    }
  }
}