OAuth 2.0 solo está disponible en el endpoint /ads
Al integrar los informes de pedidos a través de API, deberá integrar el endpoint /orders con autenticación básica y su clave API secreta.
ID de cliente y secreto de cliente
La client_id
y la client_secret
serán proporcionados por el administrador técnico de su cuenta. El secreto del cliente es privado y no debe compartirse.
Solicitud de tokens de acceso
Para obtener un token de acceso, debe enviar una solicitud que contenga los datos de client_id
y client_secret
. Para ello, el minorista debe realizar una solicitud POST al endpoint del servidor de autorización de Epsilon Retail Media:
https://$BASE_URL/v1/oauth2/token
/oauth2/token
solo proporciona el token relevante. Utilizará estos tokens para interactuar con los distintos endpoints de integración.
Su solicitud requerirá una autorización básica enviada a través del encabezado de solicitud de autorización que contenga los datos client_id
y client_secret
codificados en base64 del minorista:
Authorization: "Basic" + base64encode(client_id + ":" + client_secret)
Deberá añadir el siguiente parámetro utilizando el formato application/x-www-form-urlencoded
en el cuerpo de la solicitud HTTP:
grant_type=client_credentials
La solicitud tendrá el siguiente aspecto:
POST https://$BASE_URL/v1/oauth2/token
Content-Type: application/x-www-form-urlencoded
Authorization: Basic <base64 encoded id+key>
grant_type=client_credentials
Recepción del token de acceso
La respuesta contendrá la siguiente información:
access_token
: El token de acceso que se utilizará para llamar a las API de Epsilon Retail Media.expires_in
: la cantidad, en segundos, hasta que caduque el token de acceso.token_type
: el tipo de token devuelto. Siempre será portador en este caso.
A continuación se muestra una respuesta de muestra.
{
"access_token": "xxxxx.yyyyy.zzzzz",
"expires_in": 3600,
"token_type": "Bearer"
}
Uso del token
Para realizar llamadas contra los endpoints de la API de Epsilon Retail Media, simplemente añada el token de acceso generado en el encabezado de autorización de la solicitud.
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
}
Errores de solicitud
Cliente no válido
Si la client_id
o el client_secret
enviados en la solicitud son incorrectos, recibirá una respuesta como esta:
{
"error": "invalid_client"
}
Asegúrese de estar utilizando las credenciales correctas. Compruebe de nuevo sus client_id
y client_secret
y asegúrese de que está utilizando la autorización básica correctamente al llamar al punto final /token.
##Solicitud no válida
Se devolverá un error de solicitud no válida desde el servidor de autorización si a la solicitud le falta un parámetro requerido, incluye un valor de parámetro no válido, incluye un parámetro más de una vez o tiene formato incorrecto.
{
"error": "invalid_request"
}
Asegúrese de:
- Incluir solo
grant_type=client_credentials
en el cuerpo de la solicitud - Establecer el
Content-Type
correcto al encabezado de la solicitud