Masuk

Kirim Pesan

Kirim pesan melalui akun WhatsApp yang terhubung. Pesan diantrekan dan diproses secara asinkron.

Autentikasi

Sertakan header ini di setiap permintaan. Nilai akan terisi otomatis saat Anda memilih perangkat di atas.

HeaderDeskripsi
x-device-keyDevice key Anda (dibuat di pengaturan perangkat)
POSThttps://www.beamvia.com/api/whatsapp/message/send
Request
curl -X POST https://www.beamvia.com/api/whatsapp/message/send \
  -H "Content-Type: application/json" \
  -H "x-device-key: YOUR_DEVICE_KEY" \
  -d '{
    "to": "+6281234567890",
    "message": {
      "type": "text",
      "text": "Hello from API!"
    }
  }'

Parameter Body

tostringrequired
Nomor telepon penerima dalam format E.164 (contoh: +6281234567890). Spasi dan tanda hubung dibersihkan secara internal.
messageobjectrequired
Payload pesan. Harus menyertakan field type.
message.typestringrequired
Tipe pesan. Salah satu dari: text, image, video, audio, document, sticker, location, contact, reaction.
Request body
{
  "to": "+6281234567890",
  "message": {
    "type": "text",
    "text": "Hello from API!"
  }
}

Tipe Pesan

Semua tipe pesan dengan field type dan field spesifiknya.

TypeField WajibField Opsional
texttextโ€”
imageurlcaption
videourlcaption
audiourlptt
documenturlfilename, mimetype
stickerurlโ€”
locationlatitude, longitudename, address
contactname, phoneโ€”
reactionmessageId, emojiโ€”

Untuk tipe media (image, video, audio, document, sticker), field url wajib diisi dan harus berupa URL yang bisa diakses publik. File akan diunduh dan dikirim secara otomatis.

curl -X POST https://www.beamvia.com/api/whatsapp/message/send \
  -H "Content-Type: application/json" \
  -H "x-device-key: YOUR_DEVICE_KEY" \
  -d '{
    "to": "+6281234567890",
    "message": {
      "type": "text",
      "text": "Hello from API!"
    }
  }'

Respons

Mengembalikan detail antrian jika berhasil. Pesan diproses secara asinkron oleh layanan latar belakang.

Respons Error

KodeDeskripsi
400Header wajib tidak ada atau body permintaan tidak valid
401Tidak terotorisasi: Device key tidak valid
500Kesalahan server internal
{
  "status": true,
  "message": "Message queued successfully",
  "data": {
    "queueId": "65a1b2c3d4e5f6a7b8c9d0e1",
    "status": "IDLE",
    "queuedAt": "2026-02-11T10:30:00.000Z"
  }
}

Format Nomor Telepon

Field to harus dalam format internasional E.164.

FormatContohValid
Dengan ++6281234567890โœ…
Tanpa +6281234567890โœ…
Dengan spasi/tanda hubung+62 812-3456-7890โœ… (dibersihkan)
Tanpa kode negara081234567890โŒ
Internal conversion
// Input
"+6281234567890"

// Converted to JID internally
"[email protected]"

Pemrosesan Antrian

Pesan diantrekan dan diproses secara asinkron oleh layanan latar belakang dengan percobaan ulang otomatis.

  • Percobaan ulang otomatis: Pesan gagal dicoba ulang hingga 3 kali
  • Urutan FIFO: Pesan diproses sesuai urutan
  • Pemrosesan atomik: Setiap pesan diambil secara atomik
Queue Status Flow
IDLE โ†’ PROCESSING โ†’ COMPLETED
                    โ†˜ FAILED โ†’ PENDING_RETRY
                              โ†˜ (max 3 retries)