Aller au contenu principal

Utilisation des abonnements

Les abonnements sont utiles pour une expérience utilisateur en temps réel, tels que :

  • la progression des téléchargements
  • la progression des tâches asynchrones
  • les mises à jour du cycle de vie des documents et des destinataires
  • les modifications de crédit

Pour le schéma de la charge utile lui-même, voir :

Analyser la charge utile interne de l’événement

Le champ d’abonnement retourne :

  • un enveloppe de livraison (userId ou groupId)
  • une chaîne JSON dans data

Toujours analyser la valeur interne data avant de traiter l’événement.

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

Routage par category et event

Considérez :

  • category comme la famille de l’événement
  • event comme l’action spécifique ou l’état du flux de travail

Exemples :

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

Règles de livraison

  • subscribeUserFeed est utilisé pour les événements ciblant l’utilisateur tels que la progression de téléchargement et certaines diffusions du cycle de vie.
  • subscribeGroupFeed est utilisé pour les événements ciblant un groupe tels que les mises à jour de documents, de destinataires, de modèles, de tâches, de crédits et du cycle de vie.
  • Certains événements sont diffusés aux deux flux avec le même eventId.

Recommandations de compatibilité

Si vous migrez depuis les anciennes charges utiles d’abonnement plates :

  • analysez d’abord l’enveloppe interne data
  • déplacez le routage des événements vers event au lieu de l’ancien systemMessage
  • utilisez category pour décider comment interpréter data
  • continuez à ignorer les champs inconnus dans data

Noms d’événements représentatifs

Les noms d’événements courants incluent :

  • 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

Guides dédiés aux workflows :