Spécification des requêtes

Les API PMSIpilot utilisent le protocole HTTP avec les verbes GET, POST, PUT et DELETE.
Toutes les données sont reçues en JSON.
Les champs vides sont pris en compte et représentent la valeur null.

Authentification

L'authentification est gérée par l'authentification "Basic" de HTTP.

Il est possible d'utiliser directement le login et le mot de passe :

curl -u 'login:password' http://url-api-pmsipilot

Mais il est recommandé d'utiliser la clé API à la place du login (et n'importe quoi dans le mot de passe, "x" par exemple) afin d'éviter de saisir le mot de passe en clair. Chaque utilisateur possède une clé API unique, qu'il peut regénérer quand il le souhaite via l'interface d'administration.

curl -u 'd53635dc733afce75138303fe6e6010f63268ad0:x' http://url-api-pmsipilot

Pour effectuer une authentification "à la main" il faut ajouter à la requête, le header 'Authorization' avec la valeur Basic username:password (avec username:password encodé en base 64) :

Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==

Format d'échange

Toutes les données sont actuellement reçues et envoyées en JSON.

Il faut donc impérativement spécifier le header 'Accept' pour toutes les requêtes :

curl -H 'Accept: application/json' http://url-api-pmsipilot

Il faut aussi spécifier le header 'Content-Type' pour les requêtes auquelles sont passées des données :

curl -H 'Content-Type: application/json' http://url-api-pmsipilot

Pour simplifier l'utilisation de l'API, notemment pour pouvoir la tester directement depuis un navigateur web, les échanges seront effectués par défaut en JSON même si ces headers ne sont pas spécifiés.

Limitation

L'utilisation de l'API PMSIpilot est limitée en nombre de requêtes / heure / utilisateur (paramétrable par client).
Le nombre total d'appels autorisé ainsi que le nombre restant d'appels possible sont visibles dans les headers personnalisés RateLimit-Limit et RateLimit-Remaining de chaque réponse HTTP.

Valeur par défaut : 5000 requêtes / heures / utilisateur.