{"id":1004,"date":"2022-11-08T04:41:43","date_gmt":"2022-11-08T04:41:43","guid":{"rendered":"https:\/\/fonnte.com\/tutorial\/?p=1004"},"modified":"2023-01-02T10:04:09","modified_gmt":"2023-01-02T10:04:09","slug":"membuat-whatsapp-bot-dengan-php","status":"publish","type":"post","link":"https:\/\/fonnte.com\/tutorial\/membuat-whatsapp-bot-dengan-php\/","title":{"rendered":"Membuat whatsapp bot dengan PHP"},"content":{"rendered":"\n<p>Chatbot statis berguna untuk menjawab pertanyaan user yang hanya membutuhkan informasi-informasi umum, seperti FAQ.<\/p>\n\n\n\n<p>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.<\/p>\n\n\n\n<p>Disinilah penggunaan webhook akan berguna.<\/p>\n\n\n\n<p>Kamu bisa membuat informasi apapun yang dibutuhkan secara dinamis dan realtime langsung dari database dengan menggunakan webhook<\/p>\n\n\n\n<div class=\"wp-block-group quote\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<p><em>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.<\/em><\/p>\n<\/div><\/div>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"cara menggunakan webhook untuk membalas pesan whatsapp\" width=\"1200\" height=\"900\" src=\"https:\/\/www.youtube.com\/embed\/huglxjOeu3s?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Prasyarat<\/h2>\n\n\n\n<p>Sebelum menggunakan API ini, kamu harus <a href=\"https:\/\/md.fonnte.com\/new\/register.php\">mendaftar<\/a> kalau belum punya akun, kemudian login dan tambah device.<\/p>\n\n\n\n<p>Copy <a href=\"https:\/\/docs.fonnte.com\/token-api-key\/\" data-type=\"post\" data-id=\"131\">token<\/a> (API key) yang ada di menu device  untuk digunakan sebagai authorization saat mengirimkan API.<\/p>\n\n\n\n<p>Lalu, <a href=\"https:\/\/docs.fonnte.com\/how-to-connect\/\" data-type=\"post\" data-id=\"433\">konekkan device<\/a> sebelum mulai mengirimkan pesan.<\/p>\n\n\n\n<p>Gunakan libcurl terbaru dengan versi PHP diatas 7.1 sebagaimana diperlukan dalam sebagai <a href=\"https:\/\/www.php.net\/manual\/en\/curl.requirements.php\">requirement<\/a> oleh PHP.<\/p>\n\n\n\n<p>Referensi API lengkap ada di halaman <a href=\"https:\/\/docs.fonnte.com\/api-send-message\/\" data-type=\"post\" data-id=\"21\">dokumentasi fonnte<\/a> dan <a rel=\"noreferrer noopener\" href=\"https:\/\/documenter.getpostman.com\/view\/14730548\/2s83zpJLnW#23e6b274-e1ae-4082-82fc-133dc84b481e\" target=\"_blank\">postman<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kode webhook<\/h2>\n\n\n\n<p>Dengan menggunakan webhook fonnte, kamu bisa membuat whatsapp bot secara dinamis sesuai dengan isi database.<\/p>\n\n\n\n<p>Tapi tidak perlu khawatir, kami tidak bisa mengakses database yang dipakai.<\/p>\n\n\n\n<p>Semua kode tetap berada di server sendiri.<\/p>\n\n\n\n<p>Kamu hanya perlu menginput url filenya ke inputan webhook di menu device-&gt;edit <\/p>\n\n\n\n<p>Pertama-tama, copy kode dibawah ini<\/p>\n\n\n\n<pre class=\"wp-block-code code-block\"><code>&lt;?php\r\nheader('Content-Type: application\/json; charset=utf-8');\r\n\r\n$json = file_get_contents('php:\/\/input');\r\n$data = json_decode($json, true);\r\n$device = $data&#91;'device'];\r\n$sender = $data&#91;'sender'];\r\n$message = $data&#91;'message'];\r\n$member= $data&#91;'member']; \/\/group member who send the message\r\n$name = $data&#91;'name'];\r\n$location = $data&#91;'location'];\r\n\/\/data below will only received by device with all feature package\r\n\/\/start\r\n$url =  $data&#91;'url'];\r\n$filename =  $data&#91;'filename'];\r\n$extension=  $data&#91;'extension'];\r\n\/\/end\r\n\r\nfunction sendFonnte($target, $data) {\r\n\t$curl = curl_init();\r\n\r\n\tcurl_setopt_array($curl, array(\r\n\t  CURLOPT_URL => \"https:\/\/api.fonnte.com\/send\",\r\n\t  CURLOPT_RETURNTRANSFER => true,\r\n\t  CURLOPT_ENCODING => \"\",\r\n\t  CURLOPT_MAXREDIRS => 10,\r\n\t  CURLOPT_TIMEOUT => 0,\r\n\t  CURLOPT_FOLLOWLOCATION => true,\r\n\t  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\r\n\t  CURLOPT_CUSTOMREQUEST => \"POST\",\r\n\t  CURLOPT_POSTFIELDS => array(\r\n\t    \t'target' => $target,\r\n\t    \t'message' => $data&#91;'message'],\r\n\t    \t'url' => $data&#91;'url'],\r\n\t    \t'filename' => $data&#91;'filename'],\r\n\t    ),\r\n\t  CURLOPT_HTTPHEADER => array(\r\n\t    \"Authorization: TOKEN\"\r\n\t  ),\r\n\t));\r\n\r\n\t$response = curl_exec($curl);\r\n\r\n\tcurl_close($curl);\r\n\r\n\treturn $response;\r\n}\r\n\r\nif ( $message == \"test\" ) {\r\n\t$reply = &#91;\r\n\t\t\"message\" => \"working great!\",\r\n\t];\r\n} elseif ( $message == \"image\" ) {\r\n\t$reply = &#91;\r\n\t\t\"message\" => \"image message\",\r\n\t\t\"url\" => \"https:\/\/filesamples.com\/samples\/image\/jpg\/sample_640%C3%97426.jpg\",\r\n\t];\r\n} elseif ( $message == \"audio\" ) {\r\n\t$reply = &#91;\r\n\t        \"message\" => \"audio message\",\r\n\t\t\"url\" => \"https:\/\/filesamples.com\/samples\/audio\/mp3\/sample3.mp3\",\r\n\t\t\"filename\" => \"music\",\r\n\t];\r\n} elseif ( $message == \"video\" ) {\r\n\t$reply = &#91;\r\n\t\t\"message\" => \"video message\",\r\n\t\t\"url\" => \"https:\/\/filesamples.com\/samples\/video\/mp4\/sample_640x360.mp4\",\r\n\t];\r\n} elseif ( $message == \"file\" ) {\r\n\t$reply = &#91;\r\n\t\t\"message\" => \"file message\",\r\n\t\t\"url\" => \"https:\/\/filesamples.com\/samples\/document\/docx\/sample3.docx\",\r\n\t\t\"filename\" => \"document\",\r\n\t];\r\n} else {\r\n\t$reply = &#91;\r\n\t\t\"message\" => \"Sorry, i don't understand. Please use one of the following keyword :\r\n\t\t    \r\nTest\nAudio\r\nVideo\r\nImage\r\nFile\",\r\n];\r\n}\r\n\r\nsendFonnte($sender, $reply);<\/code><\/pre>\n\n\n\n<p>Fungsi sendFonnte bisa menggunakan seluruh API parameter yang tersedia di <a href=\"https:\/\/docs.fonnte.com\/api-send-message\/\" target=\"_blank\" rel=\"noreferrer noopener\">API fonnte<\/a><\/p>\n\n\n\n<p>Kamu bisa mendapatkan data dari database dan membuat balasannya.<\/p>\n\n\n\n<p>Kemudian. simpan kode ini dan input absolute urlnya ke inputan webhook di menu device-&gt;edit.<\/p>\n\n\n\n<p>Url ini wajib bersifat public.<\/p>\n\n\n\n<p>Contoh : https:\/\/fonnte.com\/urlwebhook.php<\/p>\n\n\n\n<p>Yang terakhir dan yang paling penting adalah mengubah setting <strong>autoread ke on<\/strong>.<\/p>\n\n\n\n<p>Setting ini ada dibawah inputan url webhook.<\/p>\n\n\n\n<p>Dengan demikian, devicenya sudah bisa membalas pesan whatsapp dengan dinamis.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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 &#8230; <a title=\"Membuat whatsapp bot dengan PHP\" class=\"read-more\" href=\"https:\/\/fonnte.com\/tutorial\/membuat-whatsapp-bot-dengan-php\/\" aria-label=\"More on Membuat whatsapp bot dengan PHP\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":1010,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"slim_seo":{"title":"Cara membuat bot whatsapp menggunakan webhook PHP","description":"Tutorial Cara membuat bot whatsapp menggunakan webhook PHP dengan webhook fonnte"},"footnotes":""},"categories":[2],"tags":[],"class_list":["post-1004","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php"],"_links":{"self":[{"href":"https:\/\/fonnte.com\/tutorial\/wp-json\/wp\/v2\/posts\/1004","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fonnte.com\/tutorial\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fonnte.com\/tutorial\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fonnte.com\/tutorial\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fonnte.com\/tutorial\/wp-json\/wp\/v2\/comments?post=1004"}],"version-history":[{"count":4,"href":"https:\/\/fonnte.com\/tutorial\/wp-json\/wp\/v2\/posts\/1004\/revisions"}],"predecessor-version":[{"id":1032,"href":"https:\/\/fonnte.com\/tutorial\/wp-json\/wp\/v2\/posts\/1004\/revisions\/1032"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fonnte.com\/tutorial\/wp-json\/wp\/v2\/media\/1010"}],"wp:attachment":[{"href":"https:\/\/fonnte.com\/tutorial\/wp-json\/wp\/v2\/media?parent=1004"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fonnte.com\/tutorial\/wp-json\/wp\/v2\/categories?post=1004"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fonnte.com\/tutorial\/wp-json\/wp\/v2\/tags?post=1004"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}