Status Perangkat

Mengatur Endpoint

Untuk mulai menggunakan webhook, anda perlu mengatur url webhook pada perangkat anda yang sudah terhubung di Wa Vave, Url webhook ini akan menerima data dari sistem kami setiap kali peristiwa terjadi,

Url webhook ini harus menerima permintaan POST dengan payload JSON.

Menangani Permintaan

Salin kode dibawah dan simpan di server anda dengan nama file misalnya webhook.php

         
<?php
header('Content-Type: application/json; charset=utf-8');

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

$apiKey = 'YOUR_API_KEY'; // API Key

if ($data) {
    $device = $data['device'] ?? '';
    $from = $data['from'] ?? '';
    $profilename = $data['profilename'] ?? '';
    $messageid = $data['messageid'] ?? '';
    $type = $data['type'] ?? ''; // text, textreply, imagereply, image, video, document, audio, sticker, location, interactive, reaction
    $messagebody = $data['messagebody'] ?? '';
    $isForwarded = $data['isForwarded'] ?? '';
    $dataMedia = $data['dataMedia'] ?? '';
    $group = $data['group'] ?? '';
    $button = $data['button'] ?? '';
    $MessagesDelete = $data['MessagesDelete'] ?? '';
    $CatalogDetails = $data['CatalogDetails'] ?? '';
    $dataforwarded = $data['dataforwarded'] ?? '';
    $locationName = $data['locationName'] ?? '';
    $Latitude = $data['Latitude'] ?? '';
    $Longitude = $data['Longitude'] ?? '';
    $reactionsid = $data['reactionsid'] ?? '';
    $deviceStatus = $data['deviceStatus'] ?? '';
    $code = $data['code'] ?? '';
    $reason = $data['reason'] ?? '';
    $status = $data['status'] ?? '';
    
    $dataMedia = json_encode($dataMedia, JSON_UNESCAPED_SLASHES);
    $messagebody = json_encode($messagebody, JSON_UNESCAPED_UNICODE);
  
    function KirimPesan($to, $pesan, $device, $type, $url, $delay, $apiKey) {
        $data = json_encode([
            'from' => $device,
            'to' => $to,
            'message' => $pesan,
            'Type' => $type,
            'url' => $url,
            'delay' => $delay
        ]);

        // Endpoint API
        $endpoint = 'https://api.wavave.com/v1/send';

        $ch = curl_init($endpoint);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
        curl_setopt($ch, CURLOPT_HTTPHEADER, [
            'Content-Type: application/json',
            'Content-Length: ' . strlen($data),
            'Authorization: Bearer ' . $apiKey
        ]);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

        $response = curl_exec($ch);
        curl_close($ch);

        return $response;
    }

    $from = 62812345678; // Sesuaikan dengan nomor pengirim Anda
    $pesan = "Halo $profilename, ini adalah balasan otomatis!";
    $delay = 5; // 5 detik
    $jenispesan = 'text'; // text atau media
    $target = $data['from'] ?? ''; // Nomor penerima

    $response = KirimPesan($target, $pesan, $from, $jenispesan, $url, $delay, $apiKey);
    echo $response;

} else {
    echo json_encode(['error' => 'No data received']);
}
    

Tangani status perangkat

Webhook anda akan menerima data secara real time dari sistem kami ketika sesuatu terjadi pada perangkat anda, misalnya perangkat terputus koneksinya atau terhubung dengan aplikasi, berikut payload yang akan diterima oleh webhook anda.


{
    "device": "62812345678",
    "deviceStatus": "connect",
    "profilename": "Wa Vave",
    "code": "200",
    "reason": "Terhubung"
}

Penjelasan Status Perangkat

Properti Nilai Deskripsi
device Number Perangkat anda yang terhubung dengan Wa Vave dalam format internasional : 628123456789
profilename String Nama yang tertera pada perangkat terhubung
code Number 200 : Perangkat berhasil terhubung
401 : Terputus dari perangkat anda
429 : Masa berlaku akun sudah habis
403 : Akun whatsapp terkena blokir whatsapp
440 : Server whatsapp memutus koneksi saat mendeteksi sesi ganda (conflict)
503 : WhatsApp (Web) streaming server sedang tidak dapat memproses koneksi anda (bisa karena maintenance, overload, atau masalah jaringan di server whatsapp
deviceStatus String Menunjukan status perangkat anda pada sistem kami
connect
disconnect
reason String Penjelasan singkat mengenai penyebab error pada perangkat anda, Sebelumnya sistem kami telah mencoba menghubungkan akun anda, namun upaya tersebut gagal sehingga muncul error ini.
Terhubung : Status perangkat anda berubah menjadi connect
Terputus : Status perangkat anda berubah menjadi disconnect
limit : Status perangkat anda berubah menjadi disconnect
expired : Status perangkat anda berubah menjadi disconnect
Connection Terminated : Status perangkat anda berubah menjadi disconnect
blocked : Status perangkat anda berubah menjadi disconnect
conflict : Status perangkat anda berubah menjadi disconnect
Service Unavailable : Status perangkat anda berubah menjadi disconnect