API pelanggan
Beecasts API
Hubungkan sesi WhatsApp, kelola kontak, kirim pesan, jalankan broadcast, dan terima event webhook melalui Beecasts.
Pilih server API di tiap endpoint. Request dikirim langsung dari browser ini saat kamu menekan Kirim.
API pelanggan v1.0.0 · diperbarui 2026-09-26
Gunakan endpoint ini untuk menghubungkan workspacemu ke fitur pesan Beecasts.
Autentikasi
Kamu login ke konsol lewat cookie sesi yang aman (HttpOnly). Untuk request antarserver, buat key di API Keys lalu kirim sebagai kredensial bearer.
curl "$BEECASTS_API/v1/sessions" \
-H "Authorization: Bearer $BEECASTS_API_KEY"Simpan key lengkap di secret manager atau environment variable. Nilai lengkap hanya ditampilkan sekali saat dibuat atau dirotasi; konsol tidak dapat menampilkannya lagi. Jangan menaruhnya di source control, kode browser, URL, atau tangkapan layar untuk bantuan.
Hubungkan sesi WhatsApp
- Buka Sesi lalu pilih Tambah sesi.
- Isi label workspace. Nomor telepon boleh diisi: kalau diisi, hanya akun WhatsApp dengan nomor itu yang bisa tertaut. Lalu scan kode QR dengan WhatsApp di ponsel tersebut.
- Biarkan ponsel tetap online sampai penautan selesai. Kalau kode QR kedaluwarsa, minta kode baru dari halaman detail sesi.
Perangkat yang terputus dapat menghentikan pengiriman dan broadcast terjadwal. Sambungkan kembali dari halaman detail sesi dan periksa status terbarunya sebelum mengirim ulang pesan.
Kirim pesan
Pilih sesi yang terhubung, masukkan nomor telepon penerima, lalu pilih jenis pesan. Kamu tidak perlu membuat Kontak dulu. Field opsional contactId menautkan nomor ke kontak workspace yang tersimpan sebagai konteks. API memasukkan satu percobaan ke antrean dan mengembalikan ID pesannya; status pengiriman diperbarui kemudian saat WhatsApp melaporkannya.
curl -X POST "$BEECASTS_API/v1/messages/send" \
-H "Authorization: Bearer $BEECASTS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"sessionId":"ses_…","recipient":"6281234567890","type":"text","body":"Hello"}'Untuk gambar, audio, video, dan dokumen, unggah media melalui API lalu sertakan URL media workspace yang dikembalikan. Pengiriman yang gagal tetap dihitung sebagai percobaan dalam kuota aktif; periksa detail pesannya sebelum mengirim ulang.
Broadcast
Susun broadcast dari kontak tersimpan atau nomor telepon langsung. Kontak tersimpan bersifat opsional; kontak yang cocok akan menambahkan nama dan field kustom untuk personalisasi.
Pilih sesi yang terhubung, periksa jumlah penerima dan pesannya, lalu mulai sekarang atau jadwalkan broadcast. Kampanye yang dijeda dapat dilanjutkan, dan penerima yang gagal dapat ditinjau dari progres kampanye.
Kamu bertanggung jawab mematuhi aturan pesan yang berlaku dan menghormati preferensi penerima.
API key dan scope
Buat key terpisah untuk setiap integrasi dan berikan hanya resource yang dibutuhkan. Scope baca mengizinkan pemanggilan daftar dan detail; scope tulis mengizinkan perubahan seperti mengirim, mengirim ulang, atau mengelola resource tersebut.
- Gunakan key berbeda untuk tiap layanan agar aksesnya dapat dicabut tanpa mengganggu integrasi lain.
- Rotasi key jika dicurigai bocor. Rotasi mencabut kredensial lama dan menampilkan penggantinya sekali saja.
- Tinjau waktu terakhir digunakan, masa berlaku, dan scope di halaman API Keys; cabut kredensial yang tidak terpakai.
Webhook dan percobaan ulang
Pengiriman webhook menyertakan X-Beecasts-Event, X-Beecasts-Delivery, dan X-Beecasts-Signature. Verifikasi HMAC sha256=… atas isi request mentah yang persis sama menggunakan secret endpoint sebelum memproses event.
Untuk mencegah serangan replay, verifikasi X-Beecasts-Signature-V2 sebagai gantinya. Ini adalah HMAC atas <X-Beecasts-Timestamp>.<raw body>, dengan timestamp dalam detik Unix. Tolak pengiriman yang timestamp-nya lebih tua dari beberapa menit.
Balas dengan status 2xx setelah event tersimpan. Pengiriman yang gagal dicoba ulang dengan jeda yang makin lama, sampai 8 kali. Gunakan halaman Webhook untuk memeriksa percobaan dan mengirim ulang pengiriman yang gagal secara manual setelah penerima diperbaiki.
Pakai ID pengiriman supaya endpoint-mu idempoten, karena event yang sama bisa datang lebih dari sekali.
Log request
Buka Log untuk memfilter lalu lintas API workspace berdasarkan rute, ID request, status, atau key. Tampilan detail memuat waktu dan metadata request yang disamarkan untuk membantu melacak kegagalan.
Gunakan ID request saat berkoordinasi dengan operator. Log tidak menampilkan secret API lengkap; hindari menyalin payload request yang mungkin berisi data pribadi ke tiket eksternal.
Kuota dan penggunaan
Paket Free mencakup 500 pesan per bulan kalender dalam WIB (UTC+7). Pesan masuk, pesan keluar langsung, dan penerima broadcast berbagi kuota ini. Jumlah request API ditampilkan terpisah dan tidak memakai kuota pesan.
Percobaan keluar dihitung saat diterima ke antrean. Pengiriman yang gagal tidak mengembalikan percobaan. Pesan masuk tetap dicatat setelah kuota habis, sedangkan pengiriman baru, percobaan ulang, dan penerima broadcast dijeda atau gagal sampai bulan berikutnya atau sampai paket berbayar aktif berlaku.
Pesan teks dan keterangan media pada paket Free menyertakan footer miring Powered by beecasts.com. Gambar, video, dan dokumen memerlukan keterangan di paket Free; pesan khusus audio memerlukan paket berbayar. Tagihan dan Penggunaan menampilkan paket yang berlaku dan total periode berjalan. Periksa kapasitas yang tersedia sebelum menjadwalkan broadcast besar.
Hubungan dengan WhatsApp dan Meta
Beecasts adalah platform integrasi independen dan tidak berafiliasi dengan atau didukung oleh WhatsApp maupun Meta. Nama dan merek WhatsApp dan Meta adalah milik pemiliknya masing-masing.
Perilaku koneksi dan pengiriman bergantung pada akun WhatsApp yang tertaut dan dapat berubah ketika WhatsApp mengubah layanan atau kebijakannya.