★Mitra Resmi Meta BSP
Engineering2026-05-188 min baca

Notifikasi WHMCS Otomatis: Reminder Domain via SMS & WhatsApp

WHMCS sudah mengirim email reminder, tapi email sering tak dibaca. Begini cara menambahkan reminder lewat SMS dan WhatsApp dengan satu file hook kecil di WHMCS.

Notifikasi WHMCS Otomatis: Reminder Domain via SMS & WhatsApp

WHMCS rajin mengirim email reminder jatuh tempo, masalahnya, email gampang kelewat. SMS dan WhatsApp hampir pasti dibaca. Menambahkannya pun tidak ribet: satu file hook kecil yang memanggil API kami begitu ada domain mendekati jatuh tempo, dan WHMCS Anda ikut mengirim reminder lewat SMS atau WhatsApp.

Yang perlu disiapkan

  • Akses ke folder instalasi WHMCS, khususnya /includes/hooks/.
  • Untuk SMS: userkey & passkey dari Console. Untuk WhatsApp: API Key dari WABA Platform plus satu template yang sudah disetujui Meta.
  • Tidak terbiasa menyentuh file? Setup-nya sekali jalan dan cuma butuh ~5 menit, serahkan saja file ini ke admin hosting atau developer Anda.

Hook: reminder jatuh tempo domain (contoh: H-3)

Buat file zenziva_notify.php di /includes/hooks/, lalu tempel kode berikut. Hook ini berjalan otomatis di cron harian WHMCS, mencari domain yang jatuh tempo 3 hari lagi, dan mengirim SMS ke pemiliknya:

php
<?php
// /includes/hooks/zenziva_notify.php, kirim SMS reminder saat domain mendekati jatuh tempo.
use WHMCS\Database\Capsule;

add_hook('DailyCronJob', 1, function () {
    $target = date('Y-m-d', strtotime('+3 days'));

    $rows = Capsule::table('tbldomains')
        ->join('tblclients', 'tbldomains.userid', '=', 'tblclients.id')
        ->where('tbldomains.status', 'Active')
        ->where('tbldomains.expirydate', $target)
        ->get(['tbldomains.domain', 'tblclients.firstname', 'tblclients.phonenumber']);

    foreach ($rows as $r) {
        $to = preg_replace('/[^0-9+]/', '', $r->phonenumber);
        if (!$to) continue;
        $msg = 'Halo ' . $r->firstname . ', domain ' . $r->domain . ' Anda jatuh tempo dalam 3 hari. Mohon segera diperpanjang.';

        $ch = curl_init('{CONSOLE_BASEURL}/masking/api/sendsms/');
        curl_setopt_array($ch, [
            CURLOPT_POST => true,
            CURLOPT_POSTFIELDS => http_build_query([
                'userkey' => 'API_USERKEY',
                'passkey' => 'API_PASSKEY',
                'to'      => $to,
                'message' => $msg,
            ]),
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_TIMEOUT => 10,
        ]);
        curl_exec($ch);
        curl_close($ch);
    }
});

Itu saja. Ganti API_USERKEY dan API_PASSKEY dengan kredensial Console Anda, upload, dan reminder mulai berjalan di cron berikutnya. H-3 di sini cuma contoh, kapan reminder dikirim diatur lewat strtotime('+3 days'): pakai '+1 day' untuk H-1, 'today' untuk hari-H, atau '-1 day' untuk yang sudah telat sehari. Mau kirim beberapa kali? Pasang beberapa pemicu sekaligus.

Versi WhatsApp (WABA Platform)

Mau kirim lewat WhatsApp? Ganti blok curl Console di atas dengan yang ini. Bedanya: otentikasi pakai header X-API-Key dan body-nya JSON dengan nama template yang sudah diapprove Meta di WABA Platform.

php
// Ganti blok curl Console dengan ini untuk WhatsApp (WABA Platform):
$ch = curl_init('{WABA_BASEURL}/api/messages/v1/send');
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-Key: API_KEY_WABA_ANDA'],
    CURLOPT_POSTFIELDS => json_encode([
        'to'               => $to,
        'templateName'     => 'reminder_domain',
        'templateLanguage' => 'id',
        'bodyVariables'    => [$r->firstname, $r->domain],
    ]),
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT => 10,
]);
curl_exec($ch);
curl_close($ch);
Jalan di hampir semua versi WHMCS

Hook dan curl adalah bagian inti WHMCS/PHP, jadi cara ini jalan di WHMCS lama maupun baru, tanpa ada yang perlu di-install belakangan.

Uji aman dulu

Mulai dari SMS Console, paling sederhana. Coba dulu dengan satu nomor Anda sendiri (atur expirydate uji), pastikan masuk, baru naik ke WhatsApp setelah template-nya diapprove Meta. Dan pisahkan pesan reminder ini dari blast promo supaya quality rating WABA tetap aman.

Poin Penting
  • Cukup satu file hook di /includes/hooks/ untuk mulai kirim reminder SMS & WhatsApp.
  • Console SMS pakai userkey/passkey; WhatsApp (WABA Platform) pakai header X-API-Key + body JSON.
  • Hook jalan di cron harian WHMCS dan kompatibel dengan versi lama maupun baru.
  • Mulai dari SMS dulu, baru naik ke WhatsApp setelah template-nya diapprove Meta.

Butuh detail parameter API atau contoh integrasi lain? Lihat panduan integrasi API kami.

Baca: Integrasi Aplikasi & Website dengan API

Siap mencoba? Cek biaya per pesan di halaman harga, lalu daftar dan ambil userkey/passkey (Console) atau API Key (WABA Platform) untuk mulai mengirim reminder WHMCS hari ini.

MULAI SEKARANG

Jangkau Pelanggan di Channel Favorit Mereka

Butuh WhatsApp, SMS, atau Voice Call? Pilih jalur komunikasi yang paling pas untuk kebutuhan bisnis Anda hari ini.

AM
Asep Maulana
Dukungan Teknis & Developer