BoostifyHub.docs

Plugin dan webhook


Plugin dan webhook

plugin dan webhook

Bot chat dengan AI

Untuk membuat chat yang terhubung dengan open ai, pastikan anda sudah memiliki api key https://openai.com atau api key gemini.google.com (gemini) , dan pastikan juga instance anda memiliki langganan yang support ke plugin.

Jika sudah , masuk ke halaman instances dan klik tombol plugin di instance yang anda inginkan 

Pilih ai yang diinginkan, jika ingin memakai openai maka input api key di openai, dan aktifkan togglenya,

begitu juga jika ingin gunakan gemini ai. kemudian klik update untuk menyimpan perubahan.

 

setelah tersimpan, maka bot ai dapat di gunakan dengan keyword /start-ai untuk memulai, dan /stop-ai untuk berhenti

Google Sheet auto respon

 

Buat doc spreadsheet di docs.google.com dengan format A untuk keyword, dan B untuk respond 

Lalu save dan copy url nya secara publik 

kemudian input link tersebut ke form spreadsheet di plugin instancenya,

masuk ke halaman instances di boostifyhub.id , lalu klik tombol plugin di instannce terkait 

input url spreadsheet dan aktifkan togglenya

Jika sudah, klik update untuk menyimpan, maka auto respon sudah bisa di coba.

Webhook Pesan Masuk

Kami mengirimkan setiap pesan masuk ke url webhook yang sudah anda set di boostifyhub.id , untuk dokumentasi lengkap webhook,anda bisa membaca di https://boostifyhub.id/https://boostifyhub.id/docs

 

Berikut contoh code menerima webhook pesan dengan PHP :

    

<?php
// Accept webhook request
header('Content-Type: application/json');

$data = json_decode(file_get_contents('php://input'), true);

if (empty($data)) {
   echo json_encode(['message' => 'empty data']);
   die;
}

// Extracting data from the webhook
$name = $data['name']; // nama whatsapp pengirim
$from = $data['from']; // nomor wa pengirim
$groupId = $data['groupId']; // id group jika pengirim adalah group, default null
$message = $data['text']; // isi pesan
$file = $data['file']; // file jika ada
$location = $data['location']; // location jika ada

// Menyimpan log pesan
file_put_contents('webhook.log', json_encode($data) . PHP_EOL, FILE_APPEND);

// Setelah menangkap pesan, anda bisa mengolah data seperti input ke database atau balas pesan dengan mengirim api

// Contoh mengirim pesan
function sendMessage($target, $message, $media = null) {
   $curl = curl_init();
   curl_setopt_array($curl, array(
       CURLOPT_URL => "https://api.boostifyhub.id/send",
       CURLOPT_RETURNTRANSFER => true,
       CURLOPT_ENCODING => "",
       CURLOPT_MAXREDIRS => 10,
       CURLOPT_TIMEOUT => 30,
       CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
       CURLOPT_CUSTOMREQUEST => "POST",
       CURLOPT_POSTFIELDS => json_encode([
           'target' => $target,
           'message' => $message,
           'media' => $media
       ]),
       CURLOPT_HTTPHEADER => array(
           "Content-Type: application/json",
           "Authorization: Bearer YOUR_API_KEY" // replace with your API key
       ),
   ));

   $response = curl_exec($curl);
   $err = curl_error($curl);
   curl_close($curl);

   if ($err) {
       echo "cURL Error #:" . $err;
   } else {
       echo $response;
   }
}


 

 


Berikut contoh node js :
 

const express = require('express');
const fs = require('fs');
const axios = require('axios');
const app = express();

app.use(express.json());

app.post('/webhook', async (req, res) => {
   const data = req.body;
   if (!data) {
       return res.json({ message: 'empty data' });
   }

   const { name, from, groupId, text: message, file, location } = data;

   fs.appendFileSync('webhook.log', JSON.stringify(data) + '\n');

   async function sendMessage(target, message, media = null) {
       const response = await axios.post("https://api.boostifyhub.id/send", {
           api_key: 'ccf29bb02b7c313d84a32d651e81006b',
           target,
           content: message,
           media,
           messageType: 'text'
       });
       return response.data;
   }

   if (message === "halo bro") {
       await sendMessage(from, `Oi,halo ${name}`);
   }

   res.json({ message: 'this is webhook' });
});

app.listen(3000, () => console.log('Server running on port 3000'));
 



   


    

    

    

Webhook Koneksi dan status instance

Setiap ada perubahan status instance atau koneksi instance,kami akan mengirim data ke url webhook yang sudah anda set di boostifyhub.id,

untuk data apa saja yang kami kirim ,anda bisa baca di https://boostifyhub.id/docs

 

Berikut contoh penerimaan webhook menggunakan PHP :

 

<?php  

header('Content-Type: application/json');
$data = json_decode(file_get_contents('php://input'), true);
if (empty($data)) {
   echo json_encode(['message' => 'empty data']);
   die;
}
$event = $data['event'];
$dataEvent = $data['data'];

// Cek jenis event
// Jika event adalah status instance
if ($event === "status.instance") {
   $instance = $dataEvent['instance']; // Nama instance
   $status = $dataEvent['status']; // Status terbaru instance
   $reason = $dataEvent['reason']; // Alasan perubahan status
}

// Jika event adalah pembaruan koneksi
if ($event === "connection.update") {
   $instance = $dataEvent['instance']; // Nama instance
   $state = $dataEvent['state']; // State koneksi seperti connecting, open, atau close
}


 

Webhook Group

ketika ada perubahan dalam group seperti perubahan deskripsi, perubahan member (keluar ,masuk ,dsb), kami juga akan mengirim data ke webhook yang telah di set di boostifyhub.id  ,anda dapat membaca dokumentasi lengkap di https://boostifyhub.id/docs

 

Berikut contoh code penerimaan webhook dengan php

 

 

<?php

header('Content-Type: application/json');
$data = json_decode(file_get_contents('php://input'), true);
if (empty($data)) {
   echo json_encode(['message' => 'empty data']);
   die;
}
$event = $data['event'];
$dataEvent = $data['data'];

// event perubahan member group
if ($event === "group-participants.update") {
   $groupId = $dataEvent['id']; // ID grup
   $author = $dataEvent['author']; // Nomor WhatsApp yang memicu perubahan
   $participants = $dataEvent['participants']; // Daftar anggota grup terkait
   $action = $dataEvent['action']; // Tindakan yang dilakukan
   
}

// Penanganan event `groups.update`
if ($event === "groups.update") {

       $groupId = $dataEvent['id']; // ID grup
       $subjectOrDesc = $dataEvent['subject']; // Subjek atau deskripsi terbaru
       $author = $dataEvent['author']; // Nomor yang memicu perubahan
   
  
}
echo json_encode(['message' => 'Unknown event']);