Empezar
Autenticación
Autentica solicitudes con claves de API, sigue prácticas de seguridad y gestiona los errores de autenticación.
Todas las solicitudes a las API de Felo API Platform requieren autenticación mediante una clave de API. Esta guía explica cómo autenticar tus solicitudes y resolver los problemas de autenticación más habituales.
Autenticación con clave de API
Felo usa autenticación con clave de API en todos los endpoints v2. Tu clave de API identifica tu aplicación y proporciona acceso a las capacidades de la plataforma.
Cómo funciona
- Obtienes una clave de API en la página de claves de API de Felo API Platform.
- Incluyes la clave de API en el encabezado
Authorizationde cada solicitud a la API. - La plataforma valida tu clave de API y procesa tu solicitud.
Formato del encabezado
Incluye tu clave de API en el encabezado Authorization mediante el esquema de autenticación Bearer:
Authorization: Bearer YOUR_API_KEYSolicitud de ejemplo
curl -X POST https://openapi.felo.ai/v2/chat \
-H "Authorization: Bearer sk_live_abc123xyz789" \
-H "Content-Type: application/json" \
-d '{"query": "What is machine learning?"}'Obtener tu clave de API
Para obtener tu clave de API:
- Abre la página de claves de API de Felo API Platform.
- Inicia sesión con tu cuenta de Felo si se solicita.
- Introduce un nombre para la clave y haz clic en Create Key.
- Copia la clave completa cuando aparezca. Solo se muestra una vez.
- Guarda la clave de forma segura y úsala como
FELO_API_KEY.
Prácticas recomendadas de seguridad
1. Guarda las claves de API de forma segura
No codifiques las claves de API directamente en el código fuente:
# ❌ Bad - API Key exposed in code
api_key = "sk_live_abc123xyz789"Sí usa variables de entorno o configuración segura:
# ✅ Good - API Key from environment
import os
api_key = os.environ.get('FELO_API_KEY')2. Usa variables de entorno
Guarda tu clave de API en variables de entorno:
Linux/macOS:
export FELO_API_KEY="sk_live_abc123xyz789"Windows (Símbolo del sistema):
set FELO_API_KEY=sk_live_abc123xyz789Windows (PowerShell):
$env:FELO_API_KEY="sk_live_abc123xyz789"3. Rota las claves con regularidad
Genera periódicamente nuevas claves de API y revoca las antiguas para reducir los riesgos de seguridad.
4. Usa claves distintas para entornos distintos
Crea claves de API separadas para los entornos de desarrollo, de pruebas y de producción.
5. Nunca expongas claves en código del lado del cliente
Las claves de API solo deben usarse en código del lado del servidor. Nunca las incluyas en:
- Código JavaScript de frontend
- Código fuente de aplicaciones móviles
- Repositorios públicos
- Archivos de configuración del lado del cliente
Errores de autenticación
Para consultar el sobre de error completo, los encabezados de límite de solicitudes y la política de reintentos, consulta Errores, límites y reintentos.
Códigos de error habituales
| HTTP | Código | Significado |
|---|---|---|
| 401 | UNAUTHORIZED | Clave ausente, no válida, caducada o revocada |
| 429 | RATE_LIMITED | Demasiadas solicitudes; consulta la guía Errores, límites y reintentos |
Una solicitud rechazada devuelve el estado de la clave en message:
{
"status": 401,
"code": "UNAUTHORIZED",
"message": "API Key is required",
"request_id": "..."
}status es el código de estado HTTP. Una clave revocada informa de API Key has been revoked (keyPrefix=...). Bifurca según el estado HTTP y code, no según el texto exacto de message.
Solución de problemas
Si la autenticación falla:
- Comprueba que el encabezado sea exactamente
Authorization: Bearer YOUR_API_KEY. - Confirma que la clave no se haya revocado en la página de claves de API.
- Confirma que el entorno usa la clave que esperas.
- Genera una nueva clave si la anterior se eliminó o se rotó. Una clave completa solo se muestra una vez, en el momento de su creación.
Para consultar una lista de comprobación basada en síntomas que abarca la autenticación y el resto de la plataforma, consulta Solución de problemas.
Ejemplo: depurar la autenticación
import requests
url = "https://openapi.felo.ai/v2/chat"
api_key = "YOUR_API_KEY"
# Correct format
headers = {
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
}
response = requests.post(url, headers=headers, json={"query": "test"})
if response.status_code == 401:
error = response.json()
print(f"Authentication failed: {error['code']}")
print(f"Message: {error['message']}")
print(f"Request ID: {error['request_id']}")
else:
print("Authentication successful!")Límites de solicitudes
Los límites de solicitudes se aplican por endpoint, no globalmente por clave de API. Actualmente solo los aplica `/v2/chat`; los usuarios con una suscripción de pago de Felo vigente están exentos. Los demás endpoints /v2/** no tienen límites de solicitudes aplicados.
Una respuesta 429 incluye encabezados X-RateLimit-* y Retry-After. Lee siempre los límites efectivos en los encabezados de la respuesta, no en la documentación.
Para consultar todas las dimensiones de los límites de solicitudes, los encabezados y la política de reintentos, consulta Errores, límites y reintentos.
¿Necesitas ayuda?
Si tienes problemas de autenticación:
- Revisa esta guía con atención.
- Consulta la guía de primeros pasos.
- Verifica tu clave de API en la página de claves de API.
- Escribe a [email protected] e incluye tu request ID.
Siguientes pasos
- Guía de primeros pasos: aprende a hacer tu primera llamada a la API
- Referencia de la Chat API: explora la documentación de la Chat API