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 :
- Utilisez la méthode Basic Authentication.
- 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 " :".
- Encodez le résultat obtenu en base 64.
- 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;