S'identifier lors des échanges

L'identification s'effectue au moyen d'un en-tête HTTP.

La méthode utilisée est HTTP Basic Authentication.

Dans chaque requête HTTP, l'en-tête doit contenir les informations permettant à la Marketplace de s'authentifier auprès du Webservice Marketplace.

Description des en-têtes HTTP :

En-têtes Description Valeurs à utiliser
Accept Détermine le format du contenu qui sera retourné par le serveur.

Architecture REST qui permet de faire des échanges au format json

'Accept: application/json'
Authorization : Description Jeton d'identification selon le principe de "Basic Authentication over HTTPS". Se compose de l'identifiant et du mot de passe de l'utilisateur de l'API séparés par le caractère ":", le tout encodé en base 64. 'Authorization: Basic YWRtaW46YWRtaW4='
Content-type Détermine le format du contenu qui est envoyé au serveur. 'content-type: application/json'
Method

Voir tableau au chapitre Les Ressources du Webservice pour connaître la méthode à utiliser en fonction de la ressource.

GET | POST | PUT | DELETE

Les étapes pour construire ces en-têtes sont les suivantes :

  1. Utilisez la méthode Basic Authentication.
  2. Spécifiez dans l'en-tête Authorization la méthode utilisée : Basic suivie de la représentation en Base 64 du login et du mot de passe séparés par le caractère ":".
  3. Encodez le résultat obtenu en base 64.
  4. Ajoutez la chaîne en "Basic".
    Remarque :
    Ne pas oublier de mettre un espace après Basic.

  • Exemple cURL :
    $ curl 'https://secure.lyra.com/marketplace-test/123456/orders/' -H
    'Authorization: Basic YWRtaW46YWRtaW4=' -H
    'Content-Type: application/json' -H 'Accept: application/json' --data
    '{}'
    -i
  • Exemple de requête complète en Python :
    r = requests.post(
    <target url>,
    data=<json data>,
    auth=(<api login>, <api password>),
    headers={'content-type': 'application/json'},
    verify=False
    )
  • Exemple de requête en .NET
    var myURL = "https://secure.lyra.com/marketplace-test/orders?expand=items"
    HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(myURL);
    myHttpWebRequest.ContentType = "application/json";
    myHttpWebRequest.Accept = "application/json";
    myHttpWebRequest.Method = "post";
    string authInfo = userName + ":" + userPassword; 
    authInfo = Convert.ToBase64String(Encoding.Default.GetBytes(authInfo));
    myHttpWebRequest.Headers["Authorization"] = "Basic " + authInfo;