Lewati ke konten
Bro Gateway

Nomor WhatsApp Anda, jadi API.

Tautkan nomor lewat scan QR sekali, lalu kirim pesan dari sistem Anda dengan satu request. Jadwalkan, blast bertahap, dan balas otomatis ikut di dalamnya. Tanpa Meta Business API, tanpa verifikasi bisnis, tanpa template yang harus disetujui.

200 pesan per hari gratis selamanya. Tanpa kartu kredit.

Device Utama

Terhubung
Nomor
+62 812 3456 7890
Provider
QR Device (WhatsApp Web)
Kesehatan
Sehat
Pesan hari ini 1.284

Contoh tampilan dashboard. Data pada gambar ini ilustratif.

Tiga menit dari sekarang, pesan pertama Anda terkirim.

Berikut persis yang akan Anda lakukan. Panel di bawah ini adalah antarmuka yang benar-benar Anda pakai nanti, bukan ilustrasi.

  1. 00:00

    Buat akun

    Email, nama, dan password. Akun langsung aktif pada paket gratis, lengkap dengan satu device dan token API.

  2. 00:40

    Scan QR dari WhatsApp di ponsel

    Buka WhatsApp, menu Perangkat Tertaut, lalu arahkan ke QR di layar. Sesi tersimpan terenkripsi, jadi Anda tidak perlu scan ulang setiap server dinyalakan kembali. Tidak punya kamera di tangan? Ada juga kode pairing 8 karakter.

    Menunggu pemindaian

    QR berlaku 60 detik lalu diperbarui otomatis.

  3. 02:10

    Kirim pesan pertama

    Integrasi butuh dua hal saja: alamat gateway dan token. Device pengirim sudah melekat pada token, jadi request tidak perlu menyebut device sama sekali.

    curl -X POST "https://brogateway.com/api/v1/messages/text" \
      -H "X-API-Key: wag_live_xxxxxxxxxxxx" \
      -H "Content-Type: application/json" \
      -d '{"to":"628123456789","message":"Order #1204 diterima. Terima kasih!"}'
    202 Accepted
    { "message_id": "msg_01M0Q...",
      "status": "queued" }
    Toko Budi

    Order #1204 diterima. Terima kasih! 09:12

    Isi pesan dan nomor pada contoh ini dibuat untuk peragaan.

Setelah tiga menit itu, ini yang Anda punya.

Bukan daftar keinginan. Setiap baris di bawah ini sudah berjalan dan bisa Anda coba pada paket gratis, kecuali yang ditandai.

Kirim pesan

Teks, lokasi, dan template tersedia di semua paket. Gambar, dokumen, video, dan audio mulai dari paket berbayar.

Nomor tujuan dinormalkan otomatis: 08123456789 menjadi 628123456789. Kirim dari dashboard atau REST API.

Terima pesan

Pesan masuk tersimpan di inbox dan dikirim ke server Anda lewat webhook, lengkap dengan pengirim, isi, dan lampiran.

Inbox bisa dikosongkan kapan saja, per device atau seluruhnya.

Antrian dan pengulangan

API membalas 202 lalu worker yang mengirim. Device sedang mati? Pesan tetap antre, bukan hilang.

Percobaan ulang pada detik ke 0, 60, 300, 1800, dan 7200. Header Idempotency-Key menolak kiriman ganda saat jaringan Anda mengulang request yang sama.

Media sekali unggah

Unggah berkas sekali, dapat media_id, lalu kirim ke berapa pun penerima tanpa mengunggah ulang.

Tipe berkas diperiksa dari isinya (magic byte), bukan dari nama atau header yang dikirim klien. Berkas menyamar ditolak sebelum menyentuh penyimpanan.

Keamanan

Webhook ditandatangani HMAC-SHA256 sehingga server Anda bisa membuktikan pesan benar dari gateway ini.

Token bisa dibatasi izinnya, dikunci ke satu device, dibatasi daftar IP, diberi masa berlaku, dan dicabut seketika. Setiap perubahan penting tercatat di audit trail.

Pemantauan

Status device, riwayat pesan beserta alasan kegagalan, grafik pemakaian harian, dan sisa kuota.

Device yang lama tidak ada aktivitas otomatis ditandai perlu diperiksa, jadi Anda tahu sebelum pelanggan yang memberi tahu.

Pemberitahuan device putus

Begitu device terputus, email masuk ke kotak masuk Anda. Saat tersambung lagi, email pemulihan menyusul.

