Webhook :
Webhook url berfungsi untuk mengkap data masuk.
Jadi flownya adalah : setiap ada pesan masuk ke WA Bisnis yang terkoneksi di BalasChat, akan di rekap di dashboard balaschat, dan akan dikirimkan ke url webhook yang kamu set pada nomer tersebut.
Jadi kamu perlu menyiapkan url untuk menangkap data tersebut.
Cara settingnya :
ke setting > WA Gateway > dan pasang webhook url pada nomer yang anda inginkan, save changes.

Format data yang akan diterima ketika ada pesan masuk :
json {“device”:”62xxxx”,”from”:”62xxx”,”message”:”isi pesan text”,”attachments”:[]}
Silahkan langsung proses pada script pengolahan lanjutan kamu.
Note : jika mengaktifkan AI BalasChat, setiap pesan yang masuk akan waiting 15 detik untuk proses, pastikan jika ada response, atau send pesan API dilakukan dibawah durasi tersebut. karena ketika kamu mengirimkan pesan dibawah durasi tersebut, AI BalasChat tidak akan melakukan response pada chat, karena dianggap sudah di eksekusi dan tidak ada double jawaban.
SendMessage API :
Untuk mengirim pesan wa ke nomer yang kamu inginkan :
Endpoint URL : /api/waunof/sendmessage
Jika subdomain kamu adalah demo : endpoint url menjadi https://demo.balas.chat/api/waunof/sendmessage
Method : Post
Header : api_token ( dapatkan dari akun balaschat )
Parameter
sender : nomer wa device kamu yang terkoneksi
phone : nomer penerima pesan
message : pesan text yang kamu ingin isi
attachments : string url gambar / file.
Contoh Penerapan pada php :
<?php
// 1. Konfigurasi Endpoint & Token
$url = "https://demo.balas.chat/api/waunof/sendmessage";
$apiToken = "lBYDOSEAdJ"; // Sesuaikan dengan token di bc_get_setting
// 2. Data yang akan dikirim
$data = [
"sender" => "6285356xxxx", // Nomor pengirim yang terdaftar di wa-balas
"phone" => "628228xxx", // Nomor tujuan (penerima)
"message" => "Halo! Ini adalah pesan tes dari script PHP dengan file.",
"attachments" => "https://cdn.balas.chat/uploads/regrow.balas.chat/24-04-26/244501866dddd737696102.jpg"
];
// 3. Inisialisasi cURL
$ch = curl_init($url);
// Konfigurasi JSON Payload
$payload = json_encode($data);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'api_token: ' . $apiToken, // Mengirim token di Header
'Accept: application/json'
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
// 4. Eksekusi dan Ambil Respon
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if (curl_errno($ch)) {
echo 'Error: ' . curl_error($ch);
} else {
echo "### HTTP Status Code: $httpCode \n";
echo "### Response: \n";
print_r(json_decode($response, true));
}
curl_close($ch);