Printfriendly

Deploy whatsapp api free di heroku

السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ

"API atau Application Programming Interface adalah sebuah interface yang dapat menghubungkan aplikasi satu dengan aplikasi lainnya. Jadi, API berperan sebagai perantara antar berbagai aplikasi berbeda, baik dalam satu platform yang sama atau lintas platform." www.niagahoster.co.id

Sebelum pembahasan lebih lanjut, silahkan ikuti artikel sebelumnya Seri Node-red & Heroku #1: Membuat Account Heroku. Source code whatsapp api penulis ambil dari github  https://github.com/pranavms13/whatsapp-node-api yang kemudian penulis modifikasi dan menambahkan swagger, dan check auth ketika get dan post message.
Whatsapp API ini bersifat free tetapi membutuhkan hosting sendiri, bisa hosting ke pihak ketiga(yang support nodejs tentunya) seperti heroku atau deploy di VPS (Virtual private Server)

Yang dibutuhkan adalah smartphone dengan whatsapp yang telah terinstall, whatsapp ini akan digunakan sebagai sender atau pengirim dan selalu on 24 jam. 

Pertama-tama tes dahulu di lokal PC (membutuhkan koneksi internet), langkah-langkahnya sebagai berikut
  1. Sebelumnya download dan install github for windows (jika memakai OS windows) disini https://git-scm.com/downloads
  2. Download dan Install heroku-cli disini https://devcenter.heroku.com/articles/heroku-cli#download-and-install (sesuaikan dengan OS)
  3. Download dan Install nodejs sesuai OS yang digunakan, pilih yang versi LTS https://nodejs.org/en/download/
  4. Sebelumnya login dahulu heroku di browser https://heroku.com/login
  5. Buka command promt terlebih dahulu (untuk membuat folder baru di cmd bisa mengetik mkdir nama-folder  dan cd nama-folder untuk membuka folder/mengganti current directory)
  6. Ketik git clone https://github.com/ismaillowkey/nodejs-whatsapp-api.git

  7. kemudian ketik cd nodejs-whatsapp-api untuk mengganti current directory dan ketik npm install  untuk menginstall semua package dan tunggu sampai selesai

  8. Jalankan perintah npm start dan tunggu sampai muncul seperti gambar dibawah

  9. Buka google chrome dan ketik di address bar http://localhost:4000/auth/getqr maka akan muncul QR code


  10. Buka aplikasi whatsapp pada android/ios dan buka Whatsapp web kemudian scan QR code diatas. Scan QR tersebut betujuan untuk login dan digunakan sebagai sender/pengirim pada Whatsapp API
  11. Jika mendapat pesan seperti gambar dibawah, itu disebabkan karena QR code expired silahkan refresh halaman QR code dan scan kembali


  12. Setelah berhasil Scan QR code di whatsapp api, di browser ketik di address bar http://localhost:4000/ maka secara otomatis akan diarahkan ke http://localhost:4000/api-docs 


  13. Untuk testing API bisa menggunakan swagger pada web diatas, atau menggunakan software pihak ketiga seperti postman https://www.postman.com/downloads/
  14. Kita testing pada browser, tes mengirim pesan ke nomor whatsapp tertentu, ikuti seperti gambar dibawah

  15. Klik Execute

  16. Scroll kebawah dan cari response body, jika status "success" maka pesan berhasil dikirim

  17. Jika muncul respon seperti ini, maka belum melakukan scan QR, kembali ke step 9

  18. Selesai. jika berhasil dijalankan di local PC maka langkah selanjutnya deploy ke Heroku

Alur whatsapp API seperti gmabr dibawah, dengan deloy ke hosting seperti heroku maka alat seperti mikrokontroller, node-red atau PLC yang support HTTP client, dapat langsung POST data ke whatsaap API dimanapun asal memiliki koneksi internet

Untuk deploy ke heroku silahkan login terlebih dahulu dan ikuti langkah-langkah dibawah

  1. Buka dahsboard heroku https://dashboard.heroku.com
  2. Kemudian di pojok kanan atas klik New dan klik Create new app
  3.  Beri nama app (bebas), contoh nama appnya ismaillowkey-wa-api maka URL appnya akan menjadi http://ismaillowkey-wa-api.herokuapp.com


  4. Klik menu tab Settings 

  5. Kemudian cari Buildpack dan klik Add Buildpack dan tambahan heroku/nodejs kemudian Save changes

  6. Tambahkan kembali https://github.com/jontewks/puppeteer-heroku-buildpack

  7. Sehingga terdapat 2 buildpack

  8. Scroll keatas dan klik menu tab Deploy dan pilih Heroku Git

  9. Scroll ke bawah maka akan muncul perintah heroku, perhatikan perintah heroku git:remote -a ismaillowkey-wa-api. pada perintah ismaillowkey-wa-api adalah nama app yang tadi dimasukkan 

  10. Di cmd step 7 pada bagian atas tutorial ketik git init 

  11. Selanjutnya kita remote git Heroku dengan perintah heroku git:remote -a ismaillowkey-wa-api (sesuaikan  dengan perintah yang didapat di heroku)

  12. Ketik perintah git add .  (ada tanda titik, diketik juga), jika tidak muncul seperti dibawah, abaikan.

  13. Ketik git commit -am "first commit" . "first commit" adalah pesan untuk commit (bebas)

  14. Kemudian kita push ke heroku dengan perintah git push heroku master dan tunggu sampai selesai

  15. Setelah deploy, kita lihat lognya 


  16. Jika terdapat log seperti dibawah maka app whatsapp api berhasil berjalan

  17. Di browser ketik http://nama-app-anda.herokuapp.com pada artikel ini URL app yang didapat adalah http://ismaillowkey-wa-api.herokuapp.com (pastikan http bukan https)

  18. Sekarang scan QR code dengan aplikasi whatsapp di android/ios. buka http://ismaillowkey-wa-api.herokuapp.com/auth/getqr. URL ismaillowkey.wa-api sesuaikan dengan nama app yang dibuat
  19. Selesai

Source code ini masih under development, jadi masih ada beberapa bugs

Artikel selanjutnya akan kita tes dengan ESP32 dan/atau ESP8266(nodemcu)

Good Luck
Semoga bermanfaat. Bantu kami dengan mengklik salah satu iklan di blog ini
وَعَلَيْكُمْ السَّلاَمُ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ

0 komentar "Deploy whatsapp api free di heroku", Baca atau Masukkan Komentar

Post a Comment

Jika artikel ini bermanfaat bisa dishare gan, tapi ingat selalu cantumkan sumber jika ingin copas artikel ini