Panduan/Untuk developer

Mengimpor riwayat percakapan WhatsApp yang sudah ada ke CRM sendiri

Endpoint riwayat: daftar percakapan dan pesan lama (arah, wamid, waktu, tipe, teks, lampiran) dengan pagination — untuk backfill sekali, lalu real-time lewat webhook. 3 menit baca

Webhook hanya mengirim yang terjadi setelah Anda menyalakannya. Kalau CRM Anda perlu percakapan yang sudah ada sebelumnya, pakai dua endpoint riwayat ini — baca-saja, dengan kunci API yang sama. Pola yang disarankan: backfill sekali di awal, lalu serahkan ke webhook untuk real-time.

1. Daftar percakapan

curl "https://waco.id/api/v1/percakapan?halaman=1" \
  -H "Authorization: Bearer waco_KUNCI_ANDA"
{
  "halaman": 1, "per_halaman": 25, "ada_lagi": true,
  "nomor_bisnis": "628158825011",
  "percakapan": [
    { "id": 812, "nomor": "628111222333", "nama": "Budi", "nomor_bisnis": "628158825011",
      "status": "selesai", "dibuat": "2026-08-13T05:20:00.000Z",
      "aktivitas_terakhir": "2026-08-14T02:11:00.000Z", "pesan_terakhir": "Terima kasih" }
  ]
}

Terbaru dulu, 25 per halaman; naikkan halaman selama ada_lagi true. Parameter opsional: nomor=628… untuk satu pelanggan saja, dan dari=628… bila Anda punya lebih dari satu nomor bisnis (tanpa itu, nomor pertama).

2. Pesan dalam satu percakapan

curl "https://waco.id/api/v1/percakapan/812/pesan" \
  -H "Authorization: Bearer waco_KUNCI_ANDA"
{
  "percakapan": { "id": 812, "nomor": "628111222333", "...": "..." },
  "ada_lagi": true, "sebelum_berikutnya": 40311,
  "pesan": [
    { "id": 40311, "wamid": "wamid.HBgL…", "arah": "masuk", "waktu": "2026-08-13T05:20:00.000Z",
      "tipe": "text", "teks": "Halo, mau daftar", "status": null,
      "pengirim": { "jenis": "pelanggan", "nama": "Budi" }, "privat": false, "lampiran": [] },
    { "id": 40312, "wamid": "wamid.HBgM…", "arah": "keluar", "waktu": "2026-08-13T05:21:30.000Z",
      "tipe": "image", "teks": "Ini brosurnya", "status": "read",
      "pengirim": { "jenis": "tim", "nama": "Ani" }, "privat": false,
      "lampiran": [ { "id": 77, "jenis": "image", "url": "https://…/brosur.jpg", "ekstensi": "jpg", "ukuran": 182331 } ] }
  ]
}
Batas 120 permintaan per menit per kunci API. Untuk ribuan percakapan, jalankan backfill berurutan dengan jeda — bukan paralel — dan simpan halaman terakhir supaya bisa dilanjutkan bila terputus.

Alur backfill yang disarankan

  1. Nyalakan webhook lebih dulu dan catat waktu mulainya.
  2. Tarik semua percakapan halaman demi halaman; untuk tiap percakapan tarik pesannya mundur sampai habis.
  3. Gunakan wamid sebagai kunci unik; event webhook yang datang selama backfill akan bertemu wamid yang sama dan cukup diabaikan.

Spesifikasi lengkap ada di OpenAPI.

Masih menemui kendala setelah mengikuti panduan ini? Hubungi kami dari dashboard — sertakan tangkapan layar bila ada, itu mempercepat semuanya.