Passer au contenu principal
L’envoi de messages opportuns et personnalisés à des individus ou à de petits groupes est essentiel pour offrir une excellente expérience client et maintenir l’engagement. Les messages transactionnels, tels que les codes à usage unique (OTP), les mises à jour de facturation ou les confirmations d’activité, vous permettent de partager des mises à jour significatives et en temps réel depuis votre serveur. Ce guide explique comment envoyer des messages transactionnels (push, e-mail ou SMS) avec l’API de OneSignal en utilisant des données personnalisées et des identifiants utilisateur.

Cas d’utilisation courants

Utilisez les messages transactionnels pour :
  • Envoyer des codes de connexion et de vérification (OTP)
  • Confirmer des commandes, des reçus ou des changements d’abonnement
  • Livrer des statuts de facturation ou des alertes de renouvellement
  • Rappeler aux utilisateurs des rendez-vous ou des échéances
  • Accuser réception d’actions clés (par ex. inscriptions ou achats)

Exigences

Avant d’envoyer des messages transactionnels, nous vous suggérons de consulter les guides suivants :

Identification des utilisateurs

Pour cibler des utilisateurs individuels, vous devez les identifier dans OneSignal. L’approche recommandée consiste à définir un External ID, qui doit correspondre à l’identifiant utilisateur utilisé dans votre base de données ou CRM. OneSignal prend également en charge jusqu’à 20 alias par utilisateur, vous permettant d’associer plusieurs identifiants (par ex. other_user_id, facebook_id, etc.) à travers vos systèmes. Pour les e-mails et les SMS, vous pouvez également envoyer des messages directement en utilisant l’adresse e-mail ou le numéro de téléphone respectivement.

Ciblage des utilisateurs

Utilisez l’API Create Message pour envoyer des messages transactionnels sur les canaux push, e-mail et SMS en ciblant les utilisateurs via des alias, des adresses e-mail, des numéros de téléphone ou des ID d’abonnement.

Envoyer vers des alias (recommandé)

Utilisez include_aliases pour cibler l’external_id recommandé ou d’autres alias comme suit :
{
  "app_id": "YOUR_APP_ID",
  "include_aliases": {"external_id": ["userA", "userB"]},
  "contents": {"en": "English Message"},
  "target_channel": "push"
}

Envoyer vers des abonnements

Si vous souhaitez envoyer vers des Abonnements spécifiques, vous pouvez utiliser la propriété include_subscription_ids. Cette option n’est pas recommandée car les utilisateurs peuvent avoir plusieurs Abonnements.
{
  "app_id": "YOUR_APP_ID",
  "include_subscription_ids": ["1dd608f2-c6a1-11e3-851d-000c2940e62c"],
  "contents": { "en": "English Message" }
}

Envoyer vers des adresses e-mail

Si vous avez l’adresse e-mail de l’utilisateur, vous pouvez lui envoyer des e-mails en utilisant la propriété include_email_tokens. Tous les e-mails inclus qui n’existent pas dans votre application OneSignal créeront automatiquement un nouvel abonnement e-mail.
{
  "app_id": "YOUR_APP_ID",
  "include_email_tokens": ["user1@email.com", "user2@email.com"],
  "email_subject": "Welcome to Cat Facts!",
  "email_body": "<html><head>Welcome to Cat Facts</head><body><h1>Welcome to Cat Facts</h1><h4>Learn more about everyone's favorite furry companions!</h4><hr/><p>Hi Nick,</p><p>Thanks for subscribing to Cat Facts! We can't wait to surprise you with funny details about your favorite animal.</p><h5>Today's Cat Fact (March 27)</h5><p>In tigers and tabbies, the middle of the tongue is covered in backward-pointing spines, used for breaking off and gripping meat.</p><a href='https://catfac.ts/welcome'>Show me more Cat Facts</a><hr/><p><small>(c) 2018 Cat Facts, inc</small></p><p><small><a href='[unsubscribe_url]'>Unsubscribe</a></small></p></body></html>"
}

Envoyer vers des numéros de téléphone

Si vous avez le numéro de téléphone de l’utilisateur, vous pouvez lui envoyer des SMS et MMS en utilisant la propriété include_phone_numbers. Tous les numéros de téléphone inclus qui n’existent pas dans votre application OneSignal créeront automatiquement un nouvel abonnement SMS.
{
  "app_id": "YOUR_APP_ID",
  "include_phone_numbers": ["+15555555555"],
  "contents": { "en": "English Message" }
}

Ajout de données personnalisées

Pour un contenu personnalisé, transmettez des custom_data spécifiques à l’utilisateur au message en utilisant des Templates et la syntaxe Liquid. Étapes pour ajouter des données personnalisées :
  1. Créez un Template via le tableau de bord ou l’API Create template.
  2. Ajoutez des variables Liquid (par ex., {{ message.custom_data.order_id }}) à votre template.
  3. Référencez le template_id et les custom_data dans votre appel API Create Message.
{
  "app_id": "YOUR_APP_ID",
  "include_aliases": { "external_id": ["userA"] },
  "template_id": "8458af75-4da2-4ecf-afb5-f242a8926cc3",
  "custom_data": { "order_id": 123, "currency": "USD", "amount": 25 }
}

Exemple : Code à usage unique (OTP)

  1. Identifiez l’utilisateur en utilisant un alias, un e-mail ou un numéro de téléphone.
  2. Créez un Template qui inclut un code de vérification :
Votre code de vérification est {{ message.custom_data.verification_code }}
  1. Générez le verification_code sur votre serveur lorsque l’utilisateur demande l’accès.
  2. Saisissez la valeur verification_code dans la requête API.
{
  "app_id": "YOUR_APP_ID",
  "include_aliases": { "external_id": ["userA"] },
  "template_id": "8458af75-4da2-4ecf-afb5-f242a8926cc3",
  "custom_data": { "verification_code": "123456" }
}
Alternative : Si vous ne souhaitez pas utiliser de templates et custom_data, vous pouvez saisir la valeur de la variable directement dans le message avec une concaténation de chaînes. Par exemple :
{
  "app_id": "YOUR_APP_ID",
  "include_aliases": {"external_id": ["userA"]},
  "contents": {"en": "Your verification code is " + verification_code}
}

Dépannage

  • Pour include_aliases, l’alias doit être enregistré sur l’utilisateur au préalable.
  • Pour les e-mails/SMS, assurez-vous du formatage correct.

Ressources supplémentaires