परिचय
SendGrid integration, Dodo Payments इवेंट होने पर SendGrid के Mail Send API के माध्यम से transactional email भेजता है। प्रत्येक email आपके SendGrid dynamic templates में से किसी एक का उपयोग करता है, जिसमें इवेंट का data भरा जाता है। इससे आप payments की पुष्टि कर सकते हैं, नए subscribers का स्वागत कर सकते हैं और विफल payments पर follow up कर सकते हैं।इस integration के लिए Mail Send permission वाली SendGrid API key, SendGrid में verified sender और आपके द्वारा भेजे जाने वाले प्रत्येक email के लिए एक dynamic template आवश्यक है। आपको Dodo Payments dashboard में Developer → Webhooks का access भी चाहिए।
प्रारंभ करना
1
Open the Webhook Section
Dodo Payments dashboard में, Developer → Webhooks पर जाएँ और Add endpoint पर क्लिक करें।

2
Select SendGrid
Integration में SendGrid चुनें। Dashboard, SendGrid के लिए Endpoint URL और transformation code भर देता है, और How to connect SendGrid panel में setup के चरण दिखाई देते हैं।
3
Enter API Key
SendGrid में Settings → API Keys पर जाएँ और Create API Key पर क्लिक करें। Restricted Access चुनें और Mail Send permission चुनें, या Full Access चुनें। SendGrid key केवल एक बार दिखाता है, जो
SG. से शुरू होती है। इसे API key में paste करें। Dodo Payments इसे SendGrid को भेजे जाने वाले प्रत्येक request के Authorization header में bearer token के रूप में भेजता है।4
Select Events
Subscribed events में केवल वे events चुनें जिन्हें आपका transformation handle करता है। जिस event को transformation अपरिवर्तित छोड़ देता है, वह Dodo Payments format में SendGrid तक पहुँचता है और SendGrid उसे reject कर देता है।
5
Configure Transformation
Transformation code के अंतर्गत handler को edit करके SendGrid के Mail Send API के लिए emails को format करें। examples से शुरुआत करें और प्रत्येक
template_id को अपने dynamic template के ID से बदलें, जो d- से शुरू होती है।6
Test & Create
Test this code के अंतर्गत कोई event type चुनें और SendGrid को भेजे जाने वाले request का preview देखने के लिए Simulate पर क्लिक करें। इसके बाद Create endpoint पर क्लिक करें।
7
Done
अब Dodo Payments प्रत्येक subscribed event के लिए SendGrid के माध्यम से email भेजता है। प्रत्येक delivery और SendGrid की response देखने के लिए Developer → Webhooks में Logs tab खोलें।
Transformation Code Examples
प्रत्येक handlerwebhook.url को Mail Send endpoint पर सेट करता है और dynamic_template_data के माध्यम से event data को dynamic template में भेजता है। Dodo Payments की amounts currency की सबसे छोटी unit में होती हैं, इसलिए examples उन्हें 100 से divide करते हैं। JPY और KRW जैसी zero-decimal currencies के लिए amount को जैसा है वैसा ही उपयोग करें।
Payment Confirmation Email
Payment सफल होने पर receipt भेजें (payment.succeeded):
payment_confirmation.js
Subscription Welcome Email
Subscription active होने पर customer का स्वागत करें (subscription.active):
subscription_welcome.js
Payment Failure Notification
Payment विफल होने पर customer से retry करने के लिए कहें (payment.failed):
payment_failure.js
Tips
- Content को personalize करने के लिए SendGrid dynamic templates का उपयोग करें।
- अपने template के लिए आवश्यक payment data
dynamic_template_dataमें भेजें। - ऐसा
fromaddress सेट करें जो verified sender से match करता हो, और sendernameसेट करें। - Template IDs का पुनः उपयोग करें, ताकि एक ही प्रकार के emails का format समान रहे।
- Marketing content वाले किसी भी email में unsubscribe link शामिल करें।
- Code में किसी event को skip करने के लिए webhook return करने से पहले
webhook.cancel = trueसेट करें। Logs skipped delivery को successful के रूप में record करते हैं।
Troubleshooting
Emails Not Being Sent
Emails Not Being Sent
- जाँचें कि API key में Mail Send permission है। इसे बदलने के लिए endpoint को edit करें और API key में नई key paste करें।
- जाँचें कि प्रत्येक
template_idकिसी active dynamic template से संबंधित है। - जाँचें कि recipient email addresses मान्य हैं।
- अपने plan के लिए SendGrid की sending limits और quotas जाँचें।
- Developer → Webhooks में Logs tab खोलें और विफल delivery के लिए SendGrid की response पढ़ें।
Transformation Errors
Transformation Errors
- जाँचें कि payload SendGrid के Mail Send format से match करता है।
- जाँचें कि सभी required fields मौजूद हैं: कम से कम एक
toaddress वालाpersonalizationsऔरfrom। - जाँचें कि
dynamic_template_dataमें मौजूद keys आपके template के variables से match करती हैं, जैसे{{customer_name}}। - जाँचें कि प्रत्येक
fromaddress SendGrid में verified है।