Autenticación OAuth 2.0

📘

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