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 } ] }
]
}
- Pagination mundur: 20 pesan per halaman, urut waktu naik di dalam halaman. Untuk yang lebih
lama, kirim
?sebelum=nilaisebelum_berikutnyasampaiada_lagifalse. - wamid adalah ID pesan Meta — sama dengan
pesan.iddi webhook danmessage_iddari/kirim, jadi riwayat dan real-time bisa dicocokkan tanpa duplikat. - arah:
masuk(dari pelanggan) ataukeluar(tim, bot, atau API Anda). - tipe:
text,template,image,video,audio,document. Lampiran memuat tautan unduh yang bisa kedaluwarsa — unduh saat backfill. - Catatan internal tim tidak ikut kecuali Anda menambahkan
?catatan=1.
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
- Nyalakan webhook lebih dulu dan catat waktu mulainya.
- Tarik semua percakapan halaman demi halaman; untuk tiap percakapan tarik pesannya mundur sampai habis.
- Gunakan
wamidsebagai kunci unik; event webhook yang datang selama backfill akan bertemu wamid yang sama dan cukup diabaikan.
Spesifikasi lengkap ada di OpenAPI.
← SebelumnyaIntegrasi n8n dengan WhatsApp Business API: otomasi tanpa koding lewat WACO
Berikutnya →Menerima balasan & status pesan lewat webhook
Masih menemui kendala setelah mengikuti panduan ini?
Hubungi kami dari dashboard — sertakan tangkapan layar bila ada, itu mempercepat
semuanya.