Pour effectuer des requêtes à l'API, vous aurez besoin :
L'utilisateur peut être identifié via :
L’utilisation de l’API est restreinte par une clé d’utilisation, identifiant une application.
La clé doit être envoyée à chaque requête sur l’API, en utilisant le paramètre apikey
.
Important Le paramètre apikey
doit toujours être passé dans les paramètres d'URL, et jamais dans le body de la requête.
Par exemple, pour une requête GET :
GET /api/v1/groups?apikey=xxxxxx
Pour une requête POST avec un Content-Type: application/json
:
POST /api/v1/groups/4/calendars?apikey=xxxxxx { "calendar" : { … } }
Note Les clés API sont différentes entre l’environnement « sandbox » et l’environnement de production.
L’API ClicRDV permet une authentification HTTP Basic.
Note Le mot de passe est encrypté dans la communication SSL du protocole HTTPS.
Exemple avec Curl, en utilisant l'option -u
pour spécifier l'utilisateur HTTP Basic :
$ curl -u "[email protected]:secret" "https://www.clicrdv.com/api/v1/groups.json?apikey=xxxxxx"
Important L'API ClicRDV n'envoie pas de réponse 401 lors d'une tentative d'accès à une ressource protégée. Il appartient donc au client de toujours envoyer le header Authorization: Basic base64(email+':'+password)
Vous pouvez ouvrir une session grâce à la requête suivante :
POST /api/v1/sessions/login
Les paramètres à envoyer dépendent du type d’utilisateur avec lequel vous vous connectez :
Dans les deux cas, le mot de passe doit être encodé en SHA1. (Vous pouvez utiliser ce site pour rapidement convertir un mot de passe en SHA1)
Voici un exemple avec Curl :
$ curl -i -X POST "https://sandbox.clicrdv.com/api/v1/sessions/login.json?apikey=xxxxxx&\ pro%5Bemail%5D=fake.user%40gmail.com&\ pro%5Bpassword%5D=a94a8fe5ccb19ba61c4c0873d391e987982fbbd3\" HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 Connection: keep-alive Status: 200 Content-Length: 283 Set-Cookie: _session_id=4e8c5362ed2abeddca00000c; path=/; HttpOnly {"pro":{"created_at":"2007-03-30 15:09:07","updated_at":"2011-10-05 14:52:07",\ "synched_at":"2011-09-29 19:50:18","lastname":"Fake","id":9,"firstname":"User",\ "cellphone":"06 12 34 56 78","email":"[email protected]},"error":null\}
Note Les %5B et %5D correspondent aux caractères '[' et ']' encodés.
L’identifiant de Session est renvoyé dans l’entête de réponse HTTP Set-Cookie
. Ici :
Set-Cookie: _session_id=4e8c5362ed2abeddca00000c; path=/; HttpOnly
Pour les requêtes suivantes, il faut ensuite renvoyer dans le header Cookie
le paramètre _session
_id
:
Cookie: _session_id=4e8c5362ed2abeddca00000c
Exemple avec Curl, l'option -H permettant d'ajouter un header HTTP :
$ curl -i -H 'Cookie: _session_id=4e8c5362ed2abeddca00000c' "https://sandbox.clicrdv.com/api/v1/groups.json"
Note Les sessions expirent au bout d'une heure d’inactivité.