Flujo de tokens de usuario
Los tokens de usuario de la app autorizan las solicitudes a la API REST del Servicio SendPulse, permitiendo acciones específicas sobre los datos de la cuenta de usuario en función de los alcances.
El token es válido durante un tiempo limitado. Para autorizar una solicitud en otro momento, es necesario renovar el token. Aún así, hay que evitar hacer solicitudes frecuentes para no sobrecargar SendPulse y provocar que se bloquee.
Observa cómo es el flujo del token de usuario de la app:

Para obtener un token de usuario de la app, envía una solicitud POST a:
| https://api.sendpulse.com/oauth/access_token/market |
Parámetros de la solicitud:
client_id |
string | Clave de usuario de la app* |
client_secret |
string | Clave de usuario de la app* |
grant_type |
string | Igual a client_credentials |
*Las claves de usuario de la app (client_id y client_secret) son diferentes de las claves que el usuario puede encontrar en la configuración de su cuenta. Las claves de usuario de la app solo pueden obtenerse a través del flujo de autorización.
Ejemplo de solicitud:
{
"client_id": "b2bfd8a8441294fa0171c195ada8cf56",
"client_secret": "f7064fb0bbecd392d7b3ea2e2bd77758",
"grant_type": "client_credentials"
}
Ejemplo de respuesta si la solicitud es exitosa:
{
"token_type": "Bearer",
"expires_in": 3600,
"access_token": "eyJ0eXAiOiJKV1Q...Bv1L"
}
Parámetros de respuesta:
token_type |
string | Tipo de token. |
expires_in |
int | Tiempo de validez del token en segundos. El valor predeterminado es 3600 (60 minutos). Utiliza siempre el valor devuelto en este campo en lugar de una duración fija definida en el código. |
access_token |
string | Token de usuario de la app. |
Almacena el token en caché y reutilízalo hasta que venza. No solicites un token nuevo para cada llamada a la API.
Si la API devuelve 401 Unauthorized, revisa los datos que utilizaste, solicita un token nuevo y vuelve a intentar la llamada a la API una sola vez. Si el segundo intento también falla, deja de reintentarlo y muestra un mensaje de error al usuario.
Ejemplo de respuesta si la solicitud no es exitosa:
{
"error": "invalid_client",
"error_description": "Client authentication failed",
"message": "Client authentication failed"
}
o