Autenticación
Todas las solicitudes a la API de Ozzie requieren un encabezado Authorization con un token Bearer.
Cómo funciona
El token es la codificación Base64 de client_id:client_secret:
Authorization: Bearer <base64(client_id:client_secret)>
Generando tu token
- Terminal
- Node.js
- Python
TOKEN=$(echo -n "tu_client_id:tu_client_secret" | base64)
echo $TOKEN
# dHVfY2xpZW50X2lkOnR1X2NsaWVudF9zZWNyZXQ=
const token = Buffer.from('tu_client_id:tu_client_secret').toString('base64');
// Úsalo en todas las solicitudes:
const headers = { Authorization: `Bearer ${token}` };
import base64
token = base64.b64encode(b'tu_client_id:tu_client_secret').decode()
headers = {'Authorization': f'Bearer {token}'}
Cómo obtener credenciales
Contacta commercial@ozzieapp.com para obtener tu client_id y client_secret.
Encabezados de rate limit
Todas las respuestas incluyen:
| Encabezado | Descripción |
|---|---|
X-RateLimit-Limit | Límite mensual de llamadas de tu tier |
X-RateLimit-Remaining | Llamadas restantes en el mes actual |
X-RateLimit-Reset | Fecha de reset (1º del próximo mes) |
Errores de autenticación
| Código | Status HTTP | Causa |
|---|---|---|
UNAUTHORIZED | 401 | Token ausente, inválido o expirado |
RATE_LIMIT_EXCEEDED | 429 | Límite mensual alcanzado |
Buenas prácticas de seguridad
- Nunca expongas
client_idoclient_secreten el código del frontend - Usa variables de entorno para almacenar las credenciales
- Haz todas las llamadas a la API desde el backend de tu aplicación
- Cada API client tiene alcance separado — tus credenciales solo acceden a tus propios usuarios
Multi-tenancy
Cada API client gestiona sus propios usuarios. Cuando creas un usuario con external_user_id: "user_123", ese ID queda vinculado exclusivamente a tu client. Otros clients no pueden acceder a tus usuarios.