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 CitrusAd:
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 CitrusAdexpires_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 CitrusAd, 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