Pesan
Kirim ke nomor telepon, alamat email, atau kontak yang sudah ada. Kontak dan percakapan ditemukan atau dibuat otomatis.
Kirim pesan
Mengantrekan pesan dan mengembalikannya dengan status PENDING. to berisi { "type": "WHATSAPP", "phone": "+62…" }, { "type": "EMAIL", "address": "…" }, { "type": "TELEGRAM", "userId": "…" }, atau { "contactId": "…" }.
message:sendchannelIdstringrequiredGET /api/v1/channel. Saat sudah masuk, pilih channel di bagian atas docs agar otomatis terisi di contoh.toobjectrequired{ "type": "WHATSAPP", "phone" }, { "type": "EMAIL", "address" }, { "type": "TELEGRAM", "userId" } atau { "contactId" }.contentobjectrequiredTEXT, IMAGE, DOCUMENT, LOCATION dan lainnya. Lihat tipe konten di bawah.replyToMessageIdstringcurl -X POST "https://www.beamvia.com/api/v1/message" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"channelId": "CHANNEL_ID",
"to": {
"type": "WHATSAPP",
"phone": "+6281234567890"
},
"content": {
"type": "TEXT",
"text": "Hello from Beamvia!"
}
}'{
"status": true,
"message": "Message queued",
"data": {
"message": {
"id": "6650f0c2a1b2c3d4e5f60718",
"conversationId": "6650f0c2a1b2c3d4e5f60700",
"direction": "OUTBOUND",
"author": {
"type": "API",
"apiKeyId": "6650f0c2a1b2c3d4e5f60001"
},
"content": {
"type": "TEXT",
"text": "Hello from Beamvia!"
},
"status": "PENDING",
"isPrivate": false,
"replyTo": null,
"external": {
"id": null
},
"sentAt": "2026-10-20T08:00:00.000Z"
}
}
}Jenis konten
Bentuk konten yang sama dipakai untuk semua kanal. Jenis yang tidak didukung kanal atau paket akan ditolak.
| type | Field |
|---|---|
| TEXT | text |
| IMAGE · VIDEO · DOCUMENT | file { url, mimetype, filename?, driveId? }, caption? |
| AUDIO | file, isVoice? |
| STICKER | file |
| LOCATION | latitude, longitude, name?, address? |
| CONTACT | name, phone?, email? |
| REACTION | messageId (external id), emoji |
Media harus berupa URL yang bisa diakses publik (alamat privat/lokal dan redirect ditolak, maksimal 100 MB). File diunduh dan dikirim oleh kanal.
Atau isi driveId untuk mengirim file yang sudah ada di drive workspace kamu (diunggah dari dashboard). File milik workspace lain ditolak dengan "File not found". URL file yang kamu terima (API, webhook, plugin) adalah link tetap: tetap berlaku sampai file-nya dihapus.
Status pengiriman
Pesan diantrekan lalu melewati status berikut. Langganan MESSAGE_UPDATED untuk mengikutinya.
| status | Arti |
|---|---|
| PENDING | Dalam antrean, belum diserahkan ke kanal |
| SENT | Diterima oleh kanal |
| DELIVERED | Sampai di perangkat penerima |
| READ | Dibaca oleh penerima |
| FAILED | Gagal setelah percobaan ulang; lihat error |