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

# AutoSend

> Pelajari cara menggunakan API email AutoSend untuk mengirim email transaksi otomatis untuk transaksi Dodo Payments, pengembalian dana, dan peristiwa pembayaran.

## Pendahuluan

Integrasi AutoSend dan Dodo Payments memungkinkan Anda untuk secara otomatis mengirim notifikasi email waktu nyata untuk semua peristiwa pembayaran, mulai dari transaksi yang berhasil hingga upaya yang gagal dan konfirmasi pengembalian dana.

Kirim email transaksi untuk peristiwa pembayaran menggunakan API email kuat dari AutoSend.

<Info>
  Integrasi ini membutuhkan Kunci API AutoSend Anda untuk otentikasi. Anda dapat menemukan kunci API Anda di dashboard AutoSend di bawah Settings > API Keys.
</Info>

## Memulai

Ikuti langkah-langkah ini untuk mengintegrasikan AutoSend dengan Dodo Payments:

<Steps>
  <Step title="Open Webhook Section">
    Navigasi ke bagian Webhooks di dasbor Dodo Payments Anda.

    <Frame>
      <img src="https://mintcdn.com/dodopayments/VOF9xBBvs1EjN4xq/images/integrations/autosend.png?fit=max&auto=format&n=VOF9xBBvs1EjN4xq&q=85&s=8645c6b295d3fecdf62f046e4480b1e4" alt="Tambahkan Endpoint dan drop-down integrasi" style={{ maxHeight: '500px', width: 'auto' }} width="1750" height="1234" data-path="images/integrations/autosend.png" />
    </Frame>
  </Step>

  <Step title="Select AutoSend Integration">
    Pilih AutoSend dari daftar integrasi yang tersedia.
  </Step>

  <Step title="Enter API Key">
    Masukkan kunci API AutoSend Anda untuk otentikasi. Anda dapat menemukan kunci API di dashboard AutoSend di bawah Settings > API Keys.

    <Card title="Learn how to create and manage API keys" icon="key" href="https://docs.autosend.com/api-keys">
      Kunjungi dokumentasi AutoSend untuk petunjuk terperinci tentang cara membuat dan mengelola kunci API.
    </Card>
  </Step>

  <Step title="Configure Transformation">
    Atur handler transformasi JavaScript untuk menyesuaikan konten email berdasarkan event pembayaran.
  </Step>

  <Step title="Test & Create">
    Uji konfigurasi webhook Anda untuk memastikan email dikirim dengan benar, lalu buat integrasi tersebut.
  </Step>

  <Step title="Activation Complete">
    🎉 Integrasi AutoSend Anda sekarang aktif dan akan secara otomatis mengirim email untuk event pembayaran yang telah dikonfigurasi.
  </Step>
</Steps>

## Contoh Kode

### Email Konfirmasi Pembayaran

Kirim email konfirmasi ketika pembayaran berhasil diproses:

```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.autosend.com/v1/mails/send";
    webhook.payload = {
      to: {
        email: p.customer.email,
        name: p.customer.name,
      },
      from: {
        email: "payments@mail.yourdomain.com",
        name: "Your Company",
      },
      subject: "Payment Successful - Thank you for your purchase!",
      templateId: "A-61522f2xxxxxxxxx",
      dynamicData: {
        customerName: p.customer.name,
        amount: p.amount,
        currency: p.currency,
        paymentId: p.payment_id,
        paymentDate: new Date(p.created_at).toLocaleDateString(),
      },
      replyTo: {
        email: "support@yourdomain.com",
        name: "Support Team",
      },
    };
  }
  return webhook;
}
```

### Email Selamat Datang Langganan

Kirim email selamat datang ketika langganan baru dibuat:

