Link

API

Cette page a pour but de vous aider à intégrer au mieux l’API Picto pour votre cas d’utilisation.

Sommaire

  1. Flow d’authentification
    1. Récupération d’un token d’authentification
  2. Cas d’utilisation
    1. Récupération de tout les établissements associés à votre compte
    2. Récupération de l’accessibilité d’un établissement associé à votre compte
    3. Récupération du lien de la page d’un établissement Picto Access via son uuid
  3. Ressources complémentaires
    1. Police d’écriture d’accessibilité Picto Access
    2. Couleurs
  4. Troubleshooting
  5. Informations supplémentaires et contact

Les tests se feront sur notre serveur de staging : https://staging.pictoaccess.fr

1 - Flow d’authentification

Pour utiliser certains endpoints de l’API Picto il vous faudra utiliser un token d’authentification.


A - Récupération d’un token d’authentification

Le login / mot de passe correspondent aux identifiants qui vous ont été communiqué par l’équipe Picto.

curl -X POST \
  https://api.staging.pictoaccess.fr/users/authentication_token \
  -H 'accept: application/vnd.picto-users-v2+json' \
  -H 'authorization: Basic dW5pc2M6cGljdG90cmF2ZWw=' \
 -H 'content-type: application/json' \
 -d '{
  "user":{
    "email": "developer@pictoaccess.fr",
    "password": "developer_password"
  }
}'

Exemple de réponse :

{
  "authentication_token": "XXXXXXXXXXXXXXXX"
}

Essayer ici


2 - Cas d’utilisation

A - Récupération de tout les établissements associés à votre compte

GET https://api.staging.pictoaccess.fr/cards/all_allowed

Vous pouvez utiliser cet endpoint pour récupérer une liste d’objets contenant les informations suivantes:

  • uuid [STRING] : Identifiant unique picto qui sera utilisé pour trouver un établissement en particulier.
  • metadata [HASH] :
    • stream_id [STRING] : Identifiant du flux associé aux données client.
    • original_id [STRING] : Identifiant original de l’objet venant du flux de donnée client.
  • content [HASH] :
    • title [STRING] : Titre de l’établissement
  • accessibility_description [HASH] :
    • handicaps [HASH] :
      • moteur [INTEGER] : niveau d’accessibilité pour la fragilité moteur.
      • senior [INTEGER] : niveau d’accessibilité pour la fragilité senior.
      • psychique [INTEGER] : niveau d’accessibilité pour la fragilité psychique.
      • mal-voyant [INTEGER] : niveau d’accessiblité pour la fragilité mal-voyant.
      • mal-entendant [INTEGER] : niveau d’accessibilité pour la fragilité mal-entendant.
      • femme-enceite [INTEGER] : niveau d’accessibilité pour la fragilité femme-enceinte / poussette.
      • mal-voyant-partiel [INTEGER] : niveau d’accessibilité pour la fragilité mal-voyant-partiel.
      • mal-entendant-partiel [INTEGER] : niveau d’accessibilité pour la fragilité mal- entendant-partiel.

Valeurs possible pour les champs de l’objet handicaps :

-2 : Inconnu ( page simplifiée uniquement )

-1 : Accessible avec accompagnement ou en autonomie ( page simplifiée uniquement )

0 : Inaccessible ( page enrichie uniquement )

1 : Accessible avec accompagnement ( page enrichie uniquement )

2 : Accessible en autonomie ( page enrichie uniquement )

curl -X GET \
  https://api.staging.pictoaccess.fr/cards/all_allowed \
  -H 'accept: application/vnd.picto-developer-v2+json' \
  -H 'authorization: Basic dW5pc2M6cGljdG90cmF2ZWw=' \
 -H 'content-type: application/json' \
 -H 'x-auth-token: XXXXXXXXXXXXXXXX'

Exemple de réponse :

[
  {
    "uuid": "a2f1b53-016f-4a7d-828e-904b49f373cf",
    "slug": "nom-de-l-etablisement",
    "metadata": {
      "stream_id": "5981d97485216dd90b815751",
      "original_id": "9510"
    },
    "content": {
      "title": "Nom de l'établissement"
    },
    "accessibility_description": {
      "handicaps": {
        "moteur": -2,
        "senior": -2,
        "psychique": -2,
        "mal-voyant": -2,
        "mal-entendant": -2,
        "femme-enceinte": -2,
        "mal-voyant-partiel": -2,
        "mal-entendant-partiel": -2
      }
    }
  }
]

Essayer ici


B - Récupération de l’accessibilité d’un établissement associé à votre compte

GET https://api.staging.pictoaccess.fr/cards/:uuid/accessibility

