API
¿Cómo obtengo un access token de la API?
Todos los llamados a la API necesitan un token, y el token se pide con tus credenciales. Dura una hora.
Pedí el token
POST /API/1.1/TokenEndpoint
Hay dos formas de mandar las credenciales. No uses las dos a la vez: si mandás las dos, la llamada falla.
Con el encabezado de autorización
Es la forma recomendada. Las credenciales viajan en el encabezado, codificadas en Base64.
Ejemplo
curl -X POST "https://xubio.com/API/1.1/TokenEndpoint" \
-u "TU_CLIENT_ID:TU_SECRET_ID" \
-d "grant_type=client_credentials"
Con las credenciales en el cuerpo
Ejemplo
curl -X POST "https://xubio.com/API/1.1/TokenEndpoint" \
-d "client_id=TU_CLIENT_ID" \
-d "secret_id=TU_SECRET_ID" \
-d "grant_type=client_credentials"
| Campo | Formato | Qué es |
|---|---|---|
grant_type |
Texto: client_credentials |
El único valor válido para este flujo |
client_id |
Texto | Tu Client ID. En el cuerpo, o dentro del encabezado |
secret_id |
Texto | Tu Secret ID. En el cuerpo, o dentro del encabezado |
Qué te devuelve
Respuesta
{
"access_token": "a1b2c3d4e5f6...",
"scope": "",
"token_type": "Bearer",
"expires_in": "3600"
}
| Campo | Qué es |
|---|---|
access_token |
El token que vas a mandar en cada llamado |
token_type |
Siempre Bearer |
expires_in |
Cuántos segundos dura. Una hora, y viene como texto, no como número |
scope |
El alcance asignado a tu aplicación. Suele llegar vacío |
Usá el token
Va en el encabezado de autorización de cada llamado, precedido por Bearer.
Ejemplo
curl "https://xubio.com/API/1.1/clienteBean" \
-H "Authorization: Bearer TU_TOKEN"
Cuándo renovarlo
El token dura una hora, pero deja de servir cuando le quedan menos de dos minutos. Si tu integración corre procesos largos, pedí uno nuevo antes de llegar a ese margen en lugar de esperar a que venza.
Podés pedir tantos tokens como necesites.
Lo que sí tiene tope es la cantidad de llamados simultáneos con el mismo token: hasta 50 a la vez. Si los superás, recibís un error Too many requests.
Si algo falla
| Respuesta | Qué pasó |
|---|---|
invalid_request · “PARAMETRO_GRANT_TYPE is REQUIRED” |
Falta grant_type en el pedido |
invalid_request · “or HEADER_AUTHORIZATION or PARAMETER_CLIENT_ID_SECRET_ID, not both” |
Mandaste las credenciales por las dos vías a la vez |
invalid_client · “Client authentication failed” |
El Client ID no existe o el Secret ID no coincide |
Si recibís invalid_client, revisá que hayas copiado las credenciales completas y sin espacios desde Configuración > Integraciones > API de Xubio.