Skip to main content

Introduction

L’intégration SendGrid envoie un e-mail transactionnel via l’API Mail Send de SendGrid lorsqu’un événement Dodo Payments se produit. Chaque e-mail utilise l’un de vos modèles dynamiques SendGrid, rempli avec les données de l’événement, afin de confirmer les paiements, d’accueillir les nouveaux abonnés et d’effectuer un suivi des paiements échoués.
Cette intégration nécessite une clé API SendGrid avec l’autorisation Mail Send, un expéditeur vérifié dans SendGrid et un modèle dynamique pour chaque e-mail envoyé. Vous devez également avoir accès à Developer → Webhooks dans le tableau de bord Dodo Payments.

Prise en main

1

Open the Webhook Section

Dans le tableau de bord Dodo Payments, accédez à Developer → Webhooks et cliquez sur Add endpoint.
Add endpoint dialog with SendGrid selected in the Integration dropdown and the How to connect SendGrid steps
2

Select SendGrid

Dans Integration, sélectionnez SendGrid. Le tableau de bord renseigne l’Endpoint URL et le code de transformation pour SendGrid, tandis que le panneau How to connect SendGrid affiche les étapes de configuration.
3

Enter API Key

Dans SendGrid, accédez à Settings → API Keys et cliquez sur Create API Key. Choisissez Restricted Access avec l’autorisation Mail Send, ou Full Access. SendGrid affiche la clé, qui commence par SG., une seule fois. Collez-la dans API key. Dodo Payments l’envoie en tant que bearer token dans l’en-tête Authorization de chaque requête adressée à SendGrid.
4

Select Events

Dans Subscribed events, sélectionnez uniquement les événements gérés par votre transformation. Un événement laissé inchangé par la transformation est transmis à SendGrid au format Dodo Payments, que SendGrid rejette.
5

Configure Transformation

Sous Transformation code, modifiez le handler pour formater les e-mails destinés à l’API Mail Send de SendGrid. Commencez avec les exemples, puis remplacez chaque template_id par l’ID de votre propre modèle dynamique, qui commence par d-.
6

Test & Create

Sous Test this code, sélectionnez un type d’événement et cliquez sur Simulate pour prévisualiser la requête envoyée à SendGrid. Cliquez ensuite sur Create endpoint.
7

Done

Dodo Payments envoie désormais un e-mail via SendGrid pour chaque événement souscrit. Pour consulter chaque livraison et la réponse de SendGrid, ouvrez l’onglet Logs dans Developer → Webhooks.

Exemples de code de transformation

Chaque handler définit webhook.url sur l’endpoint Mail Send et transmet les données de l’événement à un modèle dynamique via dynamic_template_data. Les montants Dodo Payments sont exprimés dans la plus petite unité monétaire ; les exemples les divisent donc par 100. Pour les devises sans décimales, telles que JPY et KRW, utilisez le montant tel quel.

E-mail de confirmation de paiement

Envoyez un reçu lorsqu’un paiement réussit (payment.succeeded) :
payment_confirmation.js

E-mail de bienvenue pour un abonnement

Souhaitez la bienvenue à un client lorsqu’un abonnement devient actif (subscription.active) :
subscription_welcome.js

Notification d’échec de paiement

Demandez au client de réessayer lorsqu’un paiement échoue (payment.failed) :
payment_failure.js

Conseils

  • Utilisez les modèles dynamiques SendGrid pour personnaliser le contenu.
  • Transmettez les données de paiement dont votre modèle a besoin dans dynamic_template_data.
  • Définissez une adresse from correspondant à un expéditeur vérifié, ainsi qu’un expéditeur name.
  • Réutilisez les ID de modèles afin que les e-mails du même type conservent le même format.
  • Incluez un lien de désabonnement dans tout e-mail contenant du contenu marketing.
  • Pour ignorer un événement dans le code, définissez webhook.cancel = true avant de retourner le webhook. Les journaux enregistrent une livraison ignorée comme réussie.

Résolution des problèmes

  • Vérifiez que la clé API dispose de l’autorisation Mail Send. Pour la remplacer, modifiez l’endpoint et collez une nouvelle clé dans API key.
  • Vérifiez que chaque template_id correspond à un modèle dynamique actif.
  • Vérifiez que les adresses e-mail des destinataires sont valides.
  • Vérifiez les limites d’envoi et les quotas SendGrid correspondant à votre forfait.
  • Ouvrez l’onglet Logs dans Developer → Webhooks et consultez la réponse de SendGrid concernant la livraison échouée.
  • Vérifiez que la payload correspond au format Mail Send de SendGrid.
  • Vérifiez que tous les champs requis sont présents : personalizations avec au moins une adresse to, ainsi que from.
  • Vérifiez que les clés de dynamic_template_data correspondent aux variables de votre modèle, telles que {{customer_name}}.
  • Vérifiez que chaque adresse from est vérifiée dans SendGrid.
Dernière modification le 26 septembre 2026