Chatbot statis berguna bagi pengguna yang bertanya yang hanya menginginkan informasi.
Namun untuk informasi yang dinamis, dashboard Fonnte tidak dapat membantu anda lebih jauh.
Kalau begitu, di sinilah webhook kita bersinar!
Anda bisa mendapatkan semua informasi yang anda perlukan dari database anda sendiri dengan webhook.
Tutorial ini mengharuskan anda memahami bahasa pemrograman dasar terutama PHP. Jika anda tidak memiliki pengalaman atau tidak tahu apa yang harus dilakukan, harap pertimbangkan untuk menyewa seorang pengembang.
Catatan khusus : fitur balasan otomatis apa pun tidak akan berfungsi jika anda menggunakan webhook.
Sebelum anda dapat menggunakan webhook ini, anda perlu melakukannya membuat akun, masuk dan buat perangkat.
Salin token sebagai kunci API untuk digunakan di webhook.
Kemudian, menghubungkan perangkat Anda terlebih dahulu sebelum anda dapat melanjutkan untuk mengirim pesan.
Silakan gunakan curl terbaru dengan versi php 7.1++ sebagai requirement.
Jadi membuat chatbot whatsapp menggunakan webhook fonnte akan memungkinkan anda menggunakan data database anda sendiri.
Jangan khawatir, kami tidak dapat mengakses database anda.
Semuanya dikodekan di server anda sendiri.
Satu-satunya yang kami butuhkan adalah url file anda.
Pertama, salin kode 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 :
Hello
Audio
Video
Image
File",
];
}
sendFonnte($sender, $reply);
Fungsi sendFonnte dapat menggunakan parameter API apa pun yang tersedia fonnte's API.
Anda bisa mendapatkan data dari database dan ditetapkan sebagai pesan balasan.
Kedua, simpan kode ini dan masukan file url publik absolut ke masukan webhook.
Contohnya : https://fonnte.com/urlwebhook.php
Itu terletak di menu perangkat->edit.
Bagian terakhir dan terpenting adalah mengaktifkan autoread.
Itu terletak di bawah masukan webhook.
Itu saja, bot whatsapp anda sekarang siap membalas dengan data dinamis.
Sebelum anda dapat mengirim pesan ke grup whatsapp, anda harus mengetahui grup mana yang akan dikirim.
Untuk mendapatkan semua grup yang anda ikuti, ada 2 langkah yang harus dilakukan.
Pertama, perbarui semua daftar grup anda.
Kemudian, dapatkan semua daftar id grup anda dan gunakan sebagai target.
API ini digunakan untuk memperbarui semua grup anda.
API ini hanya boleh dipanggil sekali: saat anda bergabung dengan grup baru atau belum pernah memanggil API ini.
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.fonnte.com/fetch-group',
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_HTTPHEADER => array(
'Authorization: TOKEN'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Baca lagi tentang API update whatsapp group.
Kemudian anda dapat menggunakan API dapatkan grup whatsapp untuk mendapatkan semua id grup.
API ini akan memberi anda daftar semua grup whatsapp yang diperbarui seperti yang diperbarui sebelumnya menggunakan daftar grup whatsapp pembaruan API.
API ini tidak akan mengembalikan apa pun jika anda belum pernah memperbarui grup whatsapp
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.fonnte.com/get-whatsapp-group',
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_HTTPHEADER => array(
'Authorization: TOKEN'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Anda sekarang bisa mendapatkan id dan nama grup.
Id grup akan digunakan sebagai target di kirim pesan API.
Menu ini memberikan informasi tentang perangkat anda.
Bagian sorotan perangkat memberikan informasi cepat tentang perangkat anda
Kemudian pada menu perangkat, anda dapat melihat semua perangkat anda
Seperti yang anda lihat pada gambar di atas, ada 3 bagian yang bisa anda gunakan
Di kanan atas gambar, ada tombol untuk menambahkan perangkat.
Klik tombol ini dan isi formulir.
Yang kedua adalah tombol filter. Tombol-tombol ini sebenarnya tidak bermanfaat bagi anda jika perangkat anda sedikit. ada 5 tombol untuk memfilter perangkat anda
Bagian terakhir adalah daftar perangkat. semua perangkat anda akan tercantum di sini.
Saat anda mengklik pesan, popup ini akan muncul
Anda dapat memilih paket apa saja yang tersedia dan memilih apakah bulanan atau tahunan.
Saat anda mengklik edit, popup ini akan muncul
Anda dapat mengedit nama, webhook, dan pengaturan autoread.
Menu ini digunakan untuk menambahkan kontak dan mengelompokkannya.
Anda dapat menambahkan kontak untuk digunakan nanti atau mengelompokkannya dalam satu grup
Anda dapat menambahkan kontak anda, dipisahkan dengan baris baru.
Contoh :
0822xxxxxx
0895xxxxxx
Masukan ini akan menyimpan 2 kontak
Anda juga dapat menambahkan variabel ke setiap kontak.
Saat ini, fonnte mendukung variabel tidak terbatas.
Variabel pertama adalah nama kontak.
Contoh :
Ini akan disimpan sebagai:
081xxxxxxx
nama : Fonnte
var1 : Indonesia
082xxxxxx
nama : Fonnte
var1 : Indonesia
Variabel-variabel ini dapat digunakan untuk mengirim pesan menggunakan {name},{var1},{var2} dan seterusnya
jika anda telah membuat setidaknya satu grup, anda dapat memasukkan kontak yang diunggah ke grup tersebut.
Setelah anda menyimpan kontak, itu akan muncul di daftar kontak.
Anda dapat mengedit atau menghapusnya.
Sebuah popup akan muncul ketika anda mengklik edit.
Anda dapat mengedit nomor, nama, menambah atau menghapus dari grup dan mengatur variabel.
Variabel harus dipisahkan dengan baris/enter baru.
Anda dapat membuat grup untuk mengelompokkan kontak anda untuk mengirim pesan ke kontak tersebut nanti.
Setelah berhasil membuat grup, grup tersebut akan kami tambahkan ke daftar grup.
Untuk menambahkan kontak ke grup yang sudah ada, anda dapat mengklik edit pada grup dan menambahkan kontak.
Ini mungkin cara yang nyaman untuk mengirim pesan di kemudian hari.
Anda dapat mengirim pesan menggunakan menu ini.
Untuk menggunakan menu ini, anda harus menghubungkan perangkat anda terlebih dahulu.
Pertama-tama, formulir ini mendukung banyak konfigurasi, sehingga terlihat membingungkan pada awalnya.
Jangan khawatir, bidangnya akan dibahas satu per satu.
Bidang ini akan menampilkan semua perangkat anda yang terhubung. Pastikan anda memilih yang tepat.
Perangkat yang terputus tidak akan ditampilkan
Bidang ini merupakan pilihan bagaimana anda akan memasukkan target.
Secara default, field akan memilih input, artinya anda harus memasukkan target secara manual.
Kemudian anda dapat memasukkan target anda.
Jika suatu saat anda perlu mengirim ke lebih dari 1 target, pisahkan setiap target dengan baris baru/enter.
Bidang ini juga mendukung variabel. gunakan | untuk menambahkan variabel
Contoh :
081xxxxxxx|Fonnte|Indonesia
Ini akan menghasilkan variabel {name} dan {var1} yang dapat anda gunakan pada kolom pesan.
Kedua, pilih target dari kontak.
Dengan cara ini, anda dapat mengirim ke kontak tempat anda menyimpan contact menu.
Ketiga, anda dapat memilih untuk mengirim ke grup kontak yang anda buat contact menu.
Lebih mudah mengirim ke banyak kontak dalam satu grup.
Bidang ini digunakan untuk menggantikan angka nol pertama dengan kode negara. (opsional)
Misalnya di Indonesia kebanyakan orang menggunakan 081xxxxxx, maka fonnte akan mengganti kontak menjadi 6281xxxxx.
tentu saja anda dapat mengabaikannya dan menulis nomor lengkap dengan kode negara.
Field ini digunakan untuk menunda pengiriman pesan jika ada lebih dari 1 kontak.
Secara default, diperlukan waktu 5 detik untuk mengirim di antara keduanya.
Field ini digunakan untuk mengunggah media yang akan dikirim dengan/tanpa konteks pesan.
Hanya paket dengan dukungan media yang dapat mengirim media.
Pertimbangkan file limitation aturan saat mengirim lampiran.
Bidang ini digunakan bila anda ingin mengirim pesan nanti.
Anda dapat mengatur waktu pengiriman dengan kolom ini.
Bidang ini digunakan untuk memilih bagaimana anda akan mengirim pesan.
Anda dapat memilih input secara manual atau menggunakan template.
Secara default, bidang ini akan memilih masukan.
Dengan ini, anda dapat memasukkan pesan secara manual.
Anda juga dapat menggunakan variabel dalam pesan.
Jika anda memilih template, anda dapat menggunakan template apa pun yang anda buat di menu template.
Bidang ini digunakan untuk memilih antara pengiriman sekali atau pengulangan selama jangka waktu tertentu.
Secara default, bidang ini dipilih satu kali.
Jika anda memilih untuk mengirim setiap jangka waktu, anda dapat memilih jangka waktu yang anda buat pada menu berulang.
Dengan ini, pesan akan dikirim setiap periode waktu yang ditentukan.
Anda dapat mendaftarkan akun disini
kolom registrasi adalah nomor whatsapp, nama dan kode negara.
setelah mendaftar, anda akan diarahkan ke whatsapp untuk mengirimkan kode registrasi.
lanjutkan untuk mengirim menggunakan nomor registrasi yang sama
jika entah bagaimana dilewati atau nomor sudah terdaftar, coba setel ulang kata sandi.
jika tidak bisa mendaftar, silakan coba lagi jam berikutnya.
Anda akan mendapatkan pesan whatsapp tentang akun dan kata sandi anda, dan diarahkan ke login page.
Diperlukan akun sebelum anda dapat login. jika anda belum memilikinya, silakan mendaftar terlebih dahulu.
Anda bisa masuk disini.
bidangnya adalah nomor akun (nomor whatsapp), kata sandi, kode negara.
setelah login, akan diarahkan ke dashboard.
jika kredensial tidak valid, kata sandi atau nomor akun salah.
coba setel ulang kata sandi.
Jika anda lupa kata sandi, anda selalu bisa mengatur ulang kata sandi.
Anda dapat mengatur ulang kata sandi anda here.
bidangnya adalah nomor akun (nomor whatsapp) dan kode negara.
Anda akan menerima kata sandi baru.
jika error tidak bisa kirim password baru, coba daftar ulang.
Anda akan mendapatkan kata sandi baru anda melalui pesan whatsapp.
Image : "png", "jpg", "jpeg"
File : "xlsx", "xls", "pdf", "doc", "docx", "ppt", "pptx", "csv"
Video : "mp4", "avi"
Audio : "mp3"
API ini digunakan untuk mendapatkan informasi semua perangkat di suatu akun.
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.fonnte.com/get-devices',
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_HTTPHEADER => array(
'Authorization: TOKEN'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Token tersebut bukan token perangkat! Tetapi account token.
Jika anda lebih suka melihatnya di postman, lihat disini.
respon sukses
{
"connected": 0,
"data": [
{
"autoread": "off",
"device": "6287866250310",
"expired": "1707782400",
"name": "tutorial",
"package": "Free",
"quota": "1000",
"status": "disconnect",
"token": "sUqjkKH+UG+@3SmnKrhz"
}
],
"devices": 1,
"messages": 0,
"status": true,
"type": "device"
}
Info :
- pengguna tidak dikenal : token akun anda tidak valid
{
"reason": "unknown user",
"status": false
}