Panduan lengkap integrasi WhatsApp Gateway dengan standar HTTP JSON, Webhook real-time callback, dan contoh kode untuk berbagai bahasa pemrograman.
Setiap permintaan ke REST API harus menyertakan API Key yang valid pada HTTP Header X-API-KEY dan menentukan format payload Content-Type: application/json.
Mengirimkan pesan teks atau kode OTP ke nomor tujuan.
{
"to": "081234567890",
"message": "Halo! Pesanan #INV-9901 Anda telah kami terima."
}
{
"status": true,
"message": "Pesan WhatsApp berhasil dikirim ke antrian gateway.",
"data": {
"message_id": 8941,
"recipient": "6281234567890",
"status": "sent"
}
}
Mengirimkan media (Gambar JPEG/PNG, Dokumen PDF, Brosur) dengan teks keterangan (caption).
{
"to": "081234567890",
"media_url": "https://perusahaan.com/invoice/INV-2026.pdf",
"caption": "Berikut invoice transaksi Anda."
}
Memeriksa apakah suatu nomor telepon terdaftar aktif di WhatsApp sebelum melakukan blast pesan.
{
"phone": "081234567890"
}
Untuk memastikan setiap webhook event yang diterima benar-benar berasal dari gateway kami, validasi header X-Gateway-Signature menggunakan Webhook Secret Anda.
<?php
$secret = 'webhook_secret_anda';
$payload = file_get_contents('php://input');
$signature = $_SERVER['HTTP_X_GATEWAY_SIGNATURE'] ?? '';
$expectedSignature = hash_hmac('sha256', $payload, $secret);
if (hash_equals($expectedSignature, $signature)) {
// Webhook valid! Proses event
$event = json_decode($payload, true);
http_response_code(200);
echo json_encode(['status' => 'success']);
} else {
// Signature tidak cocok
http_response_code(403);
echo json_encode(['error' => 'Invalid signature']);
}