Consensa Developers

Errors

Maneja errores de protocolo, autorización, dominio e idempotencia de forma segura.

Los errores HTTP usan un envelope estable:

{
  "error": {
    "code": "ERROR_CODE",
    "message": "Human-readable explanation",
    "details": {}
  }
}

Códigos HTTP

EstadoSignificadoAcción recomendada
400Request o JSON inválidoCorregir el request; no reintentar sin cambios.
401API key ausente o inválidaCorregir autenticación server-side.
403Scope insuficiente o acción no permitidaRevisar permisos; nunca degradar a ALLOW.
404Recurso del tenant no encontradoVerificar el identificador y el tenant.
409Conflicto de idempotencia o estadoNo cambiar la clave para ocultar un conflicto semántico.
422Precondición de dominio incumplidaCorregir estado o datos antes de reintentar.
500INTERNAL_ERROR o inconsistencia interna clasificadaNo asumir consentimiento ni autorización; reintentar con backoff sólo si es seguro.

Un DENY de negocio se entrega como HTTP 200 y es una decisión válida. Un error 5xx significa que Consensa no pudo producir o confirmar una decisión confiable; nunca lo conviertas en ALLOW.

RATE_LIMITED y AUTHORIZATION_STATE_UNAVAILABLE existen en el vocabulario de dominio, pero no se anuncian como responses de una operación Integration API v1 mientras el transporte actual no las emita.

Reintentos

Reintenta timeouts, errores transitorios y respuestas 5xx con backoff y límite. En escrituras, conserva la misma Idempotency-Key y el mismo payload para el mismo comando semántico.

Una respuesta fallida, ausente o ambigua nunca equivale a consentimiento ni autorización. Para authorization/check y redec/accesses/authorize, continúa sólo ante un ALLOW explícito.

Eventos del Web Component

El evento consensa:error contiene sólo interactionReference y un code sanitizado. Úsalo para feedback de interfaz; la investigación y reconciliación deben basarse en respuestas server-side y observabilidad autorizada.

On this page