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

# Customer.io

> Dodo Payments घटनाओं को Customer.io पर भेजें ताकि ईमेल स्वचालन और ग्राहक यात्रा को ट्रिगर किया जा सके।

## परिचय

भुगतान घटनाओं के आधार पर व्यक्तिगत ईमेल अभियान और ग्राहक यात्राएँ ट्रिगर करें। नए ग्राहकों के लिए स्वागत ईमेल, सदस्यता अपडेट, और भुगतान विफलता सूचनाएँ स्वचालित रूप से Customer.io के माध्यम से भेजें।

<Info>
  इस एकीकरण के लिए आपके Customer.io साइट आईडी और API कुंजी की आवश्यकता है।
</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/customer-io.png?fit=max&auto=format&n=slbAEdrLLwKHfaRf&q=85&s=fb4d96b67438c2eb178b2482475903db" alt="Add Endpoint and integrations dropdown" style={{ maxHeight: '500px', width: 'auto' }} width="1644" height="952" data-path="images/integrations/customer-io.png" />
    </Frame>
  </Step>

  <Step title="Select Customer.io">
    <b>Customer.io</b> integration कार्ड चुनें।
  </Step>

  <Step title="Enter Credentials">
    कॉन्फ़िगरेशन में अपना Customer.io साइट आईडी और API कुंजी प्रदान करें।
  </Step>

  <Step title="Configure Transformation">
    Customer.io के Track API के लिए इवेंट्स को प्रारूपित करने हेतु transformation कोड संपादित करें।
  </Step>

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

  <Step title="Done!">
    🎉 अब payment events Customer.io email automations को ट्रिगर करेंगे।
  </Step>
</Steps>

## रूपांतरण कोड उदाहरण

### भुगतान घटनाओं को ट्रैक करें

```javascript track_payments.js icon="js" expandable theme={null}
function handler(webhook) {
  if (webhook.eventType === "payment.succeeded") {
    const p = webhook.payload.data;
    webhook.url = "https://track.customer.io/api/v2/entity";
    webhook.payload = {
      type: "person",
      identifiers: {
        id: p.customer.customer_id
      },
      action: "payment_completed",
      name: "Payment Completed",
      attributes: {
        email: p.customer.email,
        name: p.customer.name,
        payment_amount: (p.total_amount / 100).toFixed(2),
        payment_method: p.payment_method || "unknown",
        payment_id: p.payment_id,
        currency: p.currency || "USD"
      }
    };
  }
  return webhook;
}
```

### सदस्यता जीवनचक्र को ट्रैक करें

```javascript track_subscriptions.js icon="js" expandable theme={null}
function handler(webhook) {
  const s = webhook.payload.data;
  switch (webhook.eventType) {
    case "subscription.active":
      webhook.url = "https://track.customer.io/api/v2/entity";
      webhook.payload = {
        type: "person",
        identifiers: {
          id: s.customer.customer_id
        },
        action: "subscription_started",
        name: "Subscription Started",
        attributes: {
          email: s.customer.email,
          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
        }
      };
      break;
    case "subscription.cancelled":
      webhook.url = "https://track.customer.io/api/v2/entity";
      webhook.payload = {
        type: "person",
        identifiers: {
          id: s.customer.customer_id
        },
        action: "subscription_cancelled",
        name: "Subscription Cancelled",
        attributes: {
          email: s.customer.email,
          subscription_id: s.subscription_id,
          cancelled_at: s.cancelled_at,
          cancel_at_next_billing: s.cancel_at_next_billing_date
        }
      };
      break;
  }
  return webhook;
}
```

### ग्राहक विशेषताओं को ट्रैक करें

```javascript track_attributes.js icon="js" expandable theme={null}
function handler(webhook) {
  if (webhook.eventType === "payment.succeeded") {
    const p = webhook.payload.data;
    webhook.url = "https://track.customer.io/api/v2/entity";
    webhook.payload = {
      type: "person",
      identifiers: {
        id: p.customer.customer_id
      },
      action: "identify",
      name: "Customer Identified",
      attributes: {
        email: p.customer.email,
        name: p.customer.name,
        total_spent: (p.total_amount / 100).toFixed(2),
        payment_method: p.payment_method || "unknown",
        last_payment_date: webhook.payload.timestamp,
        customer_since: webhook.payload.timestamp
      }
    };
  }
  return webhook;
}
```

## सुझाव

* उन घटनाओं के नामों का उपयोग करें जो आपके Customer.io अभियानों से मेल खाते हैं
* व्यक्तिगतकरण के लिए प्रासंगिक विशेषताओं को शामिल करें
* सटीक ट्रैकिंग के लिए उचित ग्राहक पहचानकर्ता सेट करें
* अभियान ट्रिगर्स के लिए अर्थपूर्ण घटना नामों का उपयोग करें

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

<AccordionGroup>
  <Accordion title="Events not triggering campaigns">
    * सुनिश्चित करें कि Site ID और API Key सही हैं
    * जांचें कि event नाम आपके Customer.io campaigns से मेल खाते हैं
    * सुनिश्चित करें कि customer identifiers सही ढंग से सेट हैं
    * Customer.io API rate limits की समीक्षा करें
  </Accordion>

  <Accordion title="Transformation errors">
    * सत्यापित करें कि JSON संरचना Customer.io API प्रारूप से मेल खाती है
    * जांचें कि सभी आवश्यक फ़ील्ड मौजूद हैं
    * सुनिश्चित करें कि event नाम और attributes ठीक से फ़ॉर्मेट किए गए हैं
  </Accordion>
</AccordionGroup>
