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.
| Header | Deskripsi |
|---|---|
| x-device-key | Device 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
tostringrequiredNomor telepon penerima dalam format E.164 (contoh:
+6281234567890). Spasi dan tanda hubung dibersihkan secara internal.messageobjectrequiredPayload pesan. Harus menyertakan field
type.message.typestringrequiredTipe 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.
| Type | Field Wajib | Field Opsional |
|---|---|---|
| text | text | โ |
| image | url | caption |
| video | url | caption |
| audio | url | ptt |
| document | url | filename, mimetype |
| sticker | url | โ |
| location | latitude, longitude | name, address |
| contact | name, phone | โ |
| reaction | messageId, 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
| Kode | Deskripsi |
|---|---|
| 400 | Header wajib tidak ada atau body permintaan tidak valid |
| 401 | Tidak terotorisasi: Device key tidak valid |
| 500 | Kesalahan 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.
| Format | Contoh | Valid |
|---|---|---|
| Dengan + | +6281234567890 | โ |
| Tanpa + | 6281234567890 | โ |
| Dengan spasi/tanda hubung | +62 812-3456-7890 | โ (dibersihkan) |
| Tanpa kode negara | 081234567890 | โ |
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)