Verwendung von Subscriptions
Subscriptions sind nützlich für Echtzeit-UX wie:
- Upload-Fortschritt
- asynchroner Aufgabenfortschritt
- Dokument- und Empfänger-Lifecycle-Updates
- Kreditänderungen
Für das Payload-Schema selbst siehe:
Inneres Event-Payload parsen
Das Subscription-Feld liefert:
- eine Zustellhülle (
userIdodergroupId) - einen JSON-String in
data
Parsen Sie immer zuerst den inneren data-Wert, bevor Sie das Event verarbeiten.
const parseEnvelope = (payload) => {
const raw = payload?.data;
if (!raw) return null;
return typeof raw === 'string' ? JSON.parse(raw) : raw;
};
Routen nach category und event
Behandle:
categoryals Event-Familieeventals die spezifische Aktion oder den Workflow-Zustand
Beispiele:
category: "upload",event: "uploadCompleted"category: "task",event: "taskCreditBlocked"category: "documentLifecycle",event: "documentCreated"category: "recipientLifecycle",event: "recipientVisiting"
Zustellregeln
subscribeUserFeedwird für benutzerorientierte Events wie Upload-Fortschritt und einige Lifecycle-Fanouts verwendet.subscribeGroupFeedwird für gruppenorientierte Events wie Dokument-, Empfänger-, Vorlage-, Aufgaben-, Kredit- und Lifecycle-Updates verwendet.- Einige Events werden mit derselben
eventIdan beide Feeds gesendet.
Kompatibilitätshinweise
Wenn Sie von den älteren flachen Subscription-Payloads migrieren:
- parsen Sie zuerst die innere
data-Hülle - verschieben Sie die Ereignisleitung zu
eventanstelle des veraltetensystemMessage - verwenden Sie
category, um zu entscheiden, wiedatainterpretiert wird - ignorieren Sie weiterhin unbekannte
data-Felder
Repräsentative Event-Namen
Häufige Event-Namen sind:
documentArchiveddocumentCancelledrecipientUpdatedrecipientResetdocumentCreateddocumentFinalPdfCreateddocumentRejectedrecipientSentEmailrecipientVisitingrecipientCompletedrecipientRejectedrecipientEmailOpenedtaskDocumentCreatedtaskCompletedtaskStoppedByRecipientStopListtaskTrialCreditBlockedtaskCreditBlockedtemplateArchivedtemplateUpdatedtemplateElementCreatedtemplateElementUpdatedtemplateElementDeletedtemplateRoleCreatedtemplateRoleUpdatedtemplateRoleDeleteduploadScanneduploadTypeCheckeduploadConvertinguploadFlatteneduploadTagsParseduploadPdfMetaExtracteduploadCompleteduploadFailedcreditUpdated
Spezielle Workflow-Anleitungen: