Saltar al contenido principal

Códigos de error de eventos (mpbx-events)

Códigos que genera mpbx_events (W1-PBX-05): el bus, el sobre de los eventos y la bandeja de salida transaccional. Los tipos se asignan a estados HTTP en la capa de API como en los códigos comunes. Los mensajes nunca contienen cargas de eventos, valores de filas ni secretos. Guía: docs/guides/domain-events.md.

CódigoTipoSignificadoQué hacer
MPBX-EVENTS-ENCODEinternalNo se pudo serializar un evento a JSON.Repórtelo: es un error del software.
MPBX-EVENTS-DECODEinvalid_argumentEl JSON no es un sobre de evento válido (type desconocido, falta un campo). En el relevo de la bandeja de salida, la fila se mueve a las cartas muertas (dead_at) con este código en last_error.Normalmente una versión más nueva escribió el evento antes de una reversión: actualice otra vez y luego reproduzca las cartas muertas (vea la guía).
MPBX-EVENTS-LAGGEDunavailableUn suscriptor del bus en proceso se retrasó y perdió eventos; el mensaje indica la cantidad. Se puede reintentar: la suscripción continúa.Acelere el consumidor o aumente la capacidad del bus; los consumidores que necesitan todos los eventos deben resincronizarse o usar el bus duradero.
MPBX-EVENTS-CLOSEDunavailableEl bus se cerró.Es esperado durante el apagado; si no, reinicie el proceso.
MPBX-EVENTS-TENANT-MISMATCHpermission_deniedSe escribió un evento en la bandeja de salida para una empresa distinta a la que tiene asignada la transacción (mpbx.tenant_id). No se escribió nada.Es un error de quien llama: construya el evento con la empresa de la transacción.
MPBX-EVENTS-SYSTEM-SCOPE-REQUIREDpermission_deniedEl relevo de la bandeja de salida, pending_count o prune_published se ejecutó en una transacción que no es de ámbito de sistema (rol mpbx_system). No se leyó ni cambió nada.Es un error de conexión: construya el relevo con storage::pg::SystemTx::opener(pool, system_ctx) y ejecute pending_count / prune_published en una conexión SystemTx.
MPBX-EVENTS-OUTBOX-DBunavailable or internalUn error de base de datos en la bandeja de salida (el mensaje solo contiene el SQLSTATE). unavailable (se puede reintentar) cuando no se llega a Postgres; internal en otros casos, por ejemplo una empresa desconocida (23503) o un id de evento duplicado (23505).Revise el estado de Postgres; en caso de internal, repórtelo con la línea del registro.