Chatbot statis berguna untuk menjawab pertanyaan user yang hanya membutuhkan informasi-informasi umum, seperti FAQ.
Namun untuk informasi yang bersifat dinamis, seperti ketersediaan stok, harga yang berubah-ubah, detail profil user, dan sebagainya, dashboard fonnte tidak bisa membantu lebih jauh.
Disinilah penggunaan webhook akan berguna.
Kamu bisa membuat informasi apapun yang dibutuhkan secara dinamis dan realtime langsung dari database dengan menggunakan webhook
Tutorial ini memerlukan pemahaman dasar tentang bahasa pemrograman PHP. Kalau kamu belum memiliki pengalaman menuliskan kode atau tidak tahu harus melakukan apa, sebaiknya pertimbangkan untuk menggunakan jasa developer.
Prasyarat
Sebelum menggunakan API ini, kamu harus mendaftar kalau belum punya akun, kemudian login dan tambah device.
Copy token (API key) yang ada di menu device untuk digunakan sebagai authorization saat mengirimkan API.
Lalu, konekkan device sebelum mulai mengirimkan pesan.
Gunakan libcurl terbaru dengan versi PHP diatas 7.1 sebagaimana diperlukan dalam sebagai requirement oleh PHP.
Referensi API lengkap ada di halaman dokumentasi fonnte dan postman.
Kode webhook
Dengan menggunakan webhook fonnte, kamu bisa membuat whatsapp bot secara dinamis sesuai dengan isi database.
Tapi tidak perlu khawatir, kami tidak bisa mengakses database yang dipakai.
Semua kode tetap berada di server sendiri.
Kamu hanya perlu menginput url filenya ke inputan webhook di menu device->edit
Pertama-tama, copy kode dibawah ini
<?php
header('Content-Type: application/json; charset=utf-8');
$json = file_get_contents('php://input');
$data = json_decode($json, true);
$device = $data['device'];
$sender = $data['sender'];
$message = $data['message'];
$member= $data['member']; //group member who send the message
$name = $data['name'];
$location = $data['location'];
//data below will only received by device with all feature package
//start
$url = $data['url'];
$filename = $data['filename'];
$extension= $data['extension'];
//end
function sendFonnte($target, $data) {
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.fonnte.com/send",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => array(
'target' => $target,
'message' => $data['message'],
'url' => $data['url'],
'filename' => $data['filename'],
),
CURLOPT_HTTPHEADER => array(
"Authorization: TOKEN"
),
));
$response = curl_exec($curl);
curl_close($curl);
return $response;
}
if ( $message == "test" ) {
$reply = [
"message" => "working great!",
];
} elseif ( $message == "image" ) {
$reply = [
"message" => "image message",
"url" => "https://filesamples.com/samples/image/jpg/sample_640%C3%97426.jpg",
];
} elseif ( $message == "audio" ) {
$reply = [
"message" => "audio message",
"url" => "https://filesamples.com/samples/audio/mp3/sample3.mp3",
"filename" => "music",
];
} elseif ( $message == "video" ) {
$reply = [
"message" => "video message",
"url" => "https://filesamples.com/samples/video/mp4/sample_640x360.mp4",
];
} elseif ( $message == "file" ) {
$reply = [
"message" => "file message",
"url" => "https://filesamples.com/samples/document/docx/sample3.docx",
"filename" => "document",
];
} else {
$reply = [
"message" => "Sorry, i don't understand. Please use one of the following keyword :
Test
Audio
Video
Image
File",
];
}
sendFonnte($sender, $reply);
Fungsi sendFonnte bisa menggunakan seluruh API parameter yang tersedia di API fonnte
Kamu bisa mendapatkan data dari database dan membuat balasannya.
Kemudian. simpan kode ini dan input absolute urlnya ke inputan webhook di menu device->edit.
Url ini wajib bersifat public.
Contoh : https://fonnte.com/urlwebhook.php
Yang terakhir dan yang paling penting adalah mengubah setting autoread ke on.
Setting ini ada dibawah inputan url webhook.
Dengan demikian, devicenya sudah bisa membalas pesan whatsapp dengan dinamis.
apakah fonnte ini hanya mendukung bahasa pemrograman php? bagaimana jika membuat chatbot dengan berbasis python, apakah bekerja dengan baik?
untuk artikel ini saya memberikan tutorial menggunakan php, tapi pada prinsipnya bisa digunakan di semua bahasa, hanya saja perlu implementasi mandiri
jika menggunakan broadcast ke banyak nomor…apakah tidak di blokir oleh pihak whatsapp
Peluang di banned tetap ada mas
berarti ini bang, untuk webhooknya tidak berfungsi ya kalau masih paket free?
bisa aja mas, semua paket sama aja kok fiturnya, termasuk yang free.
bisa
Mau nanya min, misalnya kalau ada http request selain dari fonnte ke webhook server kita kan harusnya kita kasih semacam signature gitu ya kan? Tapi masalahnya gk ada signature yg dikirim fonnte ke webhook kita dan di kita juga ada credential pembanding, bisa jadi nanti ada request dari luar fonnte yang ngasih request ke dalam webhook kita jadi bahaya nih, jadi gimana ya? Soalnya kalau di payment gateway mereka ada semacam signature/tanda tangan dari kode transaksi tertentu, jadi di fonnte gk ada ngirimin credential gitu?
untuk signature belum ada mas di webhook memang, nanti bakal diupdate. sudah ada di roadmap, cuma belum dibuat fiturnya, masih nunggu antrian dari fitur2 lainnya dulu
Saya mencoba di beberapa aplikasi saya sudah berhasil kirim WA ke personal. Yang saya tanayakan, bagaimana caranya jika kirim WAnya ke Group WA ?? Mohon Pencerahannya, terimakasih..
di targetnya tinggal diisi id groupnya aja mas. ikuti tutorial ini mas : https://www.youtube.com/watch?v=BgTXKCPKziE
Kak bgmn caranya menyimpan file yang dikirim ke webhook di server webhook sehingga bisa diolah lebih lanjut?
bisa ikuti dokumentasinya ya mas : https://docs.fonnte.com/webhook-get-attachment/
note : buat nerima attachment, paketnya juga harus support attachment
di paket free kita tidak bisa mengirim attachment, tapi apakah di webhook ini kita bisa menerima attachment ?
engga bisa mas, attachment cuma bisa dikirim dan diterima pake paket yang support attachment
baik kak, apakah chat bot ini bisa di gunakan di group WA kak, misal user mengirim pesan dan gambar ke group WA lalu saya bisa menerima pesan dan gambar dari group WA melalui webhook yang sudah saya buat ?
ya bisa bisa aja mas, ga ada masalah selama paketnya support kirim/terima file. perhatikan juga batasan filenya : https://docs.fonnte.com/file-limitation/
mas, apakah fonnte bisa melakukan auto reply dari data spreadsheet sesuai kategori/kondisi tertentu ?
misal untuk mengecek nilai seorang siswa, ketik NILAI#NIS maka nanti akan menampilkan NILAI sesuai NIS tersebut.
terimakasih
bisa mas, tapi pake webhook, perlu ngoding dan buat logic mandiri mas