Documentación API Joomag 2.0

Empezando

Integre su página web o su app con Joomag utilizando nuestra simple REST API. Usando nuestra API puede hacer simples llamdas para crear revistas, incrustarlas en su página web, entregarlas a sus suscriptores y mucho más.
Hemos intentado hacer el proceso de registro e inicio de sesión tan intuitivo como nos ha sido posible. Sin embargo, hay algunas cosas que mencionar.

¿Dónde está la Clave Secreta/API?

Puede encontrar su API y las Claves Secretas en la página API sección de Ajustes de Cuenta

Autenticación

Las llamadas API de Joomag deben contener la clave de la cabecera de petición http con el valor de la clave de su cuenta API para fines de autenticación.

Ejemplo:

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

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

Firma llamadas API

Para realizar algunas llamadas API deberá introducir su clave secreta. En estas llamadas se le solicitará una firma de cabecera de petición HTTP que le servirá como firma para la llamada. Para crear una firma para el mensaje, debe seguir los siguientes pasos

  • Ordenar todos los parámetros de la llamada por el nombre del campo en orden alfabético.
  • Crear una cadena de parámetros mediante la concatenación de los valores de los mismos.
  • Concatene el método http, solicite el URI y el parámetro string .
  • Calcule un valor de firma utilizando el HMAC con algoritmo SHA256 sobre el valor string resultante y la clave de su cuenta para el valor key

Ejemplo:

$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);