OAuth 2.0 est disponible uniquement sur le point de terminaison /ads
Lors de l'intégration des rapports sur les commandes par l'API, vous devez intégrer le point de terminaison /orders à l'aide de l'authentification de base et votre clé API secrÚte.
ID client et clé secrÚte client
L'AD_ID client_id
et client_secret
seront fournis par votre responsable de compte technique. La clĂ© secrĂšte client est privĂ©e et ne doit pas ĂȘtre partagĂ©e.
Ămettre une requĂȘte de jetons d'accĂšs
Pour obtenir un jeton d'accĂšs, vous devez envoyer une requĂȘte contenant les Ă©lĂ©ments client_id
et client_secret
. Pour ce faire, le dĂ©taillant doit effectuer une requĂȘte POST au point de terminaison du serveur dâautorisation Epsilon Retail Media :
https://$BASE_URL/v1/oauth2/token
/oauth2/token
ne fournit que le jeton correspondant. Ces jetons vous permettront d'interagir avec les différents points de terminaison d'intégration.
Votre demande nĂ©cessitera une autorisation de base envoyĂ©e via l'en-tĂȘte de requĂȘte d'autorisation contenant les Ă©lĂ©ments client_id
et client_secret
du détaillant, encodés en Base64 :
Authorization: "Basic" + base64encode(client_id + ":" + client_secret)
Vous devrez ajouter le paramĂštre suivant Ă l'aide du format application/x-www-form-urlencoded
dans le corps de la requĂȘte HTTPÂ :
grant_type=client_credentials
La requĂȘte ressemblera Ă ceci :
POST https://$BASE_URL/v1/oauth2/token
Content-Type: application/x-www-form-urlencoded
Authorization: Basic <base64 encoded id+key>
grant_type=client_credentials
Recevoir un jeton d'accĂšs
La réponse contiendra les informations suivantes
access_token
: le jeton d'accĂšs Ă utiliser lors de l'appel des API Epsilon Retail Mediaexpires_in
: le volume, en secondes, avant expiration du jeton d'accĂšs.token_type
: le type de jeton renvoyé. Dans ce cas, le type sera toujours Bearer (Porteur).
Voici un exemple de réponse
{
"access_token": "xxxxx.yyyyy.zzzzz",
"expires_in": 3600,
"token_type": "Bearer"
}
Utiliser un jeton
Pour effectuer des appels vers les points de terminaison de l'API Epsilon Retail Media, il suffit d'ajouter le jeton d'accĂšs gĂ©nĂ©rĂ© Ă l'en-tĂȘte d'autorisation de la requĂȘte
Authorization: âBearer â <access_token>
POST $BASE_URL/v1/ads/generate HTTP/1.1
accept: application/json
content-type: application/json
Authorization: Bearer <access_token>
{
"customerId": "wertg5432a",
"sessionId": "ec9-4e07-881d-3e9",
"placement": "category",
"catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
"productFilters": [
["category:Cupboard/Snacks"]
],
"options": {
"filterMode": "AndOr"
},
"maxNumberOfAds": 3
}
Erreurs liĂ©es Ă la requĂȘte
Client non valide
Si les éléments client_id
ou client_secret
envoyĂ©s au sein de la requĂȘte sont erronĂ©s, vous recevrez la rĂ©ponse suivante :
{
"error": "invalid_client"
}
Vérifiez que les identifiants que vous utilisez sont corrects. Vérifiez de nouveau votre client_id
et client_secret
et assurez-vous d'utiliser correctement l'autorisation de base lorsque vous appelez le point de terminaison /token.
##RequĂȘte non valide
Une erreur de requĂȘte non valide sera renvoyĂ©e par le serveur d'autorisation si un paramĂštre requis est absent de la requĂȘte, ou si cette derniĂšre contient une valeur de paramĂštre non valide, un paramĂštre prĂ©sent plusieurs fois ou un paramĂštre malformĂ©.
{
"error": "invalid_request"
}
Assurez-vous de :
- Inclure uniquement
grant_type=client_credentials
au corps de la requĂȘte - DĂ©finir le bon
Content-Type
pour l'en-tĂȘte de la requĂȘte