Vous pouvez utiliser cet endpoint pour récupérer l’accessibilité d’un établissement en précisant l’uuid Picto de celui-ci.

Valeurs possible pour les champs de l’objet handicaps :

-2 : Inconnu ( page simplifiée uniquement )

-1 : Accessible avec accompagnement ou en autonomie ( page simplifiée uniquement )

0 : Inaccessible ( page enrichie uniquement )

1 : Accessible avec accompagnement ( page enrichie uniquement )

2 : Accessible en autonomie ( page enrichie uniquement )

curl -X GET \
  https://api.staging.pictoaccess.fr/cards/:uuid/accessibility \
  -H 'accept: application/vnd.picto-developer-v2+json' \
  -H 'authorization: Basic dW5pc2M6cGljdG90cmF2ZWw=' \
  -H 'content-type: application/json' \
  -H 'x-auth-token: XXXXXXXXXXXXXXXX'

Exemple de réponse :

{
  "moteur": 2,
  "senior": 2,
  "psychique": 2,
  "mal-voyant": 1,
  "mal-entendant": 1,
  "femme-enceinte": 2,
  "mal-voyant-partiel": 1,
  "mal-entendant-partiel": 1
}

Essayer ici


C - Récupération du lien de la page d’un établissement Picto Access via son uuid

GET https://api.staging.pictoaccess.fr/cards/:uuid/generate_link_via_uuid

Vous pouvez utiliser cet endpoint pour récupérer le lien de la page de l’établissement en précisant l’uuid Picto de celui-ci.

Vous pouvez utiliser ce lien pour rendre les icônes d’accessibilité cliquables.

curl -X GET \
  https://api.staging.pictoaccess.fr/cards/:uuid/generate_link_via_uuid \
  -H 'accept: application/vnd.picto-public-v2+json' \
  -H 'authorization: Basic dW5pc2M6cGljdG90cmF2ZWw=' \
 -H 'content-type: application/json'
{
  "link": "https://staging.pictoaccess.fr/cards/nom-de-l-etablissement"
}

Essayer ici


3 - Ressources complémentaires

A - Police d’écriture d’accessibilité Picto Access

Vous trouverez en complément du mail un fichier contenant la police d’écriture d’accessibilité Picto Access ainsi qu’un fichier CSS permettant d’utiliser celle-ci dans vos pages HTML.

Pour afficher une icône d’accessibilité il suffit d’ajouter la classe correspondante à la fragilité correspondante.

Exemple:

<i class="icon-moteur"></i>

Affichera une icône d’accessibilité correspondant à la fragilité moteur.

Liste des valeurs possibles :

  • mal-entendant-partiel
  • mal-entendant
  • psychique
  • moteur
  • picto
  • pmr
  • femme-enceinte
  • senior
  • mal-voyant-partiel
  • mal-voyant
  • wc


B - Couleurs

Le code couleur correspondant au niveau d’accessibilité d’une fragilité est le suivant :

  • Inaccessible : #EA5E5B
  • Accessible avec accompagnement : #EB9532
  • Accessible en autonomie : #72BE49


4 - Troubleshooting

  • Attention aux headers « Accept » qui n’est pas identique pour toutes les requêtes.
  • Le login / mot de passe servent à obtenir un token d’authentification. Celui-ci est nécessaire pour plusieurs requêtes et doit être inclus dans le header X-Auth-Token.
  • Si vous obtenez des erreurs du style : curl: (1) Protocol “ https” not supported or disabled in libcurl » curl: (6) Could not resolve host: -H curl: (3) Port number ended with ‘ ‘curl: (6) Could not resolve host: -H curl: (3) Port number ended with ‘

Il est possible que des espaces / caractères invisibles se soient copiés sur votre terminal. Nous vous conseillons alors de copier la requête dans un éditeur de texte et de retirer les ” \ “ les espaces, les passages à la ligne en trop.


5 - Informations supplémentaires et contact

  • Il est nécessaire d’avoir un lien Picto Access qui renvoie sur la page de l’établissement associé non loin des données d’accessibilité. Pour obtenir ce lien vous devez utiliser cet endpoint. (generate_link_via_uuid)

  • L’API est versionnée, garantissant une stabilité sur les endpoints. Toutefois la structuration des données reçues peut être sujette a modification au court du temps, car elle est fortement liée à nos modèles de données. Si une modification de ce type survient, nous vous informerons des changement afin d’en prendre compte.

  • Si vous désirez une modification ou de nouveaux endpoints contactez le référent pour en discuter.

  • Si vous désirez des informations supplémentaires, veuillez contacter le référent par mail : clement@pictoaccess.fr