Interface service Web REST

Authentification & Autorisation

Mis à jour, 2012-06-19 14:28

L'authentification donne à votre application la capacité de lire et à écrire des données via les API. La plate-forme Dexero eCommerce utilise OAuth 2.0 pour l'authentification et l'autorisation.
OAuth2 exige HTTPS.

OAuth2 est un protocole qui permet aux partenaires et aux applications d'interagir avec Dexero eCommerce. L'objectif principal de fournir un soutien OAuth2 est de permettre aux développeurs d'interagir avec Dexero eCommerce sans stocker les informations d'identification sensibles. Notre mise en œuvre permet également aux utilisateurs de gérer leurs propres connexions.

Si vous êtes nouveau dans le monde de protocole OAuth, vous pouvez lire plus à http://oauth.net.
Si vous êtes déjà familier avec OAuth2, puis tout ce que vous avez vraiment besoin de connaître est le point de terminaison du jeton.

  • https://ecommerce.dexero.com/oauth/token.action

Avant de commencer à développer une application utilisant Dexero eCommerce, vous aurez besoin d'un numéro de client et une clé secrète du client. Le numéro de client et la clé secrète du client sera utilisé pour authentifier votre demande et vérifier que les appels faits sont valables.

Sécurité

Dépendamment du contexte d'utilisation, les informations d'identification peuvent offrir un accès à une grande quantité de données. Plus le nombre d'applications et nombreux à utiliser la même information d'autorisation, plus le risque qu'il soit compromis est élevé. Il est extrêmement important que les informations d'identification utilisées pour authentifier le client soient hautement confidentielles. Idéalement, il serait préférable de les renouvelés sur une base régulière.

Échanger d'informations d'identification de l'application pour un jeton d'accès

L'application doit demander un jeton d'accès à partir du serveur d'autorisation, l'authentification de la demande avec ses informations d'identification client.
Paramètre POST Description
client_id La valeur fournie pour vous lorsque vous avez enregistré votre demande.
client_secret La valeur fournie pour vous lorsque vous avez enregistré votre demande.
scope read
grant_type client_credentials

Réception d'un jeton d'accès

PHP
 
$credentials = "your_client_id:your_client_secret";
$curl = curl_init( "https://ecommerce.dexero.com/oauth/token.action" );
curl_setopt( $curl, CURLOPT_POST, true );
curl_setopt( $curl, CURLOPT_POSTFIELDS, 'scope=read&grant_type=client_credentials');
curl_setopt( $curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt( $curl, CURLOPT_HTTPHEADER, array( 'Authorization: Basic ' . base64_encode($credentials)
 ) );
$auth = curl_exec( $curl );
$secret = json_decode($auth);
$access_key = $secret->access_token;

Exemple de requête

$access_key = "--------";
$merchant_key = 'merchant';
$catalog_key = 'catalog'; 
$curl = curl_init( "https://ecommerce.dexero.com/service/rest/2/$merchant_key/$catalog_key/products.json?page=1" );
curl_setopt( $curl, CURLOPT_HTTPHEADER, array( 'Authorization: Bearer ' . $access_key ) );
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$result  = curl_exec ($curl);
curl_close ($curl);
echo json_decode($result);