API Streaming (événements en temps réel)
Vous voulez que votre entrepôt de données, votre middleware ou votre système de notification sache dès qu’une facture est comptabilisée ? Les mécanismes d’événements standard de Salesforce — Change Data Capture et les événements de plateforme — fonctionnent sur les objets de REDA Financials comme sur n’importe quel objet personnalisé. Le package ne publie aucun bus d’événements propriétaire, et c’est une bonne nouvelle : vous configurez des mécanismes standard que vous gouvernez déjà, sans consommateur propre à un éditeur à développer.
Change Data Capture sur les objets comptables
Activez CDC pour les objets qui vous intéressent
Configuration → Change Data Capture → sélectionnez les objets refin__ (Facture de vente, Facture d’achat, Encaissement, Transaction comptable…). Chacun obtient un canal d’événements de modification standard.
Abonnez-vous depuis votre consommateur
Abonnés CometD/gRPC, ou flux et déclencheurs Apex sur les événements de modification — des modèles standard. Les événements transportent les champs modifiés et le type de modification.
Filtrez les transitions qui comptent
Le moment significatif sur le plan comptable est généralement le changement de statut : refin__Status__c qui passe à « Comptabilisé » (le document est entré dans les livres) ou qui quitte ce statut (décomptabilisé ou annulé). Pour des flux au niveau du grand livre, CDC sur refin__Accounting_Transaction__c diffuse les comptabilisations réelles.
Modèles de consommateurs éprouvés
- Synchronisation de l’entrepôt de données : CDC sur Transaction comptable → réplique du grand livre en ajout seul, toujours à jour.
- Notifications : un flux déclenché par un enregistrement sur Facture de vente (il se déclenche aussi bien sur les modifications faites par API que dans l’interface) qui publie un message dans votre outil de messagerie lorsque des factures importantes sont comptabilisées.
- Systèmes en aval : fichiers de paiement, systèmes immobiliers — déclenchez sur la transition vers « Comptabilisé » plutôt que d’interroger périodiquement.
Ce qui est fourni et ce que vous activez
| Mécanisme | Inclus dans le package ? | Remarques |
|---|---|---|
Événements de plateforme (__e) | Aucun n’est fourni | Le package ne publie aucun événement personnalisé — inutile de chercher des canaux REDA dans le sélecteur d’événements |
| Change Data Capture | Rien n’est préactivé | Vous sélectionnez les objets refin__ dans Configuration ; les canaux suivent la convention de nommage standard — refin__Sales_Invoice__ChangeEvent et consorts |
| Webhooks / HTTP sortant | Aucun n’est fourni | Les seuls appels sortants du package sont ses deux propres intégrations de services (IA, taux de change) ; la livraison d’événements à vos systèmes est à configurer par vos soins via les mécanismes standard |
| Flux déclenchés par un enregistrement / déclencheurs | À créer par vos soins | Se déclenchent aussi bien sur les modifications faites par API que dans l’interface — souvent le consommateur « streaming » le plus simple pour une réaction unique côté organisation |
refin__ — allocations, volume d’événements lors des pics de comptabilisation, contenu au niveau des champs — dépend de la configuration et de l’édition de votre organisation. Activez, abonnez-vous et comptabilisez un document de test de bout en bout avant de concevoir le consommateur de production sur des hypothèses.
Choisir votre signal
| Besoin | Meilleur mécanisme | Pourquoi |
|---|---|---|
| Un système externe reflète en continu les modifications comptables | Abonnement CDC (CometD/gRPC) | Ordonné, rejouable, livré en dehors de la transaction — conçu pour les consommateurs externes |
| Une réaction unique, dans l’organisation, à une comptabilisation | Flux déclenché par un enregistrement sur le changement de statut | Aucune infrastructure d’abonné ; la condition de déclenchement est le filtre |
| Chargements nocturnes de l’entrepôt de données, sans besoin de temps réel | Interrogation planifiée via REST/requête Bulk | La plus simple à exploiter ; le grand livre est la vérité interrogeable — le streaming est une optimisation, pas une exigence |
| Réplique au niveau du grand livre (chaque débit et chaque crédit) | CDC sur refin__Accounting_Transaction__c | Reflète les effets plutôt que les documents ; fonctionne essentiellement en ajout, par nature |
Un consommateur concret chez Meridian
L’entrepôt de données financières de Meridian Properties Group s’abonne à refin__Accounting_Transaction__ChangeEvent après avoir activé CDC sur l’objet du grand livre. Le consommateur ajoute les créations, marque les suppressions (une décomptabilisation supprime des lignes du grand livre — l’événement de suppression est le signal d’extourne) et utilise l’Id de l’enregistrement comme clé pour tout. La tâche de rapprochement nocturne compare ensuite les soldes de l’entrepôt à une requête Bulk sur le même objet — le streaming maintient la journée à jour, le lot prouve que tout est resté exact. Lorsque les auditeurs ont demandé comment la réplique gère une facture annulée, la réponse a tenu en une phrase : le flux d’événements du grand livre transporte les lignes comptables de l’annulation comme toutes les autres.
Erreurs courantes à éviter
| Erreur | Pourquoi c’est un problème | À faire plutôt |
|---|---|---|
| Traiter « Comptabilisé » comme un événement qui ne survient qu’une fois | Les documents sont décomptabilisés puis recomptabilisés — les consommateurs « vu une seule fois » comptent en double ou manquent les extournes | Utilisez comme clé l’Id et la transition ; traitez les changements de statut, pas les statuts |
| Activer CDC sur tous les objets refin « par précaution » | Les allocations sont consommées par des canaux que personne n’utilise ; l’objet du grand livre génère à lui seul un volume élevé | Activez exactement ce qui a un consommateur ; ajoutez des canaux lorsque des consommateurs existent |
| Construire un canal en temps réel pour un rapport quotidien | Une infrastructure de streaming pour répondre à une question que l’interrogation périodique règle en une seule requête | Adaptez le mécanisme à l’exigence de fraîcheur des données — voir le tableau de choix ci-dessus |
| S’attendre à des contenus d’événements propres à REDA | Il n’y en a aucun — les événements sont des événements de modification standard, avec les champs modifiés et le type de modification | Concevez les consommateurs sur l’enveloppe CDC standard ; c’est un comportement de la plateforme entièrement documenté |
Pour aller plus loin
- API REST pour les données comptables — l’équivalent en mode requête/réponse.
- Intégration avec les flux Salesforce — des consommateurs déclaratifs.
- Présentation de l’API — le panorama complet.
Questions fréquentes
La fonctionnalité CDC standard fournit déjà des événements de modification fiables, ordonnés et rejouables, sous la gouvernance et dans les limites de votre organisation — un bus propriétaire ferait doublon, avec moins d’outils. Une surface réduite et stable, et du standard pour tout le reste.
Oui — les allocations CDC standard s’appliquent selon votre édition de Salesforce. Activez les objets que vous consommerez réellement ; l’objet du grand livre génère par nature un volume élevé, dimensionnez donc en conséquence.
Même recette : CDC (ou un flux déclenché par un enregistrement) sur refin__Bank_Reconciliation__c, en surveillant le passage du Statut à « Terminé » ou « Approuvé ». N’importe quel objet, n’importe quelle transition — c’est tout l’intérêt du mécanisme standard.
Oui — CDC capture les modifications de données quel qu’en soit l’auteur : les documents générés par des modèles récurrents ou comptabilisés par des tâches planifiées sont diffusés vers votre consommateur comme les actions des utilisateurs. Attendez-vous à des pics autour des heures de planification nocturnes.
Le package ne contient aucun webhook. Les architectures standard sont : un abonné externe sur le canal CDC (streaming de type pull), ou votre propre flux ou code Apex qui réagit à la modification et effectue l’appel sortant sous la gouvernance des sites distants et des identifiants de votre organisation.
Cet article vous a-t-il été utile ?