Vai al contenuto principale

Uso delle Subscription

Le subscription sono utili per esperienze utente in tempo reale come:

  • avanzamento del caricamento
  • avanzamento di task asincroni
  • aggiornamenti sul ciclo di vita di documenti e destinatari
  • variazioni di credito

Per lo schema del payload vero e proprio, vedi:

Analizza il Payload Interno dell'Evento

Il campo subscription restituisce:

  • un involucro di consegna (userId o groupId)
  • una stringa JSON in data

Analizza sempre il valore interno data prima di gestire l'evento.

const parseEnvelope = (payload) => {
const raw = payload?.data;
if (!raw) return null;
return typeof raw === 'string' ? JSON.parse(raw) : raw;
};

Instrada per category e event

Considera:

  • category come la famiglia dell’evento
  • event come l’azione specifica o lo stato del flusso di lavoro

Esempi:

  • category: "upload", event: "uploadCompleted"
  • category: "task", event: "taskCreditBlocked"
  • category: "documentLifecycle", event: "documentCreated"
  • category: "recipientLifecycle", event: "recipientVisiting"

Regole di Consegna

  • subscribeUserFeed è usato per eventi destinati all’utente come l’avanzamento del caricamento e alcuni fanout del ciclo di vita.
  • subscribeGroupFeed è usato per eventi destinati al gruppo come aggiornamenti di documenti, destinatari, template, task, credito e ciclo di vita.
  • Alcuni eventi sono distribuiti a entrambi i feed con lo stesso eventId.

Linee Guida di Compatibilità

Se stai migrando dai vecchi payload flat delle subscription:

  • analizza prima l’involucro interno data
  • sposta l’instradamento degli eventi su event invece del legacy systemMessage
  • usa category per decidere come interpretare data
  • continua a ignorare i campi data sconosciuti

Nomi di Eventi Rappresentativi

I nomi di eventi comuni includono:

  • documentArchived
  • documentCancelled
  • recipientUpdated
  • recipientReset
  • documentCreated
  • documentFinalPdfCreated
  • documentRejected
  • recipientSentEmail
  • recipientVisiting
  • recipientCompleted
  • recipientRejected
  • recipientEmailOpened
  • taskDocumentCreated
  • taskCompleted
  • taskStoppedByRecipientStopList
  • taskTrialCreditBlocked
  • taskCreditBlocked
  • templateArchived
  • templateUpdated
  • templateElementCreated
  • templateElementUpdated
  • templateElementDeleted
  • templateRoleCreated
  • templateRoleUpdated
  • templateRoleDeleted
  • uploadScanned
  • uploadTypeChecked
  • uploadConverting
  • uploadFlattened
  • uploadTagsParsed
  • uploadPdfMetaExtracted
  • uploadCompleted
  • uploadFailed
  • creditUpdated

Guide dedicate ai flussi di lavoro: