Solución de Problemas API
Códigos de Error de la API
| Código | Significado | Descripción |
|---|---|---|
| 403 | Sin permisos | Usuario no autenticado, perfil no es "API", o proceso asignado a otro usuario |
| 404 | No encontrado | ID de proceso inválido o proceso eliminado |
| 429 | Rate limit | Se excedió el límite de 5000 requests/mes o el intervalo mínimo de 2 segundos |
| 209 | Token inválido | SessionToken expirado, incorrecto o usuario eliminado |
Problema: Error 403 — Sin Permisos
Síntomas:
{
"code": 403,
"error": "Sin permisos para acceder a este proceso"
}
Causas posibles:
- El usuario no tiene perfil "API"
- El proceso está asignado a otro usuario API
- SessionToken no enviado en los headers
Solución:
- Verificar que el usuario tiene perfil API en el panel de administración
- Verificar que el proceso está asignado a este usuario API
- Incluir
X-Parse-Session-Tokenen los headers
Problema: Error 404 — Proceso No Encontrado
Síntomas:
{
"code": 404,
"error": "Proceso no encontrado"
}
Causa: El ID del proceso es incorrecto o el proceso fue eliminado.
Solución:
- Ir a Procesos en el panel de administración
- Click en Editar del proceso deseado
- Copiar el ID de la URL:
...crearProceso.html?Id=abc123xyz
Problema: Error 429 — Rate Limit
Síntomas:
{
"code": 429,
"error": "Límite de requests excedido para este mes"
}
Causas posibles:
- Se superaron los 5000 requests mensuales del cliente
- Se hicieron requests con menos de 2 segundos de intervalo
Solución:
- Espaciar los requests (mínimo 2 segundos entre cada uno)
- Implementar paginación eficiente para reducir el total de requests
- Si necesitas más cuota, contactar a soporte
import time
for page in range(1, total_pages + 1):
response = requests.post(url, params={**params, "Page": page}, headers=headers)
data = response.json()
# Procesar datos...
time.sleep(2) # Respetar intervalo mínimo
Problema: Error de Autenticación (209)
Síntomas:
{
"code": 209,
"error": "Invalid session token"
}
Causas posibles:
- SessionToken incorrecto o mal copiado
- Token expirado (usuario eliminado)
- Headers incorrectos
Solución:
- Verificar que el token es correcto (formato:
r:abc123...) - Verificar que el usuario API existe en el panel
- Verificar headers
X-Parse-Session-TokenyX-Parse-Application-Id
Problema: El proceso ya está tomado por otro usuario API
Síntomas:
{
"code": 403,
"error": "El proceso ya está asignado a otro usuario API"
}
Causa: Cada proceso solo puede tener un usuario API asignado a la vez.
Solución:
Opción A: Usar el usuario API existente
- Buscar cuál usuario API está asignado
- Usar sus credenciales
Opción B: Crear nuevo usuario y reasignar
- Eliminar usuario API anterior
- Crear nuevo usuario API
- Hacer primer request para asociarlo al proceso
Problema: No devuelve datos
Síntomas:
{
"result": []
}
Causas posibles:
- No hay respuestas en el rango de fechas
- ID de proceso incorrecto
- TimeZone incorrecto (fechas mal interpretadas)
- Usuario API no tiene permisos
Solución:
- Verificar que hay respuestas en el panel web
- Confirmar ID del proceso (ir a Editar y ver URL)
- Probar con rango de fechas más amplio
- Verificar TimeZone (probar con 0 = UTC)
Problema: Timeout en PowerBI
Causa: Demasiados registros o conexión lenta
Solución:
- Reducir rango de fechas
- Implementar paginación manual
- Usar parámetros en PowerBI para fechas dinámicas
¿Cómo obtengo el ID del proceso?
Método:
- Ir a Procesos
- Click en Editar del proceso deseado
- Ver la URL en el navegador
- Extraer el valor después de
Id=
Ejemplo de URL:
https://luuk-app.com/admin/clients/crearProceso.html?Id=abc123xyz789
↑
Este es el ID
ID del proceso: abc123xyz789
Recursos Adicionales
Soporte API:
- Email: info@luuk-app.com
- Consultas técnicas: Indicar "API" en asunto