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ódigo | Tipo | Significado | Qué hacer |
|---|---|---|---|
MPBX-EVENTS-ENCODE | internal | No se pudo serializar un evento a JSON. | Repórtelo: es un error del software. |
MPBX-EVENTS-DECODE | invalid_argument | El 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-LAGGED | unavailable | Un 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-CLOSED | unavailable | El bus se cerró. | Es esperado durante el apagado; si no, reinicie el proceso. |
MPBX-EVENTS-TENANT-MISMATCH | permission_denied | Se 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-REQUIRED | permission_denied | El 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-DB | unavailable or internal | Un 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. |