> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SendGrid

> SendGrid के Mail Send API का उपयोग करके Dodo Payments घटनाओं के आधार पर लेनदेन ईमेल भेजें।

## परिचय

SendGrid का उपयोग करके भुगतान पुष्टिकरण, सदस्यता अपडेट और महत्वपूर्ण सूचनाओं के लिए स्वचालित रूप से लेनदेन ईमेल भेजें। भुगतान घटनाओं के आधार पर व्यक्तिगत ईमेल को गतिशील सामग्री और पेशेवर टेम्पलेट के साथ ट्रिगर करें।

<Info>
  इस एकीकरण के लिए Mail Send अनुमति के साथ एक SendGrid API Key की आवश्यकता होती है।
</Info>

## प्रारंभ करना

<Steps>
  <Step title="Open the Webhook Section">
    आपके Dodo Payments डैशबोर्ड में, <b>Webhooks → + Add Endpoint</b> पर नेविगेट करें और इंटेग्रेशन ड्रॉपडाउन का विस्तार करें।

    <Frame>
      <img src="https://mintcdn.com/dodopayments/slbAEdrLLwKHfaRf/images/integrations/sendgrid.png?fit=max&auto=format&n=slbAEdrLLwKHfaRf&q=85&s=bb13e15660cf9765d6501190d738525d" alt="Add Endpoint and integrations dropdown" style={{ maxHeight: '500px', width: 'auto' }} width="1682" height="944" data-path="images/integrations/sendgrid.png" />
    </Frame>
  </Step>

  <Step title="Select SendGrid">
    <b>SendGrid</b> एकीकरण कार्ड चुनें।
  </Step>

  <Step title="Enter API Key">
    कॉन्फ़िगरेशन में अपना SendGrid API Key प्रदान करें।
  </Step>

  <Step title="Configure Transformation">
    SendGrid के Mail Send API के लिए ईमेल को प्रारूपित करने के लिए ट्रांसफ़ॉर्मेशन कोड को संपादित करें।
  </Step>

  <Step title="Test & Create">
    नमूना पेलोड के साथ परीक्षण करें और ईमेल भेजने को सक्रिय करने के लिए <b>Create</b> पर क्लिक करें।
  </Step>

  <Step title="Done!">
    🎉 अब भुगतान घटनाएं स्वचालित रूप से SendGrid के माध्यम से transactional ईमेल ट्रिगर करेंगी।
  </Step>
</Steps>

## परिवर्तन कोड उदाहरण

### भुगतान पुष्टिकरण ईमेल

```javascript payment_confirmation.js icon="js" expandable theme={null}
function handler(webhook) {
  if (webhook.eventType === "payment.succeeded") {
    const p = webhook.payload.data;
    webhook.url = "https://api.sendgrid.com/v3/mail/send";
    webhook.payload = {
      personalizations: [
        {
          to: [{ email: p.customer.email }],
          dynamic_template_data: {
            customer_name: p.customer.name,
            payment_amount: (p.total_amount / 100).toFixed(2),
            payment_id: p.payment_id,
            payment_date: new Date(webhook.payload.timestamp).toLocaleDateString(),
            currency: p.currency || "USD"
          }
        }
      ],
      from: {
        email: "payments@yourdomain.com",
        name: "Your Company"
      },
      template_id: "d-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    };
  }
  return webhook;
}
```

### सदस्यता स्वागत ईमेल

```javascript subscription_welcome.js icon="js" expandable theme={null}
function handler(webhook) {
  if (webhook.eventType === "subscription.active") {
    const s = webhook.payload.data;
    webhook.url = "https://api.sendgrid.com/v3/mail/send";
    webhook.payload = {
      personalizations: [
        {
          to: [{ email: s.customer.email }],
          dynamic_template_data: {
            customer_name: s.customer.name,
            subscription_id: s.subscription_id,
            product_name: s.product_id,
            amount: (s.recurring_pre_tax_amount / 100).toFixed(2),
            frequency: s.payment_frequency_interval,
            next_billing: new Date(s.next_billing_date).toLocaleDateString()
          }
        }
      ],
      from: {
        email: "welcome@yourdomain.com",
        name: "Your Company"
      },
      template_id: "d-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    };
  }
  return webhook;
}
```

### भुगतान विफलता सूचना

```javascript payment_failure.js icon="js" expandable theme={null}
function handler(webhook) {
  if (webhook.eventType === "payment.failed") {
    const p = webhook.payload.data;
    webhook.url = "https://api.sendgrid.com/v3/mail/send";
    webhook.payload = {
      personalizations: [
        {
          to: [{ email: p.customer.email }],
          dynamic_template_data: {
            customer_name: p.customer.name,
            payment_amount: (p.total_amount / 100).toFixed(2),
            error_message: p.error_message || "Payment processing failed",
            payment_id: p.payment_id,
            retry_link: `https://yourdomain.com/retry-payment/${p.payment_id}`
          }
        }
      ],
      from: {
        email: "support@yourdomain.com",
        name: "Your Company Support"
      },
      template_id: "d-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    };
  }
  return webhook;
}
```

## सुझाव

* व्यक्तिगत सामग्री के लिए SendGrid गतिशील टेम्पलेट का उपयोग करें
* टेम्पलेट वेरिएबल में प्रासंगिक भुगतान डेटा शामिल करें
* उचित प्रेषक पते और प्रेषक नाम सेट करें
* लगातार ईमेल स्वरूपण के लिए टेम्पलेट आईडी का उपयोग करें
* अनुपालन के लिए अनसब्सक्राइब लिंक शामिल करें

## समस्या निवारण

<AccordionGroup>
  <Accordion title="Emails not being sent">
    * सत्यापित करें कि API Key में Mail Send अनुमति है
    * जांचें कि टेम्पलेट ID मान्य और सक्रिय हैं
    * सुनिश्चित करें कि प्राप्तकर्ता ईमेल पते मान्य हैं
    * SendGrid भेजने की सीमाओं और कोटा की समीक्षा करें
  </Accordion>

  <Accordion title="Transformation errors">
    * JSON संरचना को SendGrid API प्रारूप से मेल खाने के लिए मान्य करें
    * जांचें कि सभी आवश्यक फ़ील्ड मौजूद हैं
    * सुनिश्चित करें कि टेम्पलेट डेटा वेरिएबल सही ढंग से स्वरूपित हैं
    * सत्यापित करें कि From ईमेल पते SendGrid में सत्यापित हैं
  </Accordion>
</AccordionGroup>
