Errores y Soporte

La API de Platica utiliza códigos de estado HTTP estándar para indicar el éxito o fracaso de las solicitudes. Esta sección describe los formatos de error, códigos comunes y cómo obtener ayuda.


Formato de Errores

Todas las respuestas de error siguen un formato JSON consistente:

{
  "code": 404,
  "error": "Not Found - El recurso no existe",
  "details": "Agent not found"
}
CampoTipoDescripción
codenumberCódigo de estado HTTP
errorstringMensaje descriptivo del error
detailsstring | object | arrayContexto adicional. En errores de validación contiene los campos rechazados

Códigos de Error Comunes

CódigoEstadoDescripción
400Bad RequestLa petición tiene errores de validación o formato incorrecto
401UnauthorizedAPI key inválida, expirada o no proporcionada
402Payment RequiredEl workspace alcanzó su límite de créditos
403ForbiddenNo tienes permisos para acceder a este recurso
404Not FoundEl recurso solicitado no existe
409ConflictEl recurso cambió o está ocupado; por ejemplo, una conversación procesando otro turno
410GoneEl recurso ya no está disponible
422Unprocessable EntityLa petición es válida pero no se pudo procesar
429Too Many RequestsHas excedido el límite de peticiones
500Internal Server ErrorError interno del servidor
502Bad GatewayUn servicio interno o proveedor no pudo completar la solicitud
503Service UnavailableServicio temporalmente no disponible
504Gateway TimeoutUn servicio interno no terminó antes del tiempo límite

400 - Bad Request:

{
  "code": 400,
  "error": "Bad Request - Validation error",
  "details": "El campo 'name' es requerido"
}

401 - Unauthorized:

{
  "code": 401,
  "error": "Unauthorized - Invalid API key",
  "details": "La API key proporcionada no es válida"
}

403 - Forbidden:

{
  "code": 403,
  "error": "Forbidden - Access denied",
  "details": "No tienes permisos para acceder a este workspace"
}

404 - Not Found:

{
  "code": 404,
  "error": "Not Found - Resource not found",
  "details": "Agent not found"
}

429 - Too Many Requests:

{
  "code": 429,
  "error": "Too Many Requests - Rate limit exceeded",
  "details": "Has excedido el límite de 30 peticiones por segundo"
}

Errores de validación

Cuando varios campos fallan, details es un arreglo. Cada elemento identifica la ruta y la regla incumplida:

{
  "code": 400,
  "error": "Bad Request - The request has validation errors",
  "details": [
    {
      "path": ["attachments"],
      "message": "Array must contain at most 10 element(s)"
    }
  ]
}

En POST /v1/chat, delay y scheduleAt son mutuamente exclusivos. Si envías ambos, la API responde 400 y señala los campos en details.

Corrige todos los elementos de details antes de repetir la solicitud.


Rate Limiting

La API tiene límites de peticiones para garantizar un servicio estable para todos los usuarios.

LímiteValor
Peticiones por segundo30 por API key

Headers de Rate Limiting

Las respuestas incluyen headers que te ayudan a monitorear tu uso:

HeaderDescripción
X-RateLimit-LimitNúmero máximo de peticiones permitidas
X-RateLimit-RemainingPeticiones restantes en la ventana actual
X-RateLimit-ResetTimestamp cuando se reinicia el límite

Mejores Prácticas

Para manejar errores de forma efectiva:

  1. Siempre verifica el código de estado antes de procesar la respuesta
  2. Implementa reintentos con backoff exponencial para errores 502, 503 y 504
  3. No reintentes errores 4xx sin corregir la solicitud
  4. Monitorea los headers de rate limiting para evitar exceder límites
  5. Registra los errores con el campo details para debugging

Soporte Técnico

Si necesitas ayuda con la integración o tienes preguntas:

CanalContacto
Integraciones y APIintegraciones@platica.mx
Soporte Generalsoporte@platica.mx