Skip to main content

Pendahuluan

Integrasi Segment mengirim event Dodo Payments ke HTTP Tracking API milik Segment sebagai panggilan Track dan Identify. Segment kemudian meneruskan data pembayaran, subscription, dan customer ke alat analitik, marketing, dan warehouse yang terhubung ke workspace Anda, dari katalog yang berisi lebih dari 300 destination.
Integrasi ini memerlukan Write Key dari source HTTP API di workspace Segment Anda. Anda juga memerlukan akses ke Developer → Webhooks di dashboard Dodo Payments.

Memulai

1

Open the Webhook Section

Di dashboard Dodo Payments, buka Developer → Webhooks dan klik Add endpoint.
Add endpoint dialog with Segment selected in the Integration dropdown and the How to connect Segment steps
2

Select Segment

Di Integration, pilih Segment. Dashboard akan mengisi Endpoint URL dan kode transformasi untuk Segment.
3

Enter Write Key

Di Segment, buka Connections → Sources, lalu buka atau buat source HTTP API. Salin Write Key dari pengaturan source dan tempelkan ke API key.
4

Select Events

Di Subscribed events, pilih hanya event yang ditangani oleh transformasi Anda. Contoh di halaman ini menggunakan payment.succeeded, subscription.active, dan subscription.cancelled.
5

Configure Transformation

Di bawah Transformation code, edit handler untuk memformat event untuk Track atau Identify API milik Segment. Mulai dari contoh.
6

Test & Create

Di bawah Test this code, pilih jenis event dan klik Simulate untuk melihat pratinjau panggilan ke Segment. Lalu klik Create endpoint.
7

Switch to Basic Authentication

Dodo Payments mengirim nilai API key sebagai bearer token, tetapi HTTP API Segment menerima Write Key melalui autentikasi Basic atau field writeKey di body. Tepat setelah membuat endpoint, buka tab Advanced. Di bawah Custom headers, masukkan nilai baru pada baris Authorization yang tersembunyi: Basic, spasi, lalu encoding Base64 dari Write Key Anda dengan titik dua di akhir. Kemudian klik Save. Sebagai contoh, echo -n 'YOUR_WRITE_KEY:' | base64 mencetak nilai yang telah dienkode.
8

Done

Event yang telah disubscribe kini sampai ke Segment, yang meneruskannya ke destination yang terhubung.

Contoh Kode Transformasi

Setiap handler menetapkan webhook.url ke endpoint API Segment dan mengganti webhook.payload dengan panggilan tersebut. Jumlah Dodo Payments menggunakan unit mata uang terkecil, sehingga contoh-contoh ini membaginya dengan 100. Untuk mata uang tanpa desimal seperti JPY dan KRW, gunakan jumlah tersebut apa adanya.

Melacak Event Pembayaran

Catat event Payment Completed saat pembayaran berhasil:
track_payments.js

Melacak Siklus Hidup Subscription

Catat event Subscription Started dan Subscription Cancelled:
track_subscriptions.js

Mengidentifikasi Properti Customer

Perbarui traits customer setelah setiap pembayaran berhasil. Setiap panggilan Identify menetapkan traits ke nilai yang dikirimnya, sehingga traits ini menjelaskan pembayaran terbaru:
identify_customer.js

Tips

  • Gunakan nama event yang konsisten di seluruh integrasi Anda, seperti format object dan action milik Segment dalam Payment Completed.
  • Sertakan properti yang Anda perlukan untuk analitik dan segmentasi.
  • Tetapkan timestamp dari timestamp milik event, sehingga Segment mencatat kapan event terjadi, bukan kapan event tersebut tiba.
  • Gunakan customer_id Dodo Payments sebagai userId, sehingga setiap panggilan untuk customer terhubung ke user Segment yang sama.

Pemecahan Masalah

  • Pastikan Write Key berasal dari source HTTP API dan header Authorization menggunakan autentikasi Basic.
  • Segment mengembalikan 200 untuk sebagian besar request, termasuk request yang tidak diterimanya, sehingga pengiriman yang berhasil di log Dodo Payments tidak membuktikan bahwa event telah tiba. Periksa Debugger source di Segment.
  • Pastikan nama event mengikuti konvensi penamaan Segment.
  • Pastikan setiap panggilan menetapkan userId. Segment menolak panggilan yang tidak memiliki userId maupun anonymousId.
  • Periksa rate limit Segment untuk HTTP API. Segment menyarankan agar jumlah request tetap di bawah 1.000 request per detik untuk setiap workspace.
  • Jika workspace Anda menggunakan region EU Segment, kirim panggilan ke https://events.eu1.segmentapis.com/v1/track dan https://events.eu1.segmentapis.com/v1/identify.
  • Pastikan payload sesuai dengan format API Segment.
  • Pastikan semua field wajib tersedia. Track memerlukan event, sedangkan Track dan Identify memerlukan userId atau anonymousId.
  • Pastikan nama event berupa string, bukan object.
Terakhir diubah pada 28 September 2026