Recuperación
Errores hechos para depurar.
Cada error incluye code, requestId, retryable, docUrl y detalles acotados. Guarda requestId; no registres secretos ni cuerpos CRM completos.Envelope estable
{
"error": {
"code": "CRM_VERSION_CONFLICT",
"message": "El deal cambió desde que lo abriste.",
"requestId": "req_...",
"retryable": false,
"docUrl": "https://horamatch.com/developers/errors",
"details": { "expectedRevision": 7, "currentRevision": 8 }
}
}Decisiones de recuperación
- 401: rota o reemplaza la API key.
- 403: reduce la operación o entrega el scope y acceso de fila correctos.
- 409: recupera la versión actual o conserva cuerpo y clave si fue una respuesta perdida.
- 422: corrige el input; no reintentes sin cambios.
- 429 y 503: respeta Retry-After y conserva la misma Idempotency-Key.