```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.autosend.com/v1/mails/send";
    webhook.payload = {
      to: {
        email: s.customer.email,
        name: s.customer.name,
      },
      from: {
        email: "subscriptions@mail.yourdomain.com",
        name: "Your Company",
      },
      subject: "Welcome to your subscription!",
      templateId: "A-61522f2xxxxxxxxx",
      dynamicData: {
        customerName: s.customer.name,
        planName: s.plan.name,
        billingInterval: s.billing_interval,
        nextBillingDate: new Date(s.next_billing_at).toLocaleDateString(),
        subscriptionId: s.subscription_id,
      },
      replyTo: {
        email: "support@yourdomain.com",
        name: "Support Team",
      },
    };
  }
  return webhook;
}
```

### Notifikasi Kegagalan Pembayaran

Kirim email notifikasi ketika pembayaran gagal:

```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.autosend.com/v1/mails/send";
    webhook.payload = {
      to: {
        email: p.customer.email,
        name: p.customer.name,
      },
      from: {
        email: "billing@mail.yourdomain.com",
        name: "Your Company Billing",
      },
      subject: "Payment Failed - Action Required",
      templateId: "A-61522f2xxxxxxxxx",
      dynamicData: {
        customerName: p.customer.name,
        amount: p.amount,
        currency: p.currency,
        failureReason: p.failure_reason,
        paymentId: p.payment_id,
        retryUrl: `https://yourdomain.com/billing/retry/${p.payment_id}`,
      },
      replyTo: {
        email: "billing@yourdomain.com",
        name: "Billing Support",
      },
    };
  }
  return webhook;
}
```

## Praktik Terbaik

* **Verifikasi domain pengirim Anda**: Pastikan domain email pengirim Anda terverifikasi di AutoSend untuk meningkatkan pengiriman dan menghindari masalah otentikasi. Domain yang terverifikasi membantu mencegah email masuk ke folder spam.

* **Gunakan data dinamis untuk personalisasi**: Gunakan field `dynamicData` untuk mempersonalisasi email dengan informasi spesifik pelanggan seperti nama, jumlah pembayaran, dan detail langganan. Email yang dipersonalisasi memiliki tingkat keterlibatan yang lebih tinggi.

* **Tulis subjek yang jelas**: Tulis subjek deskriptif yang jelas menunjukkan tujuan email. Hindari kata-kata yang memicu spam dan jaga subjek tetap singkat (di bawah 50 karakter).

* **Uji sebelum produksi**: Selalu uji email Anda sebelum mengirimnya dalam produksi. Ini memastikan konten email Anda dirender dengan benar dan semua data dinamis dipetakan dengan baik.

## Referensi API

Untuk detail lengkap tentang API AutoSend, termasuk semua parameter yang tersedia dan kode kesalahan, kunjungi [Dokumentasi API AutoSend](https://docs.autosend.com/api-reference/mails/send).

## Pemecahan Masalah

<AccordionGroup>
  <Accordion title="Emails not being sent">
    * Verifikasi bahwa Kunci API benar dan aktif
    * Pastikan domain pengirim terverifikasi di AutoSend
    * Pastikan alamat email penerima valid
    * Tinjau batas pengiriman dan kuota AutoSend
    * Verifikasi bahwa URL endpoint API benar: `https://api.autosend.com/v1/mails/send`
    * Periksa bahwa parameter yang diperlukan hadir dalam payload
  </Accordion>

  <Accordion title="Transformation errors">
    * Validasi struktur JSON sesuai format API AutoSend
    * Periksa bahwa semua field yang diperlukan hadir (`to`, `from`, `templateId` atau `html`/`text`)
    * Pastikan alamat email diformat dengan benar
    * Verifikasi `templateId` valid jika menggunakan template
    * Periksa bahwa kunci `dynamicData` sesuai dengan variabel template Anda
  </Accordion>

  <Accordion title="Template issues">
    * Verifikasi bahwa ID template Anda benar dan aktif di AutoSend
    * Pastikan kunci `dynamicData` sesuai dengan variabel yang digunakan dalam template Anda
    * Periksa bahwa semua variabel template yang diperlukan tersedia
    * Uji template Anda secara mandiri di dashboard AutoSend
  </Accordion>
</AccordionGroup>
