Formato y códigos de error de la API
Cómo interpretar el sobre de error de la API de Omnifox y sus códigos numéricos.
Cuando una solicitud a la API falla, Omnifox devuelve un sobre de error consistente en todos los endpoints, para que tu integración pueda manejar errores de forma programática sin tener que parsear texto libre.
Formato del error
{
"code": 42200,
"message": "The given data was invalid.",
"details": {
"email": ["El campo email debe ser una dirección válida."]
}
}
code: entero legible por máquina, útil para bifurcar lógica sin depender del texto demessage(que puede variar según el idioma del usuario).message: texto legible para humanos.details: objeto opcional con información estructurada extra (por ejemplo, errores de validación por campo).
Tabla de códigos
| HTTP status | code |
Significado |
|---|---|---|
| 400 | 40000 | Solicitud mal formada |
| 401 | 40100 | No autenticado (token ausente/expirado) |
| 403 | 40300 | Prohibido (sin permiso o feature no habilitado en el plan) |
| 404 | 40400 | Recurso no encontrado |
| 409 | 40900 | Conflicto (ej: estado incompatible) |
| 422 | 42200 | Error de validación |
| 429 | 42900 | Límite de tasa excedido |
| 500 | 50000 | Error interno del servidor |
Ejemplo: manejar un 422 en tu integración
const res = await fetch('https://app.omnifox.io/api/v1/contacts', { method: 'POST', ... });
const body = await res.json();
if (!res.ok) {
if (body.code === 42200) {
console.log('Errores de validación:', body.details);
} else if (body.code === 42900) {
console.log('Rate limit, reintentar más tarde');
}
}
Consejos
- Bifurcá tu lógica de reintentos por
code, no por el HTTP status únicamente: por ejemplo, un 400/422 no se debe reintentar automáticamente (es un error del cliente), pero un 429/500 sí, con backoff. - Guardá siempre
detailsen tus logs de integración: es la pista más rápida para depurar un rechazo de la API.
Solución de problemas
detailsvienenull: pasa en errores genéricos (401, 403, 404, 500) que no tienen información estructurada adicional; elmessagees la única pista.- Recibo un código HTTP que no está en la tabla: para status no mapeados,
codese calcula comostatus * 100(ej: un 418 devolvería41800).
Artículos relacionados
-
Cómo conectar integraciones y apps externas
Conecta Omnifox con tus herramientas favoritas desde el catálogo de integraciones en pocos pasos.
-
Generar y usar API keys y webhooks
Crea claves de API para acceder a Omnifox por código y configura webhooks para recibir eventos en tiempo real.
-
Introducción a las integraciones (webhook / OAuth / API key)
Conecta Omnifox con tus otras herramientas. Aprende cuándo usar un webhook, una conexión OAuth de la galería o una clave de API.
-
La API REST de Omnifox: introducción y requisitos de plan
Qué es la API REST de Omnifox, qué plan necesitas (desde Crece), cómo autenticar con la cabecera X-API-Key y dónde está la documentación.
-
Crear una clave API personal (PAT)
Aprendé a generar tu primera clave API personal en Omnifox para conectar integraciones, scripts o herramientas externas a tu workspace.