Panduan lengkap integrasi pengiriman pesan WhatsApp secara terprogram ke dalam sistem, website, atau aplikasi Anda.
Semua permintaan ke API SentralPesan wajib menyertakan API Key. Anda bisa mendapatkannya di menu API Keys & Docs pada Dashboard. Anda dapat mengirimkan API Key melalui HTTP Header, atau disisipkan langsung ke dalam parameter Body/Form-Data.
| Header Key | Authorization |
| Header Value | Bearer [API_KEY_ANDA] |
Sistem kami memungkinkan Anda menghubungkan banyak nomor WhatsApp sekaligus. Oleh karena itu, Anda wajib menyertakan parameter device_id di dalam body request agar sistem mengetahui dari nomor WhatsApp mana pesan tersebut harus dikirimkan.
Anda dapat melihat daftar Device ID aktif Anda di menu Device & QR Code pada Dashboard pengguna.
Gunakan endpoint ini untuk mengirim pesan teks biasa ke nomor tujuan manapun. Sistem secara otomatis akan memformat awalan nomor 08 menjadi 628.
| Content-Type | application/json |
| Parameter | Tipe | Keterangan |
|---|---|---|
device_id |
String | ID Perangkat Anda (Contoh: SP-079547). Wajib. |
number |
String | Nomor tujuan pengiriman (Contoh: 628123456789). Wajib. |
message |
String | Isi teks pesan yang ingin dikirim. Mendukung karakter Emoji. Wajib. |
<?php
$curl = curl_init();
$payload = json_encode(array(
"device_id" => "SP-XXXXXX",
"number" => "6281234567890",
"message" => "Halo! Ini pesan teks dari API."
));
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://sentralpesan.com/api/send_message',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => $payload,
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'Authorization: Bearer MASUKAN_API_KEY_ANDA_DISINI'
),
));
$response = curl_exec($curl);
echo $response;
?>
Gunakan endpoint ini untuk mengirimkan file fisik (seperti JPG, PNG, PDF) atau menggunakan URL gambar langsung ke WhatsApp pelanggan beserta keterangan (caption).
Content-Type Anda menjadi multipart/form-data. Sangat disarankan untuk memasukkan api_key ke dalam body form data jika web server Anda memblokir header saat upload file.
| Parameter | Tipe | Keterangan |
|---|---|---|
api_key |
String | API Key Anda. Opsional jika Anda sudah mengirimkannya via Header Authorization. |
device_id |
String | ID Perangkat Anda (Contoh: SP-079547). Wajib. |
number |
String | Nomor tujuan pengiriman (Contoh: 628123456789). Wajib. |
caption |
String | Keterangan teks di bawah gambar/video. Mendukung emoji. (Opsional) |
file |
File | File fisik dari server/komputer Anda. Wajib jika `media_url` kosong. |
media_url |
String | Tautan/URL langsung ke gambar (Misal: https://web.com/img.jpg). Wajib jika parameter `file` kosong. |
<?php
$api_url = "https://sentralpesan.com/api/send_media";
$lokasi_file = __DIR__ . '/gambar.jpg'; // Path fisik file di server Anda
$data = [
"api_key" => "MASUKAN_API_KEY_ANDA_DISINI",
"device_id" => "SP-XXXXXX",
"number" => "6281234567890",
"caption" => "Promo bulan ini! 🎉 Silakan cek gambar berikut.",
"file" => new CURLFile($lokasi_file, 'image/jpeg', 'gambar.jpg') // Gunakan CURLFile
];
$ch = curl_init($api_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$response = curl_exec($ch);
echo $response;
?>
Struktur respons kembalian ini berlaku secara universal baik untuk pengiriman Pesan Teks maupun Pesan Media.
{
"status": "success",
"message": "Pesan berhasil masuk ke jaringan WhatsApp.",
"data": {
"device_id": "SP-XXXXXX",
"number": "6281234567890",
"message_id": "true_6281234567890@c.us_3EB0..."
}
}
{
"status": "failed",
"message": "Perangkat sedang Offline. Silakan buka dashboard dan pastikan perangkat sudah di-scan (QR Code)."
}
{
"status": "pending",
"message": "Sistem sibuk. Pesan tertahan di antrean (Timeout).",
"data": {
"device_id": "SP-XXXXXX",
"number": "6281234567890",
"message_id": null
}
}