Tutorial Membuat WhatsApp API Menggunakan Library Baileys Adiwajshing

WhatsApp adalah aplikasi pesan instan yang memungkinkan pengguna untuk mengirim dan menerima pesan teks, gambar, video, dan suara. Aplikasi ini juga memungkinkan pengguna untuk membuat dan bergabung dengan grup, membuat panggilan video, dan mengirim pesan ke kontak lain.

Saat ini WhatsApp sudah menjadi kebutuhan harian kita dalam melakukan komunikasi secara online, sudah bisa menggantikan aplikasi sms dan panggilan bawaan dari HP, hebat ya. Banyak usaha yang melibatkan WhatsApp sehingga memerlukan aplikasi tambahan/program untuk menangani customernya yang sangat banyak.

Kali ini kita akan mulai membuat service API yang bisa digunakan untuk mengirim pesan WhatsApp dari sistem, bisa digunakan untuk mengirim OTP ataupun mengirim pesan notifikasi lainnya. Ikuti langkah-berikut:

1. Install library Baileys, and other

Hal pertama yang harus kamu lakukan yaitu menginstall library baileys, dan yg lainnya. Salin dan tempel kode berikut di terminal kamu yang sudah terinstall NPM

Install Baileys

npm install @adiwajshing/baileys

Install Express

npm install express

Install qrcode-terminal

npm install qrcode-terminal

2.  Buat file index.js

Kali ini kita akan membuatnya simpel hanya dalam 1 file.

a. Gunakan dependencies yang dibutuhkan

Panggil semua library yang udah kita install sebelumnya

const { default: makeWASocket, DisconnectReason, Browsers, useMultiFileAuthState } = require('@adiwajshing/baileys');
const fs = require('fs');
const express = require("express");
const bodyParser = require("body-parser");

b. Buat fungsi untuk menghubungkan WhatsApp

Bagian ini cukup penting, karena berisi konfigurasi yang akan menghubungkan WhatsApp kamu agar bisa digunakan untuk mengirim pesan.

async function connectToWhatsApp () {
  const { state, saveCreds } = await useMultiFileAuthState(`sessions/mas2it`)


  client = makeWASocket({
    printQRInTerminal: true,
    auth: state,
    version: [2, 2204, 13],
    browser: Browsers.ubuntu('Chrome')
  });

  client.ev.on('creds.update', saveCreds);
  client.ev.on('connection.update', function (update, connection2) {
    let _a, _b;
    let connection = update.connection, lastDisconnect = update.lastDisconnect;
    if (connection === 'close') {
      if (((_b = (_a = lastDisconnect.error) === null || _a === void 0 ? void 0 : _a.output) === null || _b === void 0 ? void 0 : _b.statusCode) !== DisconnectReason.loggedOut) {
        connectToWhatsApp()
      }
      else {
        console.log('connection closed');
        fs.rmdir(`sessions/mas2it`, { recursive: true }, (err) => {
          if (err) {
            throw err;
          }
          console.log(`session is deleted`);
        });
      }
    }
    if (connection === 'open') {
      console.log("WhatsApp Connected")
    }
  });
}

connectToWhatsApp()

c. Buat Konfigurasi Express

Supaya script kamu bisa berjalan, kamu perlu membuat konfigurasi express dan berjalan di port yang kamu inginkan, contoh berikut berjalan di port 3000.

d. Buat API kirim pesan

Buat API kirim pesan text via API, kamu bisa melihat kodenya dibawah ini

e. Buat Routing

Kamu harus membuat routing agar API kamu bisa diakses, kali ini saya membuatnya dengan /send/message dan menghubungkannya dengan fungsi SendMessage

app.post('/send/message', sendMessage);

---

Jika kamu sudah mengikutinya sampai akhir dan menyimpannya didalam file index.js, kamu cukup menjalankannya dengan perintah node index.js. ketika muncul qrcode, kamu harus scan menggunakan aplikasi WhatsApp seperti kamu menghubungkan dengan WhatsApp Web.

Jika WhatsApp sudah terhubung, kamu akan melihat pesan WhatsApp Connected diterminal, kamu bisa mulai mengirim pesan WhatsApp via API jika sudah terhubung.

Mengirim Pesan WhatsApp via API

URL: http://localhost:3000/send/message

Method: POST

Body:

{
    "message":"Your message",
    "phone":"628123456789"
}

Pada bagian body, kamu harus membuatnya dengan format JSON

Pada bagian phone, kamu harus membawa kode negara didepannya dan diikuti dengan nomor penerima

---

Cukup mudah bukan membuatnya? Tutorial ini masih basic, pada tutorial selanjutnya akan membahas fungsi yang lain dari library ini yang tentunya lebih canggih.

Kalau ada yang mau ditanyain bisa langsung dikolom komentar. Selamat mencoba.

Next Post Previous Post
No Comment
Add Comment
comment url