Device mati adalah kegagalan paling mahal di gateway seperti ini justru karena tidak bergejala: dashboard tetap menerima pesan, API tetap membalas 202, antrian tetap terisi. Tanpa pemberitahuan, Anda baru tahu setelah pelanggan mengeluh.

Zona waktu akun

Pilih WIB, WITA, atau WIT. Semua tanggal yang Anda lihat dan semua jam yang Anda ketik memakai zona itu.

Penyimpanan tetap UTC, konversi hanya terjadi di layar dan di kotak isian. Jadi mengubah zona tidak pernah menggeser pesan yang sudah terjadwal, hanya cara jamnya ditampilkan.

Yang tetap berjalan saat Anda tidur.

Tiga hal yang dikerjakan gateway tanpa Anda menekan apa pun. Semuanya lewat antrian yang sama, jadi tunduk pada kuota, jeda kirim, dan pencatatan yang sama pula.

Balas otomatis

Nomor CS

harga berapa kak? 09:41

Daftar harga kami ada di brogateway.id/harga 09:41

Aturan berbasis kata kunci: mengandung, diawali, atau sama persis. Aturan khusus satu device diperiksa lebih dulu daripada aturan umum.

Pesan grup tidak pernah dibalas, dan satu pengirim hanya dibalas sekali per menit. Tanpa batas itu, dua gateway yang saling membalas akan berputar sampai salah satunya diblokir WhatsApp.

Pesan terjadwal

Kirim nanti 28 Agu 2026 09:00 WIB
Penerima 628123456789
Tersimpan sebagai 02:00 UTC
Status Antrian

Menunggu jam kirim

Isi jamnya, sisanya urusan gateway. Berlaku di dashboard maupun lewat API dengan satu field schedule_at.

Jam yang Anda ketik dibaca menurut zona akun, bukan zona server. Jadwal yang sudah lewat dikirim sekarang, bukan ditolak, karena selisih beberapa detik antara jam Anda dan jam server tidak layak menggagalkan pengiriman.

Blast bertahap

Ana 09:00:00
Budi 09:00:20
Cici 09:00:40
Dedi berhenti berlangganan
Erna 09:01:00

Satu pesan ke banyak kontak, dikirim satu per satu dengan jeda yang Anda tentukan. {nama} dan {nomor} diganti per penerima.

Kontak berstatus berhenti berlangganan selalu dibuang, dan itu tidak bisa dimatikan. Kampanye juga lahir sebagai draf: tidak ada satu pesan pun terkirim sampai Anda memeriksa daftar penerimanya lalu menekan Jalankan.

Nama dan isi pesan pada ketiga contoh di atas dibuat untuk peragaan.

Dokumentasi API

Base URL https://brogateway.com/api/v1 dan satu header. Semua contoh di bawah ini bisa disalin apa adanya.

Autentikasi

Setiap request menyertakan token pada header. Satu token melayani satu device, jadi pengirimnya sudah pasti dan tidak perlu disebut.

X-API-Key: wag_live_xxxxxxxxxxxxxxxx

Header Authorization: Bearer wag_live_... juga diterima.

Kirim teks

POST https://brogateway.com/api/v1/messages/text

{
  "to": "628123456789",
  "message": "Pesanan Anda sedang dikirim."
}

Jadwalkan pengiriman

Satu field tambahan, berlaku di semua endpoint kirim. Maksimal 60 hari ke depan.

POST https://brogateway.com/api/v1/messages/text

{
  "to": "628123456789",
  "message": "Promo pagi dimulai.",
  "schedule_at": "2026-08-28T09:00"
}

Tanpa keterangan zona, jam dibaca menurut zona waktu akun Anda. Ingin menyebut zonanya sendiri? Kirim bentuk lengkap 2026-08-28T09:00:00+07:00, dan nilai itu dipakai apa adanya.

Kirim dokumen

Tersedia pada paket berbayar.

POST https://brogateway.com/api/v1/messages/document

{
  "to": "628123456789",
  "document_url": "https://contoh.id/invoice.pdf",
  "filename": "invoice-1204.pdf",
  "caption": "Invoice bulan ini"
}

Unggah sekali, kirim berkali-kali

# 1. unggah
curl -X POST "https://brogateway.com/api/v1/media" \
  -H "X-API-Key: TOKEN_ANDA" -F "file=@invoice.pdf"
#    -> { "media_id": "med_01M0...", "checksum": "3b1f..." }

# 2. kirim, tanpa mengunggah ulang
curl -X POST "https://brogateway.com/api/v1/messages/document" \
  -H "X-API-Key: TOKEN_ANDA" \
  -d '{"to":"628123456789","media_id":"med_01M0..."}'

Webhook ke server Anda

Sembilan event dikirim ke URL Anda saat sesuatu terjadi. Setiap kiriman membawa tanda tangan, jadi Anda bisa membuktikan asalnya.

message.queuedmessage.sentmessage.deliveredmessage.readmessage.failedmessage.receivedchannel.connectedchannel.disconnectedchannel.qr

Isi kiriman

{
  "id": "evt_01M0...",
  "event": "message.delivered",
  "created_at": "2026-08-24T02:10:00.000Z",
  "data": {
    "message_id": "msg_01M0...",
    "to": "628123456789",
    "status": "delivered"
  }
}

Verifikasi tanda tangan

// Node.js
const ts = req.headers['x-timestamp'];
const expected = 'sha256=' + crypto
  .createHmac('sha256', SECRET)
  .update(ts + '.' + rawBody)
  .digest('hex');

// bandingkan dengan header x-signature

Kiriman gagal diulang pada detik ke 0, 60, 300, 1800, dan 7200. Riwayat setiap percobaan tersimpan dan bisa diulang manual dari dashboard.

Kode error

KodeHTTPArtinya
UNAUTHORIZED 401 Header X-API-Key tidak disertakan.
INVALID_API_KEY 401 Token tidak dikenal.
API_KEY_REVOKED 401 Token sudah dicabut.
API_KEY_EXPIRED 401 Token melewati masa berlaku.
FORBIDDEN 403 Token tidak punya izin untuk aksi itu.
INVALID_PAYLOAD 400 Isi request tidak sesuai aturan.
INVALID_RECIPIENT 422 Nomor tujuan tidak valid.
CHANNEL_OFFLINE 409 Device sedang tidak tersambung.
UNSUPPORTED_MEDIA 415 Tipe berkas tidak diizinkan.
PAYLOAD_TOO_LARGE 413 Berkas melebihi batas ukuran.
QUOTA_EXCEEDED 429 Kuota harian habis, atau fitur di luar paket.
RATE_LIMITED 429 Terlalu banyak request per menit.
NOT_FOUND 404 Sumber daya tidak ada.

Harga

Mulai gratis tanpa batas waktu. Naik paket kapan saja lewat dashboard, kuota baru berlaku seketika.

Free

Gratis

  • 200 pesan per hari
  • 1 device
  • 3 token API
  • 30 request per menit
  • Teks, lokasi, template
  • Lampiran tidak tersedia
  • REST API, webhook, inbox
Mulai gratis

Starter

Paling sering dipilih

Rp25.000/bln

  • 500 pesan per hari
  • 1 device
  • 5 token API
  • 60 request per menit
  • Teks, lokasi, template
  • Gambar, dokumen, video, audio
  • REST API, webhook, inbox
Mulai dari gratis

Business

Rp99.000/bln

  • 20.000 pesan per hari
  • 10 device
  • 25 token API
  • 180 request per menit
  • Teks, lokasi, template
  • Gambar, dokumen, video, audio
  • REST API, webhook, inbox
Mulai dari gratis

Pembayaran dikonfirmasi lewat WhatsApp ke admin. Belum ada pembayaran otomatis, dan itu memang disengaja untuk saat ini.

Yang perlu Anda tahu sebelum daftar.

Lebih baik Anda tahu sekarang daripada setelah membayar.

Ini memakai WhatsApp Web, bukan API resmi Meta.
Kelebihannya: nomor biasa Anda langsung bisa dipakai, tanpa verifikasi bisnis dan tanpa template yang harus disetujui. Konsekuensinya: WhatsApp bisa membatasi nomor yang dipakai mengirim spam. Pakai untuk pesan yang memang diharapkan penerima.
Satu token melayani satu device.
Punya tiga nomor, buat tiga token. Ini membuat integrasi lebih sederhana dan membatasi kerusakan bila satu token bocor.
Belum ada pembayaran otomatis.
Ganti paket dilakukan lewat chat WhatsApp ke admin. Prosesnya manual, tetapi kuota berlaku seketika setelah diaktifkan.
Belum ada anggota tim dalam satu akun.
Satu akun dipakai satu orang untuk saat ini. Kalau Anda butuh beberapa akun terpisah, admin bisa membuatkannya.

Coba dulu, tanpa bayar apa pun.

Paket gratis berlaku selamanya dengan 200 pesan per hari. Kalau tidak cocok, Anda tidak kehilangan apa-apa.