Pour les cas d'usage où la fraîcheur de la donnée est critique — personnalisation en temps réel, déclenchement d'un parcours marketing suite à une action utilisateur, alimentation d'un score de scoring dynamique — le batch et même l'Ingestion API classique ne suffisent pas. Data Cloud propose un SDK d'ingestion streaming permettant d'envoyer des événements individuels avec une latence de l'ordre de la seconde. Voici comment l'implémenter correctement côté client.
Il est important de ne pas confondre trois modes qui semblent proches :
Le Streaming Ingestion SDK cible typiquement les Engagement DLO (événements web, clics, interactions app mobile) plutôt que les données de référence (profils, produits), qui restent mieux servies par du batch ou du CDC.
Le SDK (disponible en JavaScript pour le web et en versions serveur) s'appuie sur le même connecteur d'ingestion que l'API REST, mais expose une interface orientée événement plutôt que payload complet. L'intégration typique côté web ressemble à ceci :
import { DataCloudStreamingClient } from '@salesforce/data-cloud-sdk';
const client = new DataCloudStreamingClient({
orgId: '00Dxx0000001gPz',
connectorApiName: 'WebEngagementEvents'
});
client.sendEvent({
eventType: 'page_view',
userId: 'anon-98213',
timestamp: Date.now(),
properties: { pageUrl: '/produits/offre-premium' }
});
Chaque appel sendEvent est mis en file localement puis expédié en arrière-plan, avec un mécanisme de retry en cas d'échec réseau. Cette abstraction évite au développeur front-end de gérer manuellement les têtes d'authentification et le batching réseau.
Un point critique du streaming est la résolution d'identité : les événements arrivent souvent sous un identifiant anonyme (cookie, device ID) avant qu'un utilisateur ne soit authentifié. Il faut prévoir :
identify) au moment du login, liant l'ID anonyme à l'identifiant CRM/Contact.Sans cette réconciliation, les événements pré-login restent orphelins et n'enrichissent jamais le profil unifié du client.
Le streaming introduit des contraintes que le batch n'a pas :
Pour les événements à forte valeur métier (achat, conversion), ne comptez jamais uniquement sur le streaming : dupliquez la capture côté système transactionnel et réconciliez a posteriori via un flux batch de contrôle.
Contrairement au batch, il n'existe pas d'exécution "de job" à surveiller ponctuellement : la supervision doit être continue. Les leviers disponibles :
onError, onRetry) pour tracer les échecs d'envoi avant même qu'ils n'atteignent Data Cloud.Le streaming SDK complète efficacement une architecture d'ingestion hybride : données de référence en batch ou CDC, événements comportementaux en streaming. C'est cette combinaison qui permet à Data Cloud d'alimenter des cas d'usage de personnalisation en temps réel tout en gardant une base de données fiable et complète.
Notre équipe DevToSpace accompagne vos projets d'ingestion de données vers Data Cloud et Marketing Cloud Next.
Parler à un expert