Skip to main content

Kirim Pesan

Kirim pesan teks dengan lampiran media opsional ke pelanggan melalui WhatsApp.

Endpoint

POST /agent/message

Request Headers

HeaderValueDeskripsi
AuthorizationBearer tokenToken autentikasi yang diperoleh dari Profile Anda setelah login ke CMS
Content-Typeapplication/jsonMenentukan format body request

Request Body

ParameterTypeRequiredDeskripsi
deviceIDStringYaID perangkat WhatsApp untuk mengirim dari (contoh: "62851851xxxxxx")
phoneNumbersStringYaNomor telepon penerima dalam format internasional (contoh: "62896058xxxxx") atau Group JID (contoh: "120363403631546669@g.us")
messageStringYaTeks pesan yang akan dikirim
attachmentDataStringTidakData lampiran yang diencode base64
attachmentMimeStringTidakTipe MIME lampiran (contoh: "image/jpeg", "application/pdf")
attachmentNameStringTidakNama file lampiran (diperlukan untuk dokumen)
attachmentTypeStringTidakTipe lampiran: "image", "document", atau "audio"

Contoh Request

Pesan Teks Saja

{
"deviceID": "62851851xxxxxx",
"phoneNumbers": "62896058xxxxx",
"message": "Hello! This is a test message from SatuConnect API."
}

Pesan dengan Lampiran Gambar

{
"deviceID": "62851851xxxxxx",
"phoneNumbers": "62896058xxxxx",
"message": "Check out this image!",
"attachmentData": "/9j/4AAQSkZJRgABAQEAYABgAAD...",
"attachmentMime": "image/jpeg",
"attachmentType": "image"
}

Pesan dengan Lampiran Dokumen

{
"deviceID": "62851851xxxxxx",
"phoneNumbers": "62896058xxxxx",
"message": "Please find the document attached.",
"attachmentData": "JVBERi0xLjQKJebrjebrjebr...",
"attachmentMime": "application/pdf",
"attachmentName": "document.pdf",
"attachmentType": "document"
}

Pesan dengan Lampiran Audio

{
"deviceID": "62851851xxxxxx",
"phoneNumbers": "62896058xxxxx",
"message": "Voice message attached.",
"attachmentData": "UklGRkQAAQBXQVZFZm10IBAA...",
"attachmentMime": "audio/mpeg",
"attachmentType": "audio"
}

Pesan ke Grup WhatsApp

{
"deviceID": "62851851xxxxxx",
"phoneNumbers": "120363403631546669@g.us",
"message": "Hello everyone! This is a message to the group."
}

Response

Success Response

{
"status": true,
"message": "Message sent successfully",
"data": {
"id": "12345678-abcd-1234-efgh-123456789012",
"timestamp": "2025-06-22T10:15:30.123Z"
}
}

Error Response

{
"status": false,
"message": "Error description",
"error": {
"code": "ERROR_CODE",
"details": "Additional error details"
}
}

Catatan Penggunaan

  • Nomor telepon harus dalam format internasional tanpa tanda plus atau spasi
  • Untuk mengirim ke grup: Gunakan Group JID dengan format <group-id>@g.us (contoh: 120363403631546669@g.us). Anda bisa mendapatkan Group JID menggunakan endpoint Get Group Information
  • Teks pesan mendukung format dasar
  • Panjang pesan maksimum adalah 4096 karakter
  • Dukungan Lampiran:
    • Semua field lampiran bersifat opsional - jika tidak disediakan, hanya pesan teks yang akan dikirim
    • attachmentData harus diencode base64
    • attachmentType harus salah satu dari: "image", "document", atau "audio"
    • attachmentName diperlukan ketika attachmentType adalah "document"
    • Format gambar yang didukung: JPEG, PNG
    • Format dokumen yang didukung: PDF, DOC, DOCX, XLS, XLSX, PPT, PPTX, TXT
    • Format audio yang didukung: MP3, AAC, AMR, OGG
    • Ukuran lampiran maksimum: 2MB untuk gambar, 10MB untuk dokumen, 5MB untuk audio
  • Untuk mengirim ke beberapa penerima sekaligus, silakan gunakan endpoint Kirim Pesan Massal