payload específico del evento. El contrato concreto depende de eventName, majorVersion y minorVersion.
Campos que debes esperar
| Campo | Uso |
|---|---|
attemptId | Identifica el intento de entrega. |
workspace | Identifica el espacio de trabajo que emitió el evento. |
eventId | Permite deduplicar el evento de negocio entre reintentos. |
eventName | Indica qué ocurrió. |
entity | Entidad principal afectada por el evento. |
entityId | Identificador de la entidad principal. |
occurredOn | Fecha y hora en que ocurrió el evento. |
majorVersion | Versión mayor del contrato. |
minorVersion | Versión menor del contrato. |
payload | Datos concretos del evento. |
attemptNumber | Número de intento de entrega. |
isLastAttempt | Indica si Bold considera que es el último intento automático. |
No todos los eventos incluyen una copia completa de la entidad. Diseña tu consumidor para llamar a la API cuando necesite el estado actual.
Ejemplo orientativo
Buenas prácticas
Versiona por majorVersion
Versiona por majorVersion
Mantén validadores separados si consumes más de una versión mayor del mismo evento. No asumas que dos versiones tienen los mismos campos.
Usa identificadores, no nombres
Usa identificadores, no nombres
Los nombres visibles pueden cambiar. Usa
id o reference para reconciliar datos entre sistemas.Guarda los datos originales
Guarda los datos originales
Conserva el JSON recibido durante el tiempo necesario para auditoría. Facilita depuración si un sistema externo falla.
Deduplicación
UsaeventId para evitar procesar dos veces el mismo evento de negocio. Usa attemptId solo para auditar una entrega concreta. Un reintento conserva el mismo eventId, pero genera un nuevo attemptId.