B BGWA Docs
Mulai

Mulai cepat

Dari nol sampai pesan pertama terkirim dalam lima langkah.

Panduan ini membawa Anda dari akun baru sampai pesan WhatsApp pertama terkirim. Waktu yang dibutuhkan sekitar 5 menit.

  1. Daftar dan aktifkan paket

    Buat akun atau masuk. Akun baru mendapat paket trial. Untuk paket berbayar, isi saldo di menu Dompet lalu aktifkan paket yang sesuai.

  2. Tambah device dan scan QR

    Buka menu Device, tambah device baru, lalu scan QR code dengan WhatsApp: Setelan → Perangkat tertaut → Tautkan perangkat. Tunggu sampai status device menjadi open (terhubung).

  3. Salin API key

    Di menu Device, klik ikon kunci pada device Anda, lalu salin API key. Formatnya bgwa_ diikuti 48 karakter. Simpan di environment variable server Anda, jangan ditanam di kode front-end atau repositori publik.

  4. Cek koneksi

    Pastikan API key benar dan device terhubung:

    cURL
    curl https://bgwa.web.id/api/v1/device \
      -H "Authorization: Bearer YOUR_API_KEY"
    Node.js
    const res = await fetch('https://bgwa.web.id/api/v1/device', {
      headers: { Authorization: 'Bearer ' + process.env.BGWA_API_KEY },
    });
    console.log(await res.json());
    Python
    import os, requests
    
    r = requests.get("https://bgwa.web.id/api/v1/device",
                     headers={"Authorization": "Bearer " + os.environ["BGWA_API_KEY"]})
    print(r.json())
    PHP
    $ch = curl_init('https://bgwa.web.id/api/v1/device');
    curl_setopt_array($ch, [
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('BGWA_API_KEY')],
    ]);
    echo curl_exec($ch);

    Respons yang diharapkan:

    200 OK
    {
      "device": "toko-saya",
      "status": "open",
      "wa_number": "6281234567890"
    }

    Jika status bukan open, buka dashboard dan hubungkan ulang device sebelum mengirim.

  5. Kirim pesan pertama

    cURL
    curl -X POST https://bgwa.web.id/api/v1/messages \
      -H "Authorization: Bearer YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{"to": "081234567890", "text": "Halo dari BGWA!"}'
    Node.js
    const res = await fetch('https://bgwa.web.id/api/v1/messages', {
      method: 'POST',
      headers: {
        Authorization: 'Bearer ' + process.env.BGWA_API_KEY,
        'Content-Type': 'application/json',
      },
      body: JSON.stringify({ to: '081234567890', text: 'Halo dari BGWA!' }),
    });
    console.log(res.status, await res.json());
    Python
    import os, requests
    
    r = requests.post("https://bgwa.web.id/api/v1/messages",
                      headers={"Authorization": "Bearer " + os.environ["BGWA_API_KEY"]},
                      json={"to": "081234567890", "text": "Halo dari BGWA!"})
    print(r.status_code, r.json())
    PHP
    $ch = curl_init('https://bgwa.web.id/api/v1/messages');
    curl_setopt_array($ch, [
        CURLOPT_POST => true,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_HTTPHEADER => [
            'Authorization: Bearer ' . getenv('BGWA_API_KEY'),
            'Content-Type: application/json',
        ],
        CURLOPT_POSTFIELDS => json_encode(['to' => '081234567890', 'text' => 'Halo dari BGWA!']),
    ]);
    echo curl_exec($ch);

    Anda akan menerima respons berikut. Simpan id untuk mengecek hasilnya.

    200 OK
    {
      "ok": true,
      "status": "queued",
      "id": 123,
      "to": "6281234567890@s.whatsapp.net",
      "wa_message_id": null,
      "image": false,
      "eta_seconds": 24,
      "scheduled_for": "2026-11-03T03:00:00+00:00"
    }

Cek hasilnya

Pesan dikirim bertahap, jadi hasil akhirnya muncul beberapa detik sampai beberapa menit kemudian. Cek dengan id tadi:

cURL
curl https://bgwa.web.id/api/v1/messages/123 \
  -H "Authorization: Bearer YOUR_API_KEY"
200 OK
{
  "id": 123,
  "status": "sent",
  "to": "6281234567890@s.whatsapp.net",
  "wa_message_id": "3EB0...",
  "reason": null,
  "queued_at": "2026-11-03T03:00:00+00:00",
  "scheduled_for": "2026-11-03T03:00:24+00:00",
  "sent_at": "2026-11-03T03:00:26+00:00"
}

Apa selanjutnya?