Formato de Evento de Suscripción
Para la referencia del esquema canónico compatible con IA, consulte Subscription Event Schema.
Las suscripciones GraphQL devuelven un envoltorio de entrega ligero y un sobre de evento codificado en JSON.
Envoltorio de Entrega
Las respuestas de feed de usuario se ven así:
{
"data": "{\"version\":\"1.0\",\"eventId\":\"evt...\",\"timestamp\":\"2026-04-24T10:38:36.822Z\",\"level\":\"INFO\",\"event\":\"recipientVisiting\",\"category\":\"recipientLifecycle\",\"groupId\":\"grp...\",\"userId\":\"usr...\",\"requestId\":null,\"batchId\":null,\"error\":null,\"data\":{\"id\":\"rec...\",\"documentId\":\"doc...\",\"documentName\":\"Example document\",\"firstName\":\"Ada\",\"lastName\":\"Lovelace\"}}",
"userId": "..."
}
Las respuestas de feed de grupo usan groupId en lugar de userId en el envoltorio externo.
El envoltorio identifica el canal de suscripción. La cadena interna data es la carga útil canónica del evento.
Sobre del Evento
Después de analizar data, recibe:
{
"version": "1.0",
"eventId": "evt...",
"timestamp": "2026-04-24T10:38:36.822Z",
"level": "INFO",
"event": "recipientVisiting",
"category": "recipientLifecycle",
"groupId": "grp...",
"userId": "usr...",
"requestId": null,
"batchId": null,
"error": null,
"data": {
"id": "rec...",
"documentId": "doc...",
"documentName": "Example document",
"firstName": "Ada",
"lastName": "Lovelace"
}
}
Campos del Sobre
| Campo | Descripción |
|---|---|
version | Versión del sobre del evento. Actualmente 1.0. |
eventId | ID lógico estable del evento. Las copias fanout del mismo evento comparten el mismo valor. |
timestamp | Marca temporal del evento en formato ISO-8601. |
level | Severidad del evento. Actualmente, por lo general INFO. |
event | Nombre canónico del evento, como documentArchived o uploadCompleted. |
category | Familia del evento. Esto describe cómo interpretar data. |
groupId | Contexto de grupo cuando aplica. |
userId | Contexto de usuario cuando aplica. |
requestId | ID de correlación de la solicitud cuando está disponible. |
batchId | Contexto de lote cuando está disponible. |
error | Carga útil de error cuando aplica, de lo contrario null. |
data | Carga útil específica de la categoría. |
Categorías
Categorías actuales:
documentrecipientdocumentLifecyclerecipientLifecycletemplatetaskuploadcredit
category te indica sobre qué objeto o flujo de trabajo trata el evento. event te indica qué sucedió.
Formas de Datos
data es específico de la categoría y extensible hacia adelante:
- Los productores pueden agregar campos con el tiempo.
- Los productores no deben eliminar campos existentes de forma incompatible.
- Los consumidores deben ignorar campos que no reconozcan.
Formas base actuales:
// document
{ "id": "doc..." }
// recipient
{ "id": "rec...", "documentId": "doc..." }
// documentLifecycle
{ "id": "doc...", "documentName": "Example document" }
// recipientLifecycle
{
"id": "rec...",
"documentId": "doc...",
"documentName": "Example document",
"firstName": "Ada",
"lastName": "Lovelace"
}
// template
{ "id": "tpl..." }
// task
{ "id": "tsk...", "code": "TSKPROCESSOK", "documents": [] }
// upload
{ "id": "tmp...", "key": "upload/usr.../tmp....pdf", "code": "UPLOADOK" }
// credit
{ "credit": 172 }
Los datos de ciclo de vida más ricos se encuentran actualmente poblados más consistentemente para eventos documentLifecycle y recipientLifecycle.