https://app.senderblast.com
application/json
Kirim pesan teks WhatsApp ke nomor tujuan.
| Parameter | Type | Required | Description |
|---|---|---|---|
api_key |
string | Required | API Key untuk autentikasi |
sender |
string | Required | Nomor pengirim (device phone number) |
number |
string | Required | Nomor tujuan penerima pesan |
message |
string | Required | Isi pesan teks (maksimal 1000 karakter) |
options |
object | Optional | Opsi tambahan untuk pengiriman pesan |
{
"api_key": "your_api_key_here",
"sender": "6281234567890",
"number": "6289876543210",
"message": "Halo, ini adalah pesan test"
}
// Contoh penggunaan API Send Message dengan PHP cURL
<?php
$apiUrl = 'https://app.senderblast.com/api/v1/send-message';
$data = [
'api_key' => 'your_api_key_here',
'sender' => '6281234567890',
'number' => '6289876543210',
'message' => 'Halo, ini adalah pesan test'
];
$ch = curl_init($apiUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Accept: application/json'
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$result = json_decode($response, true);
if ($httpCode == 200 && !empty($result['success'])) {
echo "Pesan berhasil dikirim!";
} else {
echo "Gagal mengirim pesan: " . ($result['message'] ?? 'Unknown error');
}
?>
# Contoh penggunaan API Send Message dengan cURL
curl -X POST https://app.senderblast.com/api/v1/send-message \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"api_key": "your_api_key_here",
"sender": "6281234567890",
"number": "6289876543210",
"message": "Halo, ini adalah pesan test"
}'
{
"success": true,
"status": "sent",
"message": "Pesan teks berhasil dikirim"
}
{
"success": false,
"message": "API Key tidak valid"
}
Kirim pesan media (gambar, video, audio, atau dokumen) WhatsApp ke nomor tujuan.
| Parameter | Type | Required | Description |
|---|---|---|---|
api_key |
string | Required | API Key untuk autentikasi |
sender |
string | Required | Nomor pengirim (device phone number) |
number |
string | Required | Nomor tujuan penerima pesan |
mediaType |
string | Required | image, video, audio, atau document |
url |
string (URL) | Required | URL file media yang akan dikirim |
caption |
string | Optional | Caption atau deskripsi media (maksimal 1000 karakter) |
{
"api_key": "your_api_key_here",
"sender": "6281234567890",
"number": "6289876543210",
"mediaType": "image",
"url": "https://example.com/image.jpg",
"caption": "Ini adalah contoh gambar"
}
// Contoh penggunaan API Send Media dengan PHP cURL
<?php
$apiUrl = 'https://app.senderblast.com/api/v1/send-media';
$data = [
'api_key' => 'your_api_key_here',
'sender' => '6281234567890',
'number' => '6289876543210',
'mediaType' => 'image',
'url' => 'https://example.com/image.jpg',
'caption' => 'Ini adalah contoh gambar'
];
$ch = curl_init($apiUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Accept: application/json'
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$result = json_decode($response, true);
if ($httpCode == 200 && $result['success']) {
echo "Pesan media berhasil dikirim!";
} else {
echo "Gagal mengirim pesan: " . $result['message'] ?? 'Unknown error';
}
?>
# Contoh penggunaan API Send Media dengan cURL
curl -X POST https://app.senderblast.com/api/v1/send-media \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"api_key": "your_api_key_here",
"sender": "6281234567890",
"number": "6289876543210",
"mediaType": "image",
"url": "https://example.com/image.jpg",
"caption": "Ini adalah contoh gambar"
}'
{
"success": true,
"status": "sent",
"message": "Pesan media berhasil dikirim"
}
Kirim pesan polling/jajak pendapat WhatsApp ke nomor tujuan.
| Parameter | Type | Required | Description |
|---|---|---|---|
api_key |
string | Required | API Key untuk autentikasi |
sender |
string | Required | Nomor pengirim (device phone number) |
number |
string | Required | Nomor tujuan penerima pesan |
question |
string | Required | Pertanyaan poll (maksimal 100 karakter) |
options |
array | Required | Array opsi jawaban (min 2, max 12 opsi) |
{
"api_key": "your_api_key_here",
"sender": "6281234567890",
"number": "6289876543210",
"question": "Apa warna favorit Anda?",
"options": [
"Merah",
"Biru",
"Hijau",
"Kuning"
]
}
// Contoh penggunaan API Send Poll dengan PHP cURL
<?php
$apiUrl = 'https://app.senderblast.com/api/v1/send-poll';
$data = [
'api_key' => 'your_api_key_here',
'sender' => '6281234567890',
'number' => '6289876543210',
'question' => 'Apa warna favorit Anda?',
'options' => [
'Merah',
'Biru',
'Hijau',
'Kuning'
]
];
$ch = curl_init($apiUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Accept: application/json'
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$result = json_decode($response, true);
if ($httpCode == 200 && $result['success']) {
echo "Pesan poll berhasil dikirim!";
} else {
echo "Gagal mengirim pesan: " . $result['message'] ?? 'Unknown error';
}
?>
# Contoh penggunaan API Send Poll dengan cURL
curl -X POST https://app.senderblast.com/api/v1/send-poll \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"api_key": "your_api_key_here",
"sender": "6281234567890",
"number": "6289876543210",
"question": "Apa warna favorit Anda?",
"options": [
"Merah",
"Biru",
"Hijau",
"Kuning"
]
}'
{
"success": true,
"status": "sent",
"message": "Pesan poll berhasil dikirim"
}
Kirim kartu kontak (vCard) WhatsApp ke nomor tujuan.
| Parameter | Type | Required | Description |
|---|---|---|---|
api_key |
string | Required | API Key untuk autentikasi |
sender |
string | Required | Nomor pengirim (device phone number) |
number |
string | Required | Nomor tujuan penerima pesan |
name |
string | Required | Nama lengkap kontak (maksimal 100 karakter) |
phone |
string | Required | Nomor telepon kontak |
organization |
string | Optional | Nama organisasi/perusahaan (maksimal 100 karakter) |
email |
string (email) | Optional | Email kontak |
{
"api_key": "your_api_key_here",
"sender": "6281234567890",
"number": "6289876543210",
"name": "John Doe",
"phone": "6281234567890",
"organization": "PT Example",
"email": "john@example.com"
}
// Contoh penggunaan API Send VCard dengan PHP cURL
<?php
$apiUrl = 'https://app.senderblast.com/api/v1/send-vcard';
$data = [
'api_key' => 'your_api_key_here',
'sender' => '6281234567890',
'number'=> '6289876543210',
'name' => 'John Doe',
'phone' => '6281234567890',
'organization'=> 'PT Example',
'email' => 'john@example.com'
];
$ch = curl_init($apiUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Accept: application/json'
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$result = json_decode($response, true);
if ($httpCode == 200 && $result['success']) {
echo "Pesan vCard berhasil dikirim!";
} else {
echo "Gagal mengirim pesan: " . $result['message'] ?? 'Unknown error';
}
?>
# Contoh penggunaan API Send VCard dengan cURL
curl -X POST https://app.senderblast.com/api/v1/send-vcard \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"api_key": "your_api_key_here",
"sender": "6281234567890",
"number": "6289876543210",
"name": "John Doe",
"phone": "6281234567890",
"organization": "PT Example",
"email": "john@example.com"
}'
{
"success": true,
"message": "Pesan vCard berhasil dikirim",
"data": {
"id": 123,
"status": "sent",
"timestamp": "2024-01-01T12:00:00Z"
}
}
Kirim pesan lokasi (latitude & longitude) WhatsApp ke nomor tujuan.
| Parameter | Type | Required | Description |
|---|---|---|---|
api_key |
string | Required | API Key untuk autentikasi |
sender |
string | Required | Nomor pengirim (device phone number) |
number |
string | Required | Nomor tujuan penerima pesan |
latitude |
numeric | Required | Koordinat latitude lokasi |
longitude |
numeric | Required | Koordinat longitude lokasi |
name |
string | Optional | Nama lokasi (maksimal 100 karakter) |
address |
string | Optional | Alamat lengkap lokasi (maksimal 200 karakter) |
{
"api_key": "your_api_key_here",
"sender": "6281234567890",
"number": "6289876543210",
"latitude": -6.2088,
"longitude": 106.8456,
"name": "Monas, Jakarta",
"address": "Jl. Medan Merdeka Barat, Jakarta Pusat"
}
// Contoh penggunaan API Send Location dengan PHP cURL
<?php
$apiUrl = 'https://app.senderblast.com/api/v1/send-location';
$data = [
'api_key' => 'your_api_key_here',
'sender'=> '6281234567890',
'number' => '6289876543210',
'latitude' => -6.2088,
'longitude' => 106.8456,
'name' => 'Monas, Jakarta',
'address'=> 'Jl. Medan Merdeka Barat, Jakarta Pusat'
];
$ch = curl_init($apiUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Accept: application/json'
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$result = json_decode($response, true);
if ($httpCode == 200 && $result['success']) {
echo "Pesan lokasi berhasil dikirim!";
} else {
echo "Gagal mengirim pesan: " . $result['message'] ?? 'Unknown error';
}
?>
# Contoh penggunaan API Send Location dengan cURL
curl -X POST https://app.senderblast.com/api/v1/send-location \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"api_key": "your_api_key_here",
"sender": "6281234567890",
"number": "6289876543210",
"latitude": -6.2088,
"longitude": 106.8456,
"name": "Monas, Jakarta",
"address": "Jl. Medan Merdeka Barat, Jakarta Pusat"
}'
{
"success": true,
"message": "Pesan lokasi berhasil dikirim",
"data": {
"id": 123,
"status": "sent",
"timestamp": "2024-01-01T12:00:00Z"
}
}
Kirim sticker WhatsApp ke nomor tujuan.
| Parameter | Type | Required | Description |
|---|---|---|---|
api_key |
string | Required | API Key untuk autentikasi |
sender |
string | Required | Nomor pengirim (device phone number) |
number |
string | Required | Nomor tujuan penerima pesan |
url |
string (URL) | Required | URL file sticker yang akan dikirim |
{
"api_key": "your_api_key_here",
"sender": "6281234567890",
"number": "6289876543210",
"url": "https://example.com/sticker.webp"
}
// Contoh penggunaan API Send Sticker dengan PHP cURL
<?php
$apiUrl = 'https://app.senderblast.com/api/v1/send-sticker';
$data = [
'api_key' => 'your_api_key_here',
'sender' => '6281234567890',
'number' => '6289876543210',
'url' => 'https://example.com/sticker.webp'
];
$ch = curl_init($apiUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Accept: application/json'
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$result = json_decode($response, true);
if ($httpCode == 200 && $result['success']) {
echo "Pesan sticker berhasil dikirim!";
} else {
echo "Gagal mengirim pesan: " . $result['message'] ?? 'Unknown error';
}
?>
# Contoh penggunaan API Send Sticker dengan cURL
curl -X POST https://app.senderblast.com/api/v1/send-sticker \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"api_key": "your_api_key_here",
"sender": "6281234567890",
"number": "6289876543210",
"url": "https://example.com/sticker.webp"
}'
{
"success": true,
"message": "Pesan sticker berhasil dikirim",
"data": {
"id": 123,
"status": "sent",
"timestamp": "2024-01-01T12:00:00Z"
}
}
Kami akan mengirimkan webhook ke sistem anda sesuai event yang di pilih
| Parameter | Type | Required | Description |
|---|---|---|---|
secret key |
string | Required | Secret key webhook dipakai untuk membuat dan memverifikasi tanda tangan HMAC-SHA256 pada header X-Webhook-Signature |
//Contoh payload event message received
{
"event": "message.received",
"device": "6281234567890",
"message": "Halo, ini foto",
"from": "6289876543210",
"name": "Nama Pengirim",
"participant": null,
"ppUrl": "https://pps.whatsapp.net/...",
"media": {
"caption": "Halo, ini foto",
"fileName": "foto.jpg",
"data": "",
"mimetype": "image/jpeg"
}
}
//Contoh payload event message sent
{
"event": "message.sent",
"device": "6281234567890",
"receiver": "6289876543210",
"message_type": "text",
"status": "sent",
"sent_at": "2026-02-06T12:14:16+07:00",
"message_data": {
"text": "Halo dari Senderblast",
"options": {}
}
}
//Contoh payload event sesi terhubung
{
"event": "session.connected",
"device": "6281234567890",
"status": "connected",
"timestamp": "2026-02-06T12:22:38+07:00"
}
//Contoh payload event sesi terputus
{
"event": "session.disconnected",
"device": "6281234567890",
"status": "disconnected",
"timestamp": "2026-02-06T12:22:38+07:00"
}
// Contoh penerima webhook (PHP)
<?php
if (($_SERVER['REQUEST_METHOD'] ?? 'GET') !== 'POST') {
http_response_code(405);
echo json_encode(['success' => false, 'message' => 'POST only']);
exit;
}
// Ganti dengan secret webhook Anda
$secret = 'WEBHOOK_SECRET';
// baca raw body
$rawBody = file_get_contents('php://input');
$headers = getallheaders();
$event = $headers['X-Webhook-Event'] ?? '';
$signature = $headers['X-Webhook-Signature'] ?? '';
// Verifikasi HMAC-SHA256
$expected = hash_hmac('sha256', $rawBody, $secret);
if (!hash_equals($expected, $signature)) {
http_response_code(401);
echo 'Invalid signature';
exit;
}
// parse JSON
$data = json_decode($rawBody, true);
file_put_contents('webhook.log', "[".date('c')."] ".json_encode($data).PHP_EOL, FILE_APPEND);
$event = ($data['event'] ?? '');
$device = ($data['device'] ?? '');
$message = strtolower((string) $data['message']);
$from = ($data['from'] ?? '');
$name = ($data['name'] ?? '');
// TODO: proses event sesuai kebutuhan, contoh untuk auto respon:
if ($event === 'message.received') {
if ($message === 'tes pesan text') {
echo json_encode([
'text'=> 'Halo '.$name.', nomor kamu ' .$from
]);
exit;
}
if ($message === 'tes pesan poll') {
echo json_encode([
'type' => 'poll',
'name' => 'Pilih menu',
'options' => ['A', 'B', 'C'],
'selectableCount' => 1
]);
exit;
}
if ($message === 'tes pesan vcard') {
echo json_encode([
'type' => 'vcard',
'contact' => [
'name' => 'Admin',
'phoneNumber' => '6281234567890',
'email' => 'admin@example.com'
]
]);
exit;
}
if ($message === 'tes pesan location') {
echo json_encode([
'type' => 'location',
'latitude' => -6.2,
'longitude' => 106.8,
'name' => 'Kantor',
'address' => 'Jakarta'
]);
exit;
}
if ($message === 'tes pesan sticker') {
echo json_encode([
'type' => 'sticker',
'url' => 'https://example.com/sticker.webp'
]);
exit;
}
if ($message === 'tes pesan audio') {
echo json_encode([
'type' => 'audio',
'url' => 'https://example.com/audio.mp3',
'caption' => 'Ini audio'
]);
exit;
}
if ($message === 'tes pesan image') {
echo json_encode([
'type' => 'image',
'url' => 'https://example.com/image.jpeg',
'caption' => 'Ini gambar'
]);
exit;
}
if ($message === 'tes pesan video') {
echo json_encode([
'type' => 'video',
'url' => 'https://example.com/video.mp4',
'caption' => 'Ini video'
]);
exit;
}
if ($message === 'tes pesan document') {
echo json_encode([
'type' => 'document',
'url' => 'https://example.com/file.pdf',
'caption' => 'Ini file'
]);
exit;
}
}
http_response_code(200);
echo 'OK';
| Code | Description |
|---|---|
| 200 | Request berhasil |
| 401 | API Key tidak valid |
| 403 | Kuota habis atau permission tidak cukup |
| 404 | Device tidak ditemukan atau tidak aktif |
| 422 | Validasi parameter gagal |
| 500 | Terjadi kesalahan server |