Manejo de errores
Códigos de error HTTP
| Código | Significado | Causa común | Acción recomendada |
|---|---|---|---|
| 400 | Bad Request | Falta el campo requerido medical_note o formato de petición inválido | Asegurar que el campo medical_note está proporcionado (requerido) |
| 401 | Unauthorized | Token inválido o expirado | Verifique su token Bearer y que esté activo |
| 413 | Payload Too Large | medical_note excede 50KB o pdf_file excede 5MB decodificado | Reducir tamaño de entrada o dividir contenido |
| 422 | Unprocessable Entity | Estructura PDF inválida, datos base64 malformados, mime_type inválido | Validar estructura y codificación del archivo PDF |
| 429 | Too Many Requests | Límite de velocidad excedido | Espera y reintenta con backoff exponencial |
| 500 | Internal Server Error | Error inesperado del servidor, problemas de base de datos, mala configuración | Reintenta con backoff exponencial; si persiste, reporta el run_id |
| 503 | Service Unavailable | Servicio de IA temporalmente no disponible | Reintenta después de unos segundos |
| 504 | Gateway Timeout | La petición excedió el límite de procesamiento de 10 minutos | Reducir tamaño de entrada o dividir contenido |
Formato de respuestas de error
Todos los errores siguen esta estructura consistente:Campos de error
| Campo | Descripción |
|---|---|
success | Siempre false para respuestas de error |
error | Nombre/tipo de error (ej: “Bad Request”, “Unauthorized”) |
details | Mensaje de error detallado explicando qué salió mal |
Estrategia de reintentos
¿Cuándo reintentar?
Sí, reintentar:- Errores 5xx (500, 502, 503, 504)
- Error 429 (Too Many Requests)
- Errores de red/timeout
- Errores 4xx excepto 429 (son errores de cliente)
- Error 401 (token inválido)
- Error 422 (esquema inválido)
Backoff exponencial
Implementación en Python
Implementación en JavaScript
Seguimiento y auditoría
Uso de run_id para depuración
Cada respuesta incluye unrun_id único que debe almacenar para seguimiento y depuración:
Deduplicación por hash de contenido
Para evitar procesar la misma nota múltiples veces, use hash de contenido:Headers opcionales de seguimiento
Use los headersdoctor y patient para mejorar las pistas de auditoría: