- Le solde de récompenses actuel d’un utilisateur
- Le dernier statut de commande
- Des recommandations de produits personnalisées
Les flux de données sont actuellement disponibles uniquement pour les messages e-mail envoyés via Journeys.
Besoin d’un autre canal ? Remplissez cette courte enquête.
Comment fonctionnent les flux de données
- Créez un flux de données – Configurez la façon dont OneSignal se connecte à votre API.
- Attachez le flux de données à un modèle de message.
- Insérez les champs de réponse dans votre message en utilisant la syntaxe Liquid.
- Au moment de l’envoi, OneSignal effectue un appel API pour chaque destinataire, analyse la réponse et injecte les données dans votre message.
Exemple : Afficher les points de récompense
Supposons que vous souhaitez montrer à chaque client son solde de récompenses :Création et utilisation d’un flux de données
1. Configurez votre flux de données
Accédez à Data > Data Feeds dans la barre latérale pour voir la liste des flux de données existants et en créer un nouveau. Chaque flux de données doit avoir :- Nom : Un nom descriptif comme « API de récompenses client » pour vous aider à distinguer les flux. Les noms uniques sont recommandés mais pas obligatoires.
- Alias : Un identifiant court comme
rewardsutilisé dans la syntaxe Liquid (par ex.,{{ data_feed.rewards.points }}). Doit être unique, en minuscules, alphanumérique, sans espaces ni caractères spéciaux. - Méthode : La méthode HTTP que OneSignal utilise pour contacter votre API. Généralement
GET, maisPOSTest également pris en charge. - URL : Votre point de terminaison API. Prend en charge la syntaxe Liquid afin que OneSignal puisse récupérer des données spécifiques à l’utilisateur.
external_id de l’utilisateur (stocké dans OneSignal) comme paramètre d’URL :
- En-têtes : Paires clé-valeur requises par votre API (par ex., jetons d’authentification). Prend en charge la syntaxe Liquid.
- Corps : Corps de requête JSON optionnel. Prend en charge la syntaxe Liquid, comme les webhooks Journey.

2. Attachez le flux de données à votre modèle de message
Attachez votre flux de données à votre modèle de message afin que OneSignal sache l’utiliser.- Accédez à Messages > Templates
- Dans la section Message, sélectionnez le bouton Personalization

- Activez Data Feeds et sélectionnez votre flux

- Enregistrez votre modèle
3. Utilisez les données dans votre message
Utilisez la syntaxe Liquid pour insérer les données de réponse n’importe où dans votre message. En poursuivant l’exemple des récompenses, la réponse API pour Sarah (dont l’external_id est a1-b2c3) pourrait ressembler à ceci :
- Utiliser un flux de données
- Utiliser le flux de données
rewards- Rappel : le flux
rewardssait appeler l’API avec l’external_iddu destinataire
- Rappel : le flux
- À partir de la réponse, insérer la valeur de l’élément
points(193) et de l’élémentstatus_level(Gold)
Exigences et limites
Votre API doit :- Accepter l’authentification en une seule étape avec des jetons d’authentification dans les en-têtes
- Répondre rapidement. Moins de 250 ms recommandé (cela affecte directement la vitesse d’envoi)
- Renvoyer du JSON. Les autres formats ne sont pas pris en charge pour le moment.
- Si vous avez besoin d’un format différent, partagez votre cas d’utilisation.
- Gérer votre volume d’envoi. Une limite de taux faible sur votre API ralentit la livraison des messages.
- Renvoyer des charges utiles de taille raisonnable. Maintenez les réponses sous 50 Ko pour de meilleures performances.
- Un flux de données par modèle. Récupérez tout ce dont vous avez besoin en une seule réponse API.
- Un appel API par flux de données par message.
- Journeys uniquement. Pas encore disponible pour d’autres méthodes d’envoi.
- Pas d’enchaînement d’appels. La charge utile d’un flux de données ne peut pas être utilisée pour appeler un autre.
Besoin de plusieurs flux de données par modèle ou d’une prise en charge d’autres canaux ? Partagez votre cas d’utilisation pour aider à prioriser ces fonctionnalités.
Configuration de votre API
Avant de créer un flux de données, assurez-vous que votre API peut gérer ces exigences :Authentification
Votre API doit accepter l’authentification via les en-têtes :Corps de requête JSON
Si vous devez inclure un corps dans la requête, votre API doit accepter JSON. Cela peut signifier que vos en-têtes doivent inclureContent-Type: application/json.
Réponse JSON
Votre API doit renvoyer un objet JSON. Typiquement, cela signifie que vos en-têtes inclurontAccept: application/json.
Paramètres de personnalisation
Vous passerez généralement les identifiants utilisateur dans l’URL comme ceci :Limites de taux
Tenez compte des limites de taux de votre API. L’envoi à 10 000 utilisateurs signifie 10 000 appels API en succession rapide. Assurez-vous que votre API peut gérer ce volume.Gestion des erreurs
Si votre API renvoie une erreur ou n’a pas de données pour un utilisateur, le message ne sera pas envoyé à ce destinataire. Assurez-vous que votre API renvoie des données pour tous les utilisateurs attendus.Liste de contrôle de démarrage
Avant de mettre en œuvre les flux de données, répondez à ces questions :- Quelles données veux-je afficher dans mon message ? Travailler à rebours à partir d’un simple plan avec les éléments à remplir depuis votre API identifiés vous aidera à organiser votre réflexion.
- Ces données sont-elles disponibles via un seul point de terminaison API ?
- Comment vais-je authentifier les requêtes API ?
- Quel identifiant ou autre élément de données vais-je utiliser pour récupérer les données personnalisées ?
- Cet identifiant est-il déjà stocké dans OneSignal ? Si non, comment sera-t-il rempli ?
- Mon API peut-elle gérer le volume de requêtes que je vais générer ?
- Que se passe-t-il si mon API n’a pas de données pour un utilisateur ?
Exemples et cas d’utilisation avancés
Les flux de données peuvent être utilisés avec la syntaxe Liquid ou en combinaison avec d’autres fonctionnalités de manière créative pour produire une personnalisation plus complexe.- Iterating with loops: abandoned cart
- Custom events properties
- Conditional display: order status
- Automation without personalization
- Personalized coupon codes
Disons que vous avez un flux de données cart qui renvoie un tableau d’articles dans le panier de l’utilisateur, plus le montant total du panier en dollars :Si vous voulez afficher chaque article dans le panier, plus le total du panier, vous pouvez utiliser une boucle for en Liquid :Cela donnera :
Si vous utilisez l’éditeur de blocs d’e-mail, lors de l’insertion de ce type de syntaxe Liquid complexe, en particulier si vous devez inclure des images ou des liens, pour de meilleurs résultats, utilisez l’élément de bloc HTML personnalisé.
FAQ
Mes valeurs de flux de données n’apparaissent pas dans le message. Que dois-je vérifier ?
Vérifiez dans cet ordre :- Le flux de données est attaché au modèle (sous Personalization > Data Feeds).
- Votre syntaxe Liquid correspond exactement à la structure de la réponse JSON —
{{ data_feed.<alias>.<field> }}. - Le point de terminaison API renvoie du JSON valide lorsqu’il est appelé manuellement avec les mêmes identifiants.
- Le destinataire dispose de l’identifiant requis (par ex.,
external_id) stocké dans OneSignal.
Pourquoi les messages s’envoient-ils lentement ?
Les appels API du flux de données s’exécutent au moment de l’envoi pour chaque destinataire. Si votre API répond lentement ou ne peut pas gérer les requêtes simultanées, la livraison des messages ralentit proportionnellement. Visez un temps de réponse inférieur à 250 ms et assurez-vous que votre infrastructure peut gérer votre volume d’envoi.Pourquoi certains destinataires ne reçoivent-ils pas de messages ?
Si l’appel API du flux de données échoue pour un destinataire — en raison d’une erreur 404, d’un délai d’expiration ou de données manquantes — OneSignal ignore ce destinataire entièrement. Consultez le journal des erreurs dans votre configuration de flux de données et vos propres journaux API pour les échecs. Vérifiez que ces utilisateurs ont les identifiants requis dans OneSignal.Puis-je utiliser plus d’un flux de données dans un modèle ?
Pas pour le moment. Chaque modèle prend en charge un seul flux de données. Récupérez toutes les données dont vous avez besoin en une seule réponse API. Si vous avez besoin de plusieurs flux, partagez votre cas d’utilisation.Les flux de données sont-ils disponibles pour les notifications push ou les SMS ?
Non. Les flux de données sont actuellement disponibles uniquement pour les messages e-mail envoyés via Journeys. La prise en charge de canaux supplémentaires est prévue — partagez votre cas d’utilisation pour aider à prioriser.Que se passe-t-il si mon API est indisponible au moment de l’envoi du message ?
OneSignal ignore tout destinataire dont l’appel de flux de données échoue. Le message n’est pas envoyé à ce destinataire, et aucune valeur de substitution n’est insérée. Surveillez la disponibilité de votre API et les taux d’erreur lors des envois planifiés.Pages associées
Syntaxe Liquid
Référence complète des modèles Liquid dans les messages OneSignal.
Journeys
Créez des flux de messagerie automatisés qui déclenchent des e-mails avec flux de données.
Événements personnalisés
Déclenchez des Journeys et transmettez des propriétés d’événements pour les URL de flux de données.
Personnalisation des messages
Vue d’ensemble de toutes les méthodes de personnalisation — tags, Liquid, contenu dynamique et flux de données.
