Pesan dibalas
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'] ?? '';
$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 text dibalas dengan pesan text (textreply)
Webhook anda akan menerima data secara real time dari sistem kami ketika ada pesan yang dibalas oleh pengguna,
berikut payload yang akan diterima oleh webhook anda.
{
"device": "628123456789",
"profilename": "Wa Vave",
"from": "628123456789",
"messagebody": "Saya lebih suka warna hitam dan merah kak",
"messageid": "3EB08D4D2F46E53DB43FBB",
"type": "textreply",
"dataforwarded": [
{
"forwarded": "true",
"messagecode": "text",
"conversation": "Halo kak, Saat ini kakak lebih tertarik dengan produk kami yang warna apa ya?",
"OriginalRepliedMessageSid": "3EB06C14ECB154A4A987E5"
},
{
"filereply": "text",
"messagebody": "Saya lebih suka warna hitam dan merah kak"
}
],
}
Penjelasan pesan text dibalas dengan pesan text
Properti | Nilai | Deskripsi |
---|---|---|
device | Number | Perangkat anda yang terhubung dengan Wa Vave dalam format internasional : 628123456789 |
from | Number | Nomor whatsapp yang mengirimi anda pesan dalam format internasional : 628123456789 |
profilename | String | Nama pengirim |
messagebody | String | Isi pesan dari pengirim |
messageid | String | ID pesan unik yang dapat anda simpan di aplikasi |
dataforwarded | Array of Objects | Array yang menyimpan detail pesan yang telah dibalas oleh pengguna terhadap pesan yang sebelumnya anda kirim. Jika pengguna membalas pesan anda dengan pesan gambar,video,audio,sticker atau dokumen maka media tersebut juga akan di lampirkan disini |
forwarded | String | akan selalu bernilai true untuk pesan yang dibalas |
messagecode | String | Pengguna membalas pesan yang sebelumnya anda kirim DAN pesan yang anda kirim tersebut adalah pesan jenis : text/image/audio/video/document/sticker/polling/interactive |
conversation | String | Isi pesan yang sebelumnya anda kirim ke pengguna |
OriginalRepliedMessageSid | String | ID unik pada pesan yang sebelumnya anda kirim ke pengguna |
filereply | String | Jenis pesan yang digunakan oleh pengguna untuk membalas pesan yang sebelumnya anda kirim, Nilainya dapat bervariasi antara lain : text : Pengguna memilih balas pesan anda sebelumnya dengan pesan text biasa image : Pengguna memilih balas pesan anda sebelumnya dengan menyertakan gambar audio : Pengguna memilih balas pesan anda sebelumnya dengan menyertakan pesan suara sticker : Pengguna memilih balas pesan anda sebelumnya dengan menyertakan sticker gambar |
Tangani pesan text dibalas dengan pesan gambar (imagereply)
Webhook anda akan menerima data secara real time dari sistem kami ketika ada pesan text yang anda kirim sebelumnya dibalas oleh pengguna dengan pesan yang berisi gambar,
berikut payload yang akan diterima oleh webhook anda.
{
"device": "628123456789",
"profilename": "Wa Vave",
"from": "628123456789",
"messagebody": "Saya lebih suka warna hitam dan merah kak, seperti yang digambar ini.",
"messageid": "3EB08D4D2F46E53DB43FBB",
"type": "imagereply",
"dataforwarded": [
{
"forwarded": "true",
"messagecode": "text",
"conversation": "Halo kak, Saat ini kakak lebih tertarik dengan produk kami yang warna apa ya?",
"OriginalRepliedMessageSid": "3EB06C14ECB154A4A987E5"
},
{
"filereply": "image",
"mimetipe": "image/jpeg",
"height": 726,
"width": 720,
"url": "data:image/jpeg;base64"
}
],
}
Penjelasan pesan text dibalas dengan pesan gambar (imagereply)
Properti | Nilai | Deskripsi |
---|---|---|
device | Number | Perangkat anda yang terhubung dengan Wa Vave dalam format internasional : 628123456789 |
from | Number | Nomor whatsapp yang mengirimi anda pesan dalam format internasional : 628123456789 |
profilename | String | Nama pengirim |
messagebody | String | Isi pesan dari pengirim |
messageid | String | ID pesan unik yang dapat anda simpan di aplikasi |
dataforwarded | Array of Objects | Array yang menyimpan detail pesan yang telah dibalas oleh pengguna terhadap pesan yang sebelumnya anda kirim. Jika pengguna membalas pesan anda dengan pesan gambar,video,audio,sticker atau dokumen maka media tersebut juga akan di lampirkan disini |
forwarded | String | akan selalu bernilai true untuk pesan yang dibalas |
messagecode | String | Pengguna membalas pesan yang sebelumnya anda kirim DAN pesan yang anda kirim tersebut adalah pesan jenis : text/image/audio/video/document/sticker/polling/interactive |
conversation | String | Isi pesan yang sebelumnya anda kirim ke pengguna |
OriginalRepliedMessageSid | String | ID unik pada pesan yang sebelumnya anda kirim ke pengguna |
filereply | String | Jenis pesan yang digunakan oleh pengguna untuk membalas pesan yang sebelumnya anda kirim, Nilainya dapat bervariasi antara lain : text : Pengguna memilih balas pesan anda sebelumnya dengan pesan text biasa image : Pengguna memilih balas pesan anda sebelumnya dengan menyertakan gambar audio : Pengguna memilih balas pesan anda sebelumnya dengan menyertakan pesan suara sticker : Pengguna memilih balas pesan anda sebelumnya dengan menyertakan sticker gambar |
mimetipe | String | Jenis MIME dari file media kirim oleh pengguna |
height | Integer | Tinggi gambar dalam piksel yang dikirim oleh pengguna |
width | Integer | Lebar gambar dalam piksel yang dikirim oleh pengguna |
url | String | File gambar dalam format URL berbasis Base64 dikirim oleh pengguna |
Tangani pesan gambar dibalas dengan pesan text (imagereply)
Webhook anda akan menerima data secara real time dari sistem kami ketika ada pesan gambar yang anda kirim sebelumnya dibalas oleh pengguna dengan pesan text,
berikut payload yang akan diterima oleh webhook anda.
{
"device": "628123456789",
"messageid": "3EB08D4D2F46E53DB43FBB",
"type": "imagereply",
"messagebody": "Nah iya, inilah yang saya cari",
"profilename": "Wa Vave",
"from": "628123456789",
"dataforwarded": [
{
"forwarded": "true",
"messagecode": "image",
"mimetipe": "image/jpeg",
"caption": "Bagaimana dengan produk ini kak, apakah suka?",
"url": "data:image/jpeg;base64",
"OriginalRepliedMessageSid": "3EB06C14ECB154A4A987E5"
},
{
"filereply": "text",
"messagebody": "Nah iya, inilah yang saya cari"
}
],
}
Penjelasan pesan gambar dibalas dengan pesan text (imagereply)
Properti | Nilai | Deskripsi |
---|---|---|
device | Number | Perangkat anda yang terhubung dengan Wa Vave dalam format internasional : 628123456789 |
from | Number | Nomor whatsapp yang mengirimi anda pesan dalam format internasional : 628123456789 |
profilename | String | Nama pengirim |
messagebody | String | Isi pesan dari pengirim |
messageid | String | ID pesan unik yang dapat anda simpan di aplikasi |
dataforwarded | Array of Objects | Array yang menyimpan detail pesan yang telah dibalas oleh pengguna terhadap pesan yang sebelumnya anda kirim. Jika pengguna membalas pesan anda dengan pesan gambar,video,audio,sticker atau dokumen maka media tersebut juga akan di lampirkan disini |
forwarded | String | akan selalu bernilai true untuk pesan yang dibalas |
messagecode | String | Pengguna membalas pesan yang sebelumnya anda kirim DAN pesan yang anda kirim tersebut adalah pesan jenis : text/image/audio/video/document/sticker/polling/interactive |
mimetipe | String | Jenis MIME dari media yang anda kirim sebelumnya ke pengguna |
caption | String | caption pada pesan media yang anda kirim sebelumnya ke pengguna (jika ada) |
url | String | Url gambar dalam format Base64 yang anda kirim sebelumnya ke pengguna |
OriginalRepliedMessageSid | String | ID unik pada pesan yang sebelumnya anda kirim ke pengguna |
filereply | String | Jenis pesan yang digunakan oleh pengguna untuk membalas pesan yang sebelumnya anda kirim, Nilainya dapat bervariasi antara lain : text : Pengguna memilih balas pesan anda sebelumnya dengan pesan text biasa image : Pengguna memilih balas pesan anda sebelumnya dengan menyertakan gambar audio : Pengguna memilih balas pesan anda sebelumnya dengan menyertakan pesan suara sticker : Pengguna memilih balas pesan anda sebelumnya dengan menyertakan sticker gambar |
mimetipe | String | Jenis MIME dari file media kirim oleh pengguna |
Tangani pesan audio dibalas dengan pesan text (audioreply)
Webhook anda akan menerima data secara real time dari sistem kami ketika ada pesan audio yang anda kirim sebelumnya dibalas oleh pengguna dengan pesan text,
berikut payload yang akan diterima oleh webhook anda.
{
"device": "628123456789",
"profilename": "Wa Vave",
"from": "628123456789",
"messagebody": "Kamu sedang bernyanyi dengan siapa itu 🥰",
"messageid": "3EB08D4D2F46E53DB43FBB",
"type": "audioreply",
"dataforwarded": [
{
"forwarded": "true",
"messagecode": "audio",
"mimetipe": "audio/ogg; codecs=opus",
"seconds": 10,
"url": "data:audio/ogg;base64",
"OriginalRepliedMessageSid": "3EB06C14ECB154A4A987E5"
},
{
"filereply": "text",
"messagebody": "Kamu sedang bernyanyi dengan siapa itu 🥰"
}
],
}
Penjelasan pesan audio dibalas dengan pesan text (audioreply)
Properti | Nilai | Deskripsi |
---|---|---|
device | Number | Perangkat anda yang terhubung dengan Wa Vave dalam format internasional : 628123456789 |
from | Number | Nomor whatsapp yang mengirimi anda pesan dalam format internasional : 628123456789 |
profilename | String | Nama pengirim |
messagebody | String | Isi pesan dari pengirim |
messageid | String | ID pesan unik yang dapat anda simpan di aplikasi |
dataforwarded | Array of Objects | Array yang menyimpan detail pesan yang telah dibalas oleh pengguna terhadap pesan yang sebelumnya anda kirim. Jika pengguna membalas pesan anda dengan pesan gambar,video,audio,sticker atau dokumen maka media tersebut juga akan di lampirkan disini |
forwarded | String | akan selalu bernilai true untuk pesan yang dibalas |
messagecode | String | Pengguna membalas pesan yang sebelumnya anda kirim DAN pesan yang anda kirim tersebut adalah pesan jenis : text/image/audio/video/document/sticker/polling/interactive |
mimetipe | String | Jenis MIME dari file media yang anda kirim sebelumnya ke pengguna |
seconds | Integer | Durasi media dalam hitungan detik, biasanya digunakan untuk file audio dan video |
url | String | File audio dalam format Base64 yang anda kirim sebelumnya ke pengguna |
OriginalRepliedMessageSid | String | ID unik pada pesan yang sebelumnya anda kirim ke pengguna |
filereply | String | Jenis pesan yang digunakan oleh pengguna untuk membalas pesan yang sebelumnya anda kirim, Nilainya dapat bervariasi antara lain : text : Pengguna memilih balas pesan anda sebelumnya dengan pesan text biasa image : Pengguna memilih balas pesan anda sebelumnya dengan menyertakan gambar audio : Pengguna memilih balas pesan anda sebelumnya dengan menyertakan pesan suara sticker : Pengguna memilih balas pesan anda sebelumnya dengan menyertakan sticker gambar |
Tangani pesan audio dibalas dengan pesan audio (audioreply)
Webhook anda akan menerima data secara real time dari sistem kami ketika ada pesan audio yang anda kirim sebelumnya dibalas oleh pengguna dengan pesan audio,
berikut payload yang akan diterima oleh webhook anda.
{
"device": "628123456789",
"profilename": "Wa Vave",
"from": "628123456789",
"messageid": "3EB08D4D2F46E53DB43FBB",
"type": "audioreply",
"dataforwarded": [
{
"forwarded": "true",
"messagecode": "audio",
"mimetipe": "audio/ogg; codecs=opus",
"seconds": 10,
"url": "data:audio/ogg;base64",
"OriginalRepliedMessageSid": "3EB06C14ECB154A4A987E5"
},
{
"filereply": "audio",
"mimetipe": "audio/ogg; codecs=opus",
"seconds": 4,
"url": "data:audio/ogg;base64"
}
],
}
Penjelasan pesan audio dibalas dengan pesan audio (audioreply)
Properti | Nilai | Deskripsi |
---|---|---|
device | Number | Perangkat anda yang terhubung dengan Wa Vave dalam format internasional : 628123456789 |
from | Number | Nomor whatsapp yang mengirimi anda pesan dalam format internasional : 628123456789 |
profilename | String | Nama pengirim |
messageid | String | ID pesan unik yang dapat anda simpan di aplikasi |
dataforwarded | Array of Objects | Array yang menyimpan detail pesan yang telah dibalas oleh pengguna terhadap pesan yang sebelumnya anda kirim. Jika pengguna membalas pesan anda dengan pesan gambar,video,audio,sticker atau dokumen maka media tersebut juga akan di lampirkan disini |
forwarded | String | akan selalu bernilai true untuk pesan yang dibalas |
messagecode | String | Pengguna membalas pesan yang sebelumnya anda kirim DAN pesan yang anda kirim tersebut adalah pesan jenis : text/image/audio/video/document/sticker/polling/interactive |
mimetipe | String | Jenis MIME dari file media yang anda kirim sebelumnya ke pengguna |
seconds | Integer | Durasi media dalam hitungan detik, biasanya digunakan untuk file audio dan video |
url | String | File audio dalam format Base64 yang anda kirim sebelumnya ke pengguna |
OriginalRepliedMessageSid | String | ID unik pada pesan yang sebelumnya anda kirim ke pengguna |
filereply | String | Jenis pesan yang digunakan oleh pengguna untuk membalas pesan yang sebelumnya anda kirim, Nilainya dapat bervariasi antara lain : text : Pengguna memilih balas pesan anda sebelumnya dengan pesan text biasa image : Pengguna memilih balas pesan anda sebelumnya dengan menyertakan gambar audio : Pengguna memilih balas pesan anda sebelumnya dengan menyertakan pesan suara sticker : Pengguna memilih balas pesan anda sebelumnya dengan menyertakan sticker gambar |
Tangani pesan audio dibalas dengan pesan sticker (audioreply)
Webhook anda akan menerima data secara real time dari sistem kami ketika ada pesan audio yang anda kirim sebelumnya dibalas oleh pengguna dengan pesan sticker,
berikut payload yang akan diterima oleh webhook anda.
{
"device": "628123456789",
"profilename": "Wa Vave",
"from": "628123456789",
"messageid": "3EB08D4D2F46E53DB43FBB",
"type": "audioreply",
"dataforwarded": [
{
"forwarded": "true",
"messagecode": "audio",
"mimetipe": "audio/ogg; codecs=opus",
"seconds": 10,
"url": "data:audio/ogg;base64",
"OriginalRepliedMessageSid": "3EB06C14ECB154A4A987E5"
},
{
"filereply": "sticker",
"mimetipe": "image/webp",
"isAnimated": true,
"url": "data:image/webp;base64"
}
],
}
Penjelasan pesan audio dibalas dengan pesan sticker (audioreply)
Properti | Nilai | Deskripsi |
---|---|---|
device | Number | Perangkat anda yang terhubung dengan Wa Vave dalam format internasional : 628123456789 |
from | Number | Nomor whatsapp yang mengirimi anda pesan dalam format internasional : 628123456789 |
profilename | String | Nama pengirim |
messageid | String | ID pesan unik yang dapat anda simpan di aplikasi |
dataforwarded | Array of Objects | Array yang menyimpan detail pesan yang telah dibalas oleh pengguna terhadap pesan yang sebelumnya anda kirim. Jika pengguna membalas pesan anda dengan pesan gambar,video,audio,sticker atau dokumen maka media tersebut juga akan di lampirkan disini |
forwarded | String | akan selalu bernilai true untuk pesan yang dibalas |
messagecode | String | Pengguna membalas pesan yang sebelumnya anda kirim DAN pesan yang anda kirim tersebut adalah pesan jenis : text/image/audio/video/document/sticker/polling/interactive |
mimetipe | String | Jenis MIME dari file media yang anda kirim sebelumnya ke pengguna |
seconds | Integer | Durasi media dalam hitungan detik, biasanya digunakan untuk file audio dan video |
url | String | File media dalam format Base64 |
OriginalRepliedMessageSid | String | ID unik pada pesan yang sebelumnya anda kirim ke pengguna |
filereply | String | Jenis pesan yang digunakan oleh pengguna untuk membalas pesan yang sebelumnya anda kirim, Nilainya dapat bervariasi antara lain : text : Pengguna memilih balas pesan anda sebelumnya dengan pesan text biasa image : Pengguna memilih balas pesan anda sebelumnya dengan menyertakan gambar audio : Pengguna memilih balas pesan anda sebelumnya dengan menyertakan pesan suara sticker : Pengguna memilih balas pesan anda sebelumnya dengan menyertakan sticker gambar |
isAnimated | Boolean | Menunjukkan apakah gambar adalah animasi (true) atau tidak (false) |
Tangani pesan video dibalas dengan pesan text (videoreply)
Webhook anda akan menerima data secara real time dari sistem kami ketika ada pesan video yang anda kirim sebelumnya dibalas oleh pengguna dengan pesan text,
berikut payload yang akan diterima oleh webhook anda.
{
"device": "628123456789",
"profilename": "Wa Vave",
"from": "628123456789",
"messagebody": "Saya tertarik sama video yang ini kak.",
"messageid": "3EB08D4D2F46E53DB43FBB",
"type": "videoreply",
"dataforwarded": [
{
"messagecode": "video",
"caption": "Harap pilih salah satu videonya ya kak",
"mimetipe": "video/mp4",
"seconds": 5,
"height": 1280,
"width": 720,
"url": "data:video/mp4;base64",
"OriginalRepliedMessageSid": "3EB06C14ECB154A4A987E5"
},
{
"filereply": "text",
"messagebody": "Saya tertarik sama video yang ini kak."
}
],
}
Penjelasan pesan video dibalas dengan pesan text (videoreply)
Properti | Nilai | Deskripsi |
---|---|---|
device | Number | Perangkat anda yang terhubung dengan Wa Vave dalam format internasional : 628123456789 |
from | Number | Nomor whatsapp yang mengirimi anda pesan dalam format internasional : 628123456789 |
profilename | String | Nama pengirim |
messagebody | String | Isi pesan dari pengirim |
messageid | String | ID pesan unik yang dapat anda simpan di aplikasi |
dataforwarded | Array of Objects | Array yang menyimpan detail pesan yang telah dibalas oleh pengguna terhadap pesan yang sebelumnya anda kirim. Jika pengguna membalas pesan anda dengan pesan gambar,video,audio,sticker atau dokumen maka media tersebut juga akan di lampirkan disini |
messagecode | String | Pengguna membalas pesan yang sebelumnya anda kirim DAN pesan yang anda kirim tersebut adalah pesan jenis : text/image/audio/video/document/sticker/polling/interactive |
caption | String | Caption pada video yang anda kirim sebelumnya, jika ada |
conversation | String | Isi pesan yang sebelumnya anda kirim ke pengguna |
OriginalRepliedMessageSid | String | ID unik pada pesan yang sebelumnya anda kirim ke pengguna |
filereply | String | Jenis pesan yang digunakan oleh pengguna untuk membalas pesan yang sebelumnya anda kirim, Nilainya dapat bervariasi antara lain : text : Pengguna memilih balas pesan anda sebelumnya dengan pesan text biasa image : Pengguna memilih balas pesan anda sebelumnya dengan menyertakan gambar audio : Pengguna memilih balas pesan anda sebelumnya dengan menyertakan pesan suara sticker : Pengguna memilih balas pesan anda sebelumnya dengan menyertakan sticker gambar |
mimetipe | String | Jenis MIME dari file media kirim oleh pengguna |
seconds | Integer | Durasi media dalam hitungan detik, biasanya digunakan untuk file audio dan video |
url | String | File video dalam format Base64 yang anda kirim sebelumnya ke pengguna |