Untuk developer

Hubungkan sistem order Anda, konversi terkirim otomatis

Kirim lead, naikkan tahap order saat kurir memperbarui resi, baca atribusi tiap lead, dan kirim pesan WhatsApp. Idempotency, retry webhook, dan batas laju sudah terpasang sejak awal.

Naikkan tahap order
# Kurir menandai paket diterima → Purchase berangkat ke Meta & Google
curl -X POST https://vlabcrm.id/api/v1/orders/status \
  -H "Authorization: Bearer na1b2c3d4.XyZ..." \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: resi-JX8812-delivered" \
  -d '{
    "tracking_no": "JX8812",
    "order_stage": "delivered",
    "courier": "jnt",
    "value": 349000
  }'

# 200 OK
{ "success": true, "data": { "code": "TR-K3L9M2", "orderStage": "delivered" } }
Mengapa berbeda

Detail yang biasanya baru terasa saat produksi

Integrasi konversi mudah dibuat. Yang sulit adalah membuatnya tetap akurat saat jaringan putus, saat webhook kurir dikirim dua kali, dan saat volumenya naik.

API key dengan scope

Scope terpisah: leads:write, analytics:read, messages:send, dan seterusnya. Key dapat dikunci ke nomor tertentu dan dicabut seketika dari Dashboard.

Idempotency bawaan

Jika request dikirim ulang dengan header Idempotency-Key yang sama, respons pertama yang dikembalikan. Webhook kurir yang dikirim dua kali tidak lagi berarti konversi terhitung dua kali.

Webhook dengan log & retry

Lead baru, perubahan status, tahap order, dan pesan masuk dikirim ke endpoint Anda. Jika gagal, pengiriman dicoba ulang otomatis dan setiap percobaan dicatat agar dapat ditelusuri.

Rate limit yang transparan

Sisa kuota dikirim di header setiap respons: X-RateLimit-Remaining dan Retry-After. Tidak perlu menebak kapan boleh mengirim lagi.

Endpoint

Yang paling sering dipakai

Dokumentasi lengkap dan playground interaktif tersedia di dalam Dashboard. Semua endpoint dapat dicoba langsung dari browser.

  • GET /v1/leads Daftar lead beserta atribusinya, dengan kursor
  • GET /v1/leads/:code Detail satu lead
  • POST /v1/leads Kirim lead dari form atau sistem Anda sendiri
  • PATCH /v1/leads/:code/status Ubah status lead; closing memicu konversi
  • POST /v1/orders/status Tahap order COD: dikirim, diterima, retur, batal
  • GET /v1/analytics/summary Ringkasan lead, closing, omzet & ROAS
  • POST /v1/messages Kirim pesan WhatsApp teks, media, atau template
  • GET /v1/chats Daftar percakapan
  • GET /v1/contacts Daftar & cari kontak
  • POST /v1/webhooks Daftarkan endpoint Webhook
Webhook

Dua arah, bukan hanya mengirim

Pasang endpoint webhook, terima lead dan perubahan tahap order secara realtime, proses di sistem Anda, lalu kirim kembali statusnya melalui API. Asisten AI juga dapat membaca data yang sama melalui MCP.

Contoh payload
// Webhook masuk ke server Anda saat lead baru terbentuk
{
  "event": "lead.created",
  "data": {
    "code": "TR-K3L9M2",
    "name": "Rina Kartika",
    "source": "rotator",
    "attribution": {
      "platform": "meta",
      "campaign": "Promo Ramadan",
      "clickId": "fbclid",
      "firstTouchAt": "2026-08-30T09:12:44Z"
    }
  }
}

Catatan penting: gunakan Idempotency-Key saat meneruskan webhook kurir. Agregator resi rutin mengirim status yang sama lebih dari sekali.

Ingin melihat dokumentasinya terlebih dahulu?

Kami kirimkan akses playground agar Anda dapat mencoba setiap endpoint sebelum memutuskan.