Login
La API Transaction utiliza un sistema robusto de autenticación basado en JWT (JSON Web Tokens) para garantizar la seguridad y el aislamiento de las transacciones.
Obtener Credenciales
Requisitos previos
- Debe tener una cuenta registrada en la plataforma.
Entornos Disponibles
- Producción
https://api.gateway.com.br/core
Proceso de Autenticación
Endpoint
- Método:
POST - Endpoint:
/auth/token
Credenciales Necesarias
| Credencial | Descripción | Obligatorio |
|---|---|---|
client_id | Identificador único | Sí |
client_secret | Clave secreta de autenticación | Sí |
Para el primer acceso obtenga las credenciales por la app; si ya tiene acceso, obtenga las credenciales por la api
Ejemplo de Solicitud
- cURL
- JavaScript
curl --request POST \
--url https://api.gateway.com.br/core/auth/token \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'client_id=su-client-id' \
--data-urlencode 'client_secret=su-client-secret' \
--data-urlencode 'grant_type=client_credentials'
const response = await fetch('https://api.gateway.com.br/core/auth/token', {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
body: new URLSearchParams({
client_id: 'su-client-id',
client_secret: 'su-client-secret',
grant_type: 'client_credentials'
})
});
const { access_token, expires_in } = await response.json();
Respuesta Exitosa
| Campo | Tipo | Descripción |
|---|---|---|
access_token | string | Token JWT para autenticación |
expires_in | number | Unix timestamp de cuándo expira el token |
refresh_expires_in | number | Tiempo de expiración del refresh token |
token_type | string | Tipo del token (siempre "Bearer") |
not-before-policy | number | Política de no usar antes |
scope | string | Alcances de acceso del token |
expires_in_sec | number | Tiempo de vida del token en segundos |
Observación: el campo
scopedevuelve los alcances separados por comas.
Ejemplo de Respuesta
{
"access_token": "eyJhbGci...",
"expires_in": 1759845450,
"refresh_expires_in": 0,
"token_type": "Bearer",
"not-before-policy": 0,
"scope": "email,profile",
"expires_in_sec": 3600
}
Usar el Token en las Solicitudes
En todas las solicitudes a la API, incluya el token JWT en el header Authorization.
- cURL
- JavaScript
- Python
curl --request POST \
--url https://api.gateway.com.br/core/transaction \
--header 'Authorization: Bearer su-token-jwt' \
--header 'Content-Type: application/json' \
--data '{
// su payload aquí
}'
const response = await fetch('https://api.gateway.com.br/core/transaction', {
method: 'POST',
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
// su payload aquí
})
});
response = requests.post(
"https://api.gateway.com.br/core/transaction",
headers={
'Authorization': f'Bearer {token}',
'Content-Type': 'application/json'
},
json={
# su payload aquí
}
)
Manejo de Errores
| Código | Descripción |
|---|---|
| 401 | Credenciales inválidas |
| 400 | Credenciales mal formateadas |
| 502 | Bad Gateway (error al contactar el proveedor de autenticación) |
Observación: los códigos y mensajes de error pueden variar según la respuesta del proveedor de autenticación.
Buenas Prácticas de Seguridad
-
Gestión de Tokens
- Almacene los tokens de forma segura
- Renuévelos antes de que expiren
- Nunca exponga el client_secret
- Haga revalidación y rotación de la clave secreta periódicamente y siempre que haya cambios en el equipo o en la estructura de la organización
-
Headers de Seguridad
- Use HTTPS en producción
- Implemente rate limiting
- Valide la autenticación en todas las solicitudes
-
Monitoreo
- Registre los intentos de acceso
- Vigile patrones sospechosos
- Configure alertas