prepare("SELECT * FROM master_template_pesan WHERE id = :id"); $stmt3->execute([':id' => $page[1]]); $pesan = $stmt3->fetch(PDO::FETCH_ASSOC); $pesanDb = json_decode($pesan['pesan_official'], true); if ($pesan['nama'] == 'Pesan Melunasi Tagihan' OR $pesan['nama'] == 'Pesan Isolir Pelanggan' OR $pesan['nama'] == 'Pesan Peringatan Tagihan' OR $pesan['nama'] == 'Pesan Kirim Tagihan') { $baseVariable = [ [ "key" => "#usr", "label" => "Nama Pelanggan" ], [ "key" => "#add", "label" => "Alamat Pelanggan" ], [ "key" => "#ppp", "label" => "PPPOE Pelanggan / ID Pelanggan" ], [ "key" => "#lyn", "label" => "Paket Berlangganan" ], [ "key" => "#hly", "label" => "Harga Layanan" ], [ "key" => "#jns", "label" => "Jenis Layanan" ], [ "key" => "#ket", "label" => "Keterangan Tagihan" ], [ "key" => "#jum", "label" => "Jumlah Tagihan" ], [ "key" => "#ppn", "label" => "PPN" ], [ "key" => "#unk", "label" => "Kode Unik (for payment gateway)" ], [ "key" => "#tot", "label" => "Total Tagihan" ], [ "key" => "#lmt", "label" => "Limit Pembayaran" ], [ "key" => "#lnk", "label" => "Link Payment Gateway" ] ]; } else { $baseVariable = [ [ "key" => "#usr", "label" => "Nama Pelanggan" ], [ "key" => "#add", "label" => "Alamat Pelanggan" ], [ "key" => "#ppp", "label" => "PPPOE Pelanggan / ID Pelanggan" ], [ "key" => "#lyn", "label" => "Paket Berlangganan" ], [ "key" => "#hly", "label" => "Harga Layanan" ], [ "key" => "#jns", "label" => "Jenis Layanan" ] ]; } ?>

Setting (WhatsApp Official API)

prepare($sql); $stmt3->execute($ids); $wacapi = $stmt3->fetch(PDO::FETCH_ASSOC); $accessToken = $wacapi['token_access']; $phoneNumberId = $wacapi['waba_id']; // URL endpoint template $url = "https://graph.facebook.com/v17.0/$phoneNumberId/message_templates"; // Request ke Cloud API $ch = curl_init(); curl_setopt_array($ch, [ CURLOPT_URL => $url, CURLOPT_HTTPHEADER => ["Authorization: Bearer $accessToken"], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 15 ]); $response = curl_exec($ch); if (curl_errno($ch)) { throw new Exception("cURL Error: " . curl_error($ch)); } curl_close($ch); // Decode JSON $data = json_decode($response, true); if (!isset($data['data'])) { throw new Exception("Gagal mengambil template dari Cloud API. Response: " . $response); } // Ambil list template $templates = $data['data'] ?? []; // echo "
";
                        // print_r($templates);
                        // echo "
"; // Template yang terpilih (dari GET) $selectedTemplate = $_GET['template'] ?? ''; } catch (Exception $e) { echo "

Error: " . htmlspecialchars($e->getMessage()) . "

"; $templates = []; $selectedTemplate = ''; } ?>

PERHATIAN..!

Untuk memposisikan data dari pelanggan silahkan isi dengan Variabel di bawah ini :

'; } ?>
Variabel Label
' . $base['key'] . ' : ' . $base['label'] . '
WhatsApp Preview
prepare("SELECT * FROM master_template_pesan WHERE id = :id"); $stmt3->execute([':id' => $page[1]]); $pesan = $stmt3->fetch(PDO::FETCH_ASSOC); $stmt3 = $pdo->prepare("SELECT status_payment_gateway FROM data_server WHERE id = :ids"); $stmt3->execute([':ids' => $pesan['id_data_server']]); $server = $stmt3->fetch(PDO::FETCH_ASSOC); // print_r($_SESSION); ?>

Setting

Warning..!!

Untuk memposisikan data dari pelanggan silahkan isi dengan Variabel di bawah ini :
#usr => Nama Pelanggan
#add => Alamat Pelanggan
#ppp => PPPOE Pelanggan / ID Pelanggan
#lyn => Paket Berlangganan
#hly => Harga Layanan
#jns => Jenis Layanan
#ket => Keterangan Tagihan
#jum => Jumlah Tagihan
#ppn => PPN
#unk => Kode Unik (for payment gateway)
#tot => Total Tagihan
#lmt => Limit Pembayaran
#lnk => Link Payment Gateway

Contoh :
*Tagihan layanan internet*
Nama : #usr
Jumlah Tagihan : #jum
PPN 11% : #ppn
Total Tagihan : #tot


PERHATIAN..!!

Jika Status Pesan Aktif dan Interval di isi, maka pelanggan yang aktif dan koneksi nya mati akan di beri pesan otomatis setelah Interval yang telah anda tentukan




Menit
Test Kirim Pesan
prepare($query); // Bind parameter utama $stmt->bindValue(':pesan', $_POST['fpesan']); // Bind jika ada file upload if ($SqlPost !== '') { $stmt->bindValue(':nameFile', $nameFile); } // Bind jika pesan koneksi off if ($sqlPostOff !== '') { $stmt->bindValue(':status_koneksi_off', $status_koneksi_off); $stmt->bindValue(':interval_koneksi_off', $interval); } $stmt->bindValue(':nama', $pesan['nama']); try { $stmt->execute(); $rows = $stmt->rowCount(); if ($rows > 0) { sweetAlert("Data telah diubah ($rows baris terpengaruh)", "success"); } else { sweetAlert("Tidak ada data yang berubah", "info"); } } catch (PDOException $e) { echo "Gagal update data: " . $e->getMessage(); } } ?>
prepare("SELECT id FROM pelanggan WHERE status = 'aktif' AND id_data_server = '$SvId'"); $stmt->execute(); $data = $stmt->fetchAll(); $id = $data[0]['id']; $url = ""; $APIwa->Create_Pesan($SvId,$id,$pesan['nama']); } elseif ($pesan['nama'] == 'Pesan Melunasi Tagihan' || $pesan['nama'] == 'Pesan Isolir Pelanggan' || $pesan['nama'] == 'Pesan Peringatan Tagihan' || $pesan['nama'] == 'Pesan Kirim Tagihan') { if($server['status_payment_gateway'] == 'ACTIVE' AND $pesan['nama'] == 'Pesan Kirim Tagihan') { $sqldata = "SELECT id,img_invoice FROM tagihan WHERE transaction_link != '' AND id_data_server = '$SvId'"; } else { $sqldata = "SELECT id,img_invoice FROM tagihan WHERE status = 'lunas' AND id_data_server = '$SvId'"; } $stmt = $pdo->prepare($sqldata); $stmt->execute(); $data = $stmt->fetchAll(); $id = $data[0]['id']; $url = baseurl()."/invoice/".$data[0]['img_invoice']; $APIwa->Create_Pesan($SvId,$id,$pesan['nama'],'tag'); } $Pesan = $APIwa->Get_Pesan(); if ($pesan['nama'] == 'Pesan Melunasi Tagihan') { $APIwa->Send_Pesan($SvId,'sendMediaFromUrl',[$_POST['nomor']],$Pesan, $url); } else { $APIwa->Send_Pesan($SvId,'sendMessage',[$_POST['nomor']],$Pesan); } sweetAlert("Pesan akan segera di kirim ke nomor ".$_POST['nomor'],"success"); } ?>