5

Appelez l'API du service

Pour exécuter une action sur cronorg.com, vous envoyez simplement une requête HTTP à l'adresse https://cronorg.com/api/v1 suivie du nom de l'action et d'une série de paramètres :

https://cronorg.com/api/v1/action?login=abcdef&password=ABCDEF

Vous DEVEZ utiliser une connexion HTTPS pour garantir la confidentialité de votre code d'identification et de votre mot de passe, et implicitement, des fichiers échangés avec le service. Dans le cas contraire, la requête retourne un code HTTP 301 Moved Permanently. Le certificat du serveur a été signé par Let's Encrypt.

action vaut subscription ou availability, login et password sont votre code d'identification et votre mot de passe. Selon l'action, la requête est un GET, un POST ou un DELETE et plus de paramètres peuvent être nécessaires.

Votre code d'identification en 6 lettres minuscules est affiché en gras sur votre page d'accueil. Pour changer votre mot de passe, appuyez sur le bouton pour accéder à la configuration de votre compte dans la barre de menu.

IMPORTANT : Cochez l'option API  REST dans votre profil utilisateur pour autoriser les appels à l'API avec votre compte. Si vous ne cochez pas cette option, le service retourne l'erreur HTTP/1.1 403 Forbidden.

Essayez d'entrer https://cronorg.com/api/v1/subscription?login=abcdef&password=ABCDEF dans la barre d'adresse de votre navigateur en remplaçant abcdef et ABCDEF par votre code d'identification et votre mot de passe.

IMPORTANT : N'oubliez pas d'effacer l'historique du navigateur après un test d'une URL avec votre code d'identification et votre mot de passe.

API

Tous les appels à l'API retournent soit un code d'erreur HTTP tel que HTTP/1.1 400 Bad Request, HTTP/1.1 401 Unauthorized, HTTP/1.1 403 Forbidden ou HTTP/1.1 500 Internal Error ou le code HTTP/1.1 200 OK avec comme contenu la représentation textuelle d'une structure JSON application/json. La structure JSON contient toujours les champs status et data. status vaut success ou fail et parfois error. data vaut null ou toute autre valeur retournée par l'action demandée.

Vous pouvez tout simplement utiliser une commande comme curl pour appeler cronorg.com.

$ curl -D - -X GET "https://cronorg.com/api/v1/subscription?login=abcdef&password=ABCDEF"

Tapez la commande suivante pour effacer l'historique du shell après un test d'une URL avec votre code d'identification et votre mot de passe :

$ history -c

Dans un programme, vous voudrez une fonction capable d'envoyer une requête HTTP à un serveur et de récupérer les données retournées. Pour exécuter les exemples en PHP, téléchargez le fichier sendhttp.php de la librairie iZend et copiez-les dans l'espace de votre propre application.

Le fichier sendhttp.php définit les fonctions sendget, sendpost et senddelete.

Lisez la page sendhttp de la documentation sur iZend pour plus de détails techniques.

sendget
sendpost
senddelete
SYNOPSIS

sendget($url, $args, $options=false, $header=false)

sendpost($url, $args, $files=false, $base64=false, $options=false, $header=false)

senddelete($url, $args, $options=false, $header=false)

DESCRIPTION

sendget envoie une requête GET à un serveur HTTP à l'adresse spécifiée par $url avec les paramètres dans $args.

sendpost retourne le document renvoyé par l'appel du service HTTP à l'adresse $url en POST avec les arguments $args et les pièces jointes $files encodées en base64 si $base64 vaut true.

senddelete envoie une requête DELETE à un serveur HTTP à l'adresse spécifiée par $url avec les paramètres dans $args.

sendget, sendpost et senddelete acceptent une URL avec des paramètres (query string) qui doivent être échappés.

$url est une chaîne de caractères avec le format https://cronorg.com/api/v1/actionaction désigne la fonction demandée telle que subscription.

$args est un tableau contenant la liste des valeurs des paramètres de la fonction appelée tel que array( 'login' => 'abcdef', 'password' => 'ABCDEF', ... ). NOTE : Les paramètres dans $args sont automatiquement échappés.

$files contient la liste des fichiers ajoutés en pièces jointes sous la forme d'un tableau associatif { 'docname' => {'name' => 'filename', 'type' => 'mimetype', 'tmp_name' => 'pathname'}, ... }. Ce paramètre est optionnel. Typiquement, il permet de passer un fichier transmis par une balise <input type="file" name="docname"... /> d'un formulaire HTML. Si $base64 est à true, les contenus des fichiers sont encodés en base64.

sendget, sendpost et senddelete retournent un tableau contenant le code HTTP, l'en-tête et le corps du document renvoyés par le serveur ou false en cas d'erreur.

EXEMPLE

En supposant que vous avez placé le fichier sendhttp.php dans le répertoire courant, lancez PHP en mode interactif, chargez la fonction sendget et appelez-la avec en argument l'URL https://cronorg.com/api/v1/subscription et un tableau contenant votre code d'identification et votre mot de passe :

$ php -a
php > require_once 'sendhttp.php';
php > $r=sendget('https://cronorg.com/api/v1/subscription', array('login' => 'abcdef', 'password' => 'ABCDEF'));
php > echo $r[0] == 200 ? $r[2] : 'HTTP ERROR ' . $r[0];
{"status":"success","data":{"subscription":"2023-12-31"}}
php > quit
VOIR AUSSI

Vérifiez votre abonnement

Commentaires

Pour ajouter un commentaire, cliquez ici.