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.