Documentation de l'API Joomag 2.0

Commencer

Intégrez votre site Web ou votre application avec Joomag en utilisant notre simple API REST. En utilisant notre API, vous pouvez faire des appels simples pour créer des magazines, les intégrer dans votre site Web, fournir des abonnements et bien plus encore.
Nous avons essayé de rendre le processus d'inscription et d'intégration aussi intuitif que possible. Cependant, il y a quelques choses à mentionner.

Où se trouve la clé d'API/secrète ?

Vous pouvez trouver votre clé API et votre clé secrète dans la section API de la page Paramètres du compte

Authentification

Les appels de l'API Joomag doivent contenir une clé d'en-tête de la requête HTTP avec la valeur de la clé API de votre compte pour l'authentification.

Exemple:

$headers = array(
	'key:' . 'api_ValueOfMyJoomagAPIKey',
	// other headers...
);

$ch = curl_init();
// other curl options...
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

Signer des appels API

Certains appels d'API doivent être signés par la clé secrète de votre compte. Ces appels doivent contenir une signature d'en-tête de requête HTTP avec une valeur de signature d'appel. Pour créer une signature pour un message, les étapes suivantes doivent être prises

  • Trier tous les paramètres de l'appel par nom de champ dans l'ordre alphabétique.
  • Créer une chaîne de paramètres en enchaînant les valeurs des paramètres.
  • Méthode HTTP de concaténation, URI de requête et ligne de paramètre.
  • Calculez une valeur de signature en utilisant un HMAC avec un algorithme SHA256 pour la série qui s'ensuit et en utilisant la clé secrète de votre compte pour la valeur clé.

Exemple:

$method = "POST";
$url = "http://www.joomag.com/api/2.0/magazines";
$params = array('title'=>'My New Magazine', 'description'=>'New Magazine Description');

ksort($params);

$paramsStr = implode($params);
$sig = hash_hmac('sha256', $method . $url . $paramsStr, 'sec_mysecretkey');

$headers = array(
	'key:' . 'api_ValueOfMyJoomagAPIKey',
	'sig:' . $sig,
	// other headers...
);

$ch = curl_init();
// other curl options...
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);