Pesan Dokumen

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 pesan dokumen

Webhook anda akan menerima data secara real time dari sistem kami ketika ada pesan dokumen file yang masuk, berikut payload yang akan diterima oleh webhook anda.


{
    "device": "62812345678",
    "messageid": "3EB09A481AB11F3276BA11",
    "type": "document",
    "messagebody": "Ini adalah pesan dokumen file csv",
    "profilename": "Wa Vave",
    "from": "62812345678",
    "isForwarded": false,
    "dataMedia": [
        {
            "mimetipe": "text/csv",
            "fileName": "File2025.csv",
            "contactVcard": false,
            "url": "data:text/csv;base64"
       }
    ],
}

Penjelasan pesan dokumen

Properti Nilai Deskripsi
device Number Perangkat anda yang terhubung dengan Wa Vave dalam format internasional : 628123456789
from Number Nomor whatsapp pengirim
profilename String Nama pengirim
messageid String ID pesan unik yang dapat anda simpan di aplikasi
isForwarded Boolean Bernilai "true" jika pesan hasil "Diteruskan" oleh pengguna
dataMedia Array of Objects Jika anda menerima pesan dokumen maka file media tersebut akan dilampirkan disini
mimetipe String Jenis MIME dari file media yang anda terima
fileName String Nama file dokumen yang dikirim oleh pengguna
contactVcard Boolean Menunjukkan apakah file merupakan kontak vCard
url String Data media dalam format URL berbasis Base64 yang dapat diproses atau digunakan sesuai kebutuhan