Katalog produk
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'] ?? '';
$CatalogReviewPay = $data['CatalogReviewPay'] ?? '';
$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 katalog produk
Webhook anda akan menerima data secara real time dari sistem kami ketika ada pesan katalog produk yang dikirim oleh pengguna, berikut payload yang akan diterima oleh webhook anda.
{
"device": "62812345678",
"messageid": "9F471181D04DAD81C1A18A2ECAAF2963",
"type": "catalog",
"messagebody": " *Celana Pendek*\n📝 Description: Untuk anak usia 1 hingga 6 tahun",
"isForwarded": false,
"profilename": "Wa Vave",
"from": "62812345678",
"CatalogDetails": [
{
"productId": "2796869950111425",
"productLinkMobile": "https://wa.me/p/2796869950111425/62812345678",
"productLinkDekstop": "https://web.whatsapp.com/product/2796869950111425/62812345678",
"WebProduct": "https://api.wavave.com/shop/produk/12345",
"ProductCode": "12345",
"Title": "Celana Pendek",
"Description": "Untuk anak usia 1 hingga 6 tahun",
"Price": 100000,
"Discount": "70000",
"Currency": "IDR",
"ImageCount": 5,
"mimetipe": "image/jpeg",
"height": 500,
"width": 500,
"url": "data:image/jpeg;base64"
}
],
}
Penjelasan pesan katalog produk
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 |
type | String | type pesan memiliki nilai yang berbeda dan dapat digunakan untuk mengidentifikasi setiap jenis pesan yang anda terima |
CatalogDetails | Array of Objects | Properti CatalogDetails merupakan sebuah array yang berisi objek-objek yang merepresentasikan detail katalog yang anda terima dari pengguna |
productId | String | ID unik produk yang dapat anda simpan di aplikasi |
productLinkMobile | String | Tautan produk katalog yang dapat anda buka melalui perangkat mobile |
productLinkDekstop | String | Tautan produk katalog yang dapat anda buka melalui whatsapp web |
WebProduct | String | Tautan produk yang mengarah pada situs web milik pengguna jika ada |
ProductCode | String | Kode unik produk yang dibuat oleh pengguna jika ada |
Title | String | Nama atau judul produk |
Description | String | Deskripsi produk, misalnya detail suatu produk atau layanan yang ditawarkan oleh pengguna jika ada |
Price | Number | Harga produk atau layanan yang ditawarkan oleh pengguna |
Discount | Number | Harga diskon produk yang ditawarkan oleh pengguna jika ada |
Currency | String | Kode mata uang produk (misalnya: IDR, USD) |
ImageCount | Number | Jumlah gambar yang tersedia pada katalog produk |
height | Integer | Tinggi gambar dalam piksel |
width | Integer | Lebar gambar dalam piksel |
url | String | Data media dalam format URL berbasis Base64 yang dapat diproses atau digunakan sesuai kebutuhan |
isForwarded | Boolean | Bernilai "true" jika pesan hasil "Diteruskan" oleh pengguna |
Tangani pesanan baru
Webhook anda akan menerima data secara real time dari sistem kami ketika ada pesanan baru yang dibuat oleh oleh pengguna, berikut payload yang akan diterima oleh webhook anda.
{
"device": "62811111111",
"messageid": "9F471181D04DAD81C1A18A2ECAAF2963",
"type": "neworder",
"profilename": "Wa Vave",
"from": "62811111111",
"CatalogReviewPay": [
{
"orderId": "1182246469566719",
"itemCount": 1,
"status": 1,
"message": "",
"orderTitle": "Kemeja Anak Merah",
"sellerJid": "62811111111",
"totalAmount1000": 230000,
"totalCurrencyCode": "IDR"
}
],
}
Penjelasan pesanan baru
Properti | Nilai | Deskripsi |
---|---|---|
device | Number | Perangkat anda yang terhubung dengan Wa Vave dalam format internasional : 628123456789 |
from | Number | Nomor whatsapp pembeli |
profilename | String | Nama pembeli |
messageid | String | ID pesan unik yang dapat anda simpan di aplikasi |
type | String | type pesan memiliki nilai yang berbeda dan dapat digunakan untuk mengidentifikasi setiap jenis pesan yang anda terima |
CatalogReviewPay | Array of Objects | Daftar informasi pesanan dalam bentuk array |
orderId | String | ID unik untuk pesanan |
itemCount | Number | Jumlah item dalam pesanan |
status | Number | Status pesanan (misalnya, 1 untuk "INQUIRY" |
message | String | Pesan tambahan terkait pesanan jika ada |
orderTitle | String | Nama produk yang dipesan oleh pembeli |
sellerJid | String | Nomor whatsapp penjual |
totalAmount1000 | Number | Total harga dari pesanan |
totalCurrencyCode | String | Kode mata uang transaksi, misalnya "IDR" |
Tangani status pesanan
Webhook anda akan menerima data secara real time dari sistem kami ketika pesanan yang anda order statusnya diubah oleh penjual, berikut payload yang akan diterima oleh webhook anda.
{
"device": "62812345678",
"messageid": "267F1A38DB05219EB177D90255FAD284",
"type": "orderstatus",
"profilename": "Wa Vave",
"from": "62812345678",
"CatalogReviewPay": [
{
"currency": "IDR",
"paymentConfiguration": "",
"paymentType": "",
"totalAmount": 230000,
"referenceId": "4RLL0PX9KKT",
"orderRequestId": "9367011381114443",
"type": "physical-goods",
"paymentStatus": "captured",
"orderStatus": "preparing_to_ship",
"description": "",
"subtotal": 230000,
"orderType": "ORDER",
"items": [
{
"retailer_id": "932999507111222",
"product_id": "932999507111222",
"name": "Pakaian Anak usia 1 hingga 6 tahun",
"amount": {
"value": 230000,
"offset": 100
},
"quantity": 1
}
],
"additionalNote": "",
"nativePaymentMethods": [],
"sharePaymentStatus": false
}
],
}
Penjelasan status pesanan anda
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 |
type | String | type pesan memiliki nilai yang berbeda dan dapat digunakan untuk mengidentifikasi setiap jenis pesan yang anda terima |
CatalogReviewPay | Array of Objects | Properti CatalogDetails merupakan sebuah array yang berisi objek-objek yang merepresentasikan detail pesanan yang anda order dari penjual |
currency | String | Mata uang pembayaran |
paymentConfiguration | String | Konfigurasi pembayaran |
paymentType | String | Jenis pembayaran |
totalAmount | Number | Total yang harus anda bayarkan kepada penjual |
referenceId | String | ID referensi untuk transaksi atau pesanan |
orderRequestId | String | ID permintaan pesanan yang terkait dengan transaksi |
type | String | Jenis transaksi, misalnya barang fisik |
paymentStatus | String | Status pembayaran (misalnya pending, captured, dll.) |
orderStatus | String | Status pesanan saat ini (completed, shipped, preparing_to_ship |
description | String | Deskripsi pesanan (jika ada) |
subtotal | Number | Subtotal dari pesanan sebelum pajak atau biaya tambahan |
orderType | String | Jenis pesanan yang dilakukan |
items | Array | Daftar barang dalam pesanan, termasuk nama produk, harga, dan jumlah |
additionalNote | String | Catatan tambahan dari penjual terkait pesanan |
nativePaymentMethods | Array | Metode pembayaran yang digunakan (jika ada) |
sharePaymentStatus | Boolean | Apakah status pembayaran dibagikan dengan pihak lain |