> ## 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.

# लूप्स

> डोडो पेमेंट्स इवेंट्स के आधार पर लेनदेन ईमेल भेजें और ग्राहक संचार प्रबंधित करें।

## परिचय

जब भुगतान इवेंट होते हैं, तो स्वचालित रूप से लेनदेन ईमेल भेजें और ग्राहक संचार प्रबंधित करें। लूप्स के ईमेल बुनियादी ढांचे के साथ भुगतान पुष्टिकरण, सदस्यता अपडेट और महत्वपूर्ण सूचनाएं भेजें।

<Info>
  इस एकीकरण के लिए प्रमाणीकरण हेतु आपके Loops API Key की आवश्यकता है।
</Info>

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

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

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

  <Step title="Select Loops">
    <b>Loops</b> इंटीग्रेशन कार्ड चुनें।
  </Step>

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

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

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

  <Step title="Done!">
    🎉 भुगतान घटनाएं अब स्वचालित रूप से Loops के माध्यम से 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.loops.so/v1/events/send";
    webhook.payload = {
      eventName: "payment_confirmation",
      email: p.customer.email,
      properties: {
        customer_name: p.customer.name,
        payment_id: p.payment_id,
        amount: (p.total_amount / 100).toFixed(2),
        currency: p.currency || "USD",
        payment_method: p.payment_method || "unknown",
        payment_date: new Date(webhook.payload.timestamp).toLocaleDateString()
      }
    };
  }
  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.loops.so/v1/events/send";
    webhook.payload = {
      eventName: "subscription_welcome",
      email: s.customer.email,
      properties: {
        customer_name: s.customer.name,
        subscription_id: s.subscription_id,
        product_id: s.product_id,
        amount: (s.recurring_pre_tax_amount / 100).toFixed(2),
        frequency: s.payment_frequency_interval,
        next_billing: s.next_billing_date
      }
    };
  }
  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.loops.so/v1/events/send";
    webhook.payload = {
      eventName: "payment_failed",
      email: p.customer.email,
      properties: {
        customer_name: p.customer.name,
        payment_id: p.payment_id,
        amount: (p.total_amount / 100).toFixed(2),
        error_message: p.error_message || "Payment processing failed",
        retry_link: `https://yourdomain.com/retry-payment/${p.payment_id}`
      }
    };
  }
  return webhook;
}
```

## सुझाव

* बेहतर ईमेल टेम्पलेट संगठन के लिए वर्णनात्मक इवेंट नामों का उपयोग करें
* व्यक्तिगतकरण के लिए प्रासंगिक ग्राहक गुण शामिल करें
* प्रत्येक इवेंट के लिए लूप्स डैशबोर्ड में ईमेल टेम्पलेट सेट करें
* इवेंट्स के बीच सुसंगत गुण नामकरण का उपयोग करें
* लाइव जाने से पहले ईमेल वितरण का परीक्षण करें

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

<AccordionGroup>
  <Accordion title="Emails not being sent">
    * API Key सही और सक्रिय है यह सत्यापित करें
    * सुनिश्चित करें कि घटना (event) नाम आपके Loops टेम्पलेट्स से मेल खाते हैं
    * यह सुनिश्चित करें कि प्राप्तकर्ता ईमेल पते वैध हैं
    * Loops की भेजने की सीमाओं और कोटा की समीक्षा करें
  </Accordion>

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