📖 Panduan Integrasi Aplikasi Absensi Siswa
Petunjuk langkah demi langkah menyambungkan sistem absensi sekolah ke server WABLAS Gateway Pro.
3 Parameter yang Dibutuhkan Aplikasi Absensi:
PARAMETER 1:
URL SERVER
https://www.waba.smpn10bathinsolapan.sch.id/api/send-message.php
PARAMETER 2:
API KEY
WB-API-CONTOH12345678
PARAMETER 3:
SECRET KEY
WB-SEC-CONTOH98765432
Spesifikasi Request API
HTTP POST / GET| Lokasi | Nama Parameter | Wajib? | Keterangan |
|---|---|---|---|
Header atau Body |
X-API-KEY atau api_key |
Wajib | Kunci API yang digenerate di dashboard |
Header atau Body |
X-SECRET-KEY atau secret_key |
Wajib | Secret Key rahasia |
POST Body / JSON |
phone (alias: nomor, target) |
Wajib | Nomor WhatsApp wali murid (bisa 08... atau 628...) |
POST Body / JSON |
message (alias: pesan) |
Wajib | Isi pesan absensi (mendukung format WhatsApp: *bold*, _italic_, Spintax {opsi1|opsi2}) |
POST Body |
direct |
Isi 1 jika ingin pesan langsung dikirim seketika tanpa antrean. |
Contoh Script Integrasi di Aplikasi Absensi (PHP cURL)
Jika aplikasi absensi sekolah Anda dibuat dengan PHP (CodeIgniter, Laravel, atau PHP Native), gunakan fungsi berikut saat siswa tap kartu / fingerprint:
<?php
function kirimWaAbsensi($nomorWali, $namaSiswa, $statusKehadiran, $jamAbsen) {
$urlServer = 'https://www.waba.smpn10bathinsolapan.sch.id/api/send-message.php';
$apiKey = 'WB-API-CONTOH12345678';
$secretKey = 'WB-SEC-CONTOH98765432';
$pesan = "{Assalamu'alaikum|Selamat Pagi} Bapak/Ibu Wali Murid,\n\n"
. "Diberitahukan bahwa siswa ananda *{$namaSiswa}* telah terdata: *{$statusKehadiran}* "
. "pada jam {$jamAbsen} WIB.\n\n"
. "Terima kasih.\n"
. "_- Petugas Absensi Sekolah_";
$payload = [
'api_key' => $apiKey,
'secret_key' => $secretKey,
'phone' => $nomorWali,
'message' => $pesan,
'direct' => 1 // Kirim realtime
];
$ch = curl_init($urlServer);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($payload));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 15);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($ch);
curl_close($ch);
return json_decode($response, true);
}
// Contoh pemanggilan saat siswa tap kartu presensi:
$hasil = kirimWaAbsensi('081234567890', 'Muhammad Rizky', 'HADIR (TEPAT WAKTU)', date('H:i'));
print_r($hasil);
?>
Contoh Response JSON dari Server
{
"status": true,
"code": 200,
"message": "Pesan absensi berhasil dikirim ke WhatsApp wali murid",
"data": {
"message_id": "WB-20260930074512-AB12CD",
"phone": "6281234567890",
"provider": "meta_cloud",
"status": "SENT",
"sent_at": "2026-09-30 07:45:13"
}
}
⏱️ Setup Cron Job di cPanel IDWebhost (Untuk Ribuan Siswa)
OPSI ANTRIAN AMANJika di sekolah terdapat lebih dari 500 siswa yang masuk bersamaan dalam rentang 30 menit, Anda dapat mengaktifkan opsi Mode Pengiriman Antrean di Pengaturan Gateway. Kemudian setel Cron Job di cPanel IDWebhost:
- Buka cPanel IDWebhost Anda.
- Cari dan klik menu Cron Jobs (Tugas Terjadwal).
- Pilih waktu: Every minute (* * * * *) atau setiap 2 menit.
- Pada baris Command, masukkan perintah:
php -q /home/USERNAME_CPANEL_ANDA/public_html/cron.php >/dev/null 2>&1 - Klik tombol Add New Cron Job. Sistem akan otomatis memproses antrean pesan secara aman tanpa memicu ban Meta.