Curl est un client HTTP en ligne de commande. Comme l'API ClicRDV n’utilise que du HTTP, il se prête bien à l’utilisation avec ClicRDV.
Toutes les fonctionnalités de Curl sont également disponibles sous forme de librairie : libcurl. Il existe des bindings pour la plupart des langages de programmation.
Voici quelques exemples pour utiliser Curl sur l’API ClicRDV.
Notes : Dans les exemples ci-dessous, les ‘\’ en fin de ligne indiquent que le saut de ligne suivant ne correspond pas à un saut de ligne sur la ligne de commande.
Les options utilisées dans les exemples ci-dessous sont :
Récupère la liste des interventions en XML :
$ curl -u [email protected]:test \ "https://sandbox.clicrdv.com/api/v1/groups/4/interventions.xml?apikey=xxxxxx"
Récupère l'agenda d’id 1 en format JSON:
$ curl -u [email protected]:test \ "https://sandbox.clicrdv.com/api/v1/groups/4/calendars/1.json?apikey=xxxxxx"
Important :
Pour les requêtes POST et PUT, le header HTTP Content-Type doit être mis à application/json ou application/xml suivant l’encodage envoyé
L’objet à créer doit être contenu dans un objet portant le nom au singulier de la collection (ex : ‘calendar’)
Exemple : création d’un agenda « Michel »
$ curl -u [email protected]:test https://sandbox.clicrdv.com/api/v1/groups/4/calendars.json?apikey=xxxxxx \ -X POST \ -d '{"calendar":{"publicname":"","name":"Mike", "group_id": 4}}' \ -H 'Content-Type: application/json'
Réponse :
{ "name":"michel", "updated_at":"2010-03-15 17:50:22", "id":6189, "group_id":4, "sort":5, "publicname":"", "created_at":"2010-03-15 17:50:22" }
La réponse du serveur a le code HTTP "201 Created", et pour contenu l’objet créé (avec en particulier l’id assigné à l’agenda créé).
Important :
Exemple : Modification du nom de l’agenda d’id 6190 :
$ curl -u [email protected]:test \ -X PUT \ -H 'Content-Type: application/json' \ -d '{"calendar":{"name":"robert"}}' \ "https://sandbox.clicrdv.com/api/v1/groups/4/calendars/6190.json?apikey=xxxxxx"
Réponse : Renvoie l’objet dans sa totalité
{ "name":"robert", "updated_at":"2010-03-15 17:56:13", "id":6190, "group_id":4, "sort":6, "publicname":"", "created_at":"2010-03-15 17:54:08" }
$ curl -u [email protected]:test \ -X DELETE \ https://sandbox.clicrdv.com/api/v1/groups/4/calendars/6190.json?apikey=xxxxxx&
Réponse :
[ { "error":"You do not have access to this resource. (logged in as 'GroupAdmin' for resource 'calendars')" } ]
Créer un nouveau fichier appelé newCalendar.json avec le contenu suivant :
{"calendar":{"publicname":"","name":"essai","group_id":4}}
puis lancez la ligne de commande suivante :
$ curl -u [email protected]:test \ -X POST \ -H 'Content-Type: application/json' \ -T newCalendar.json \ "https://sandbox.clicrdv.com/api/v1/groups/4/calendars.json?apikey=xxxxxx"
Réponse :
{ "name":"essai", "updated_at":"2010-03-15 18:04:34", "id":6191, "group_id":4, "sort":6, "publicname":"", "created_at":"2010-03-15 18:04:34" }
Si vous devez vous connecter via un proxy HTTP, curl dispose d'un grand nombre d'options. (curl --help
pour voir la liste des options disponibles). Par exemple :
$ curl --proxy my.host.com:8080 \ -u "[email protected]:secret" \ "https://sandbox.clicrdv.com/api/v1/groups/4/fiches.json?&apikey=xxxxxx"