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.

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éfinitwebhook.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
fromcorrespondant à un expéditeur vérifié, ainsi qu’un expéditeurname. - 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 = trueavant de retourner le webhook. Les journaux enregistrent une livraison ignorée comme réussie.
Résolution des problèmes
Emails Not Being Sent
Emails Not Being Sent
- 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_idcorrespond à 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.
Transformation Errors
Transformation Errors
- Vérifiez que la payload correspond au format Mail Send de SendGrid.
- Vérifiez que tous les champs requis sont présents :
personalizationsavec au moins une adresseto, ainsi quefrom. - Vérifiez que les clés de
dynamic_template_datacorrespondent aux variables de votre modèle, telles que{{customer_name}}. - Vérifiez que chaque adresse
fromest vérifiée dans SendGrid.