Di tutorial PHP cURL kali ini kita akan mencoba untuk mengambil data Saldo JHT dari situs BPJS Ketenagakerjaan, data yang akan diambil hanya sebatas Saldo JHT, kalo mau lebih silahkan di utak-atik sendiri.

Script Login BPJS Ketenagakerjaan

Buat file baru bernama bpjs.php tambahkan script dibawah ini

  1. <?php
  2. // bpjs.php
  3. $userid = 'USERID'; // userid bpjs anda
  4. $password = 'PASSWORD'; // password bpjs
  5. $url = 'https://es.bpjsketenagakerjaan.go.id/sso/login.bpjs';
  6.  
  7. $ch = curl_init();
  8. curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:36.0) Gecko/20100101 Firefox/36.0");
  9. curl_setopt($ch, CURLOPT_URL, $url );
  10. curl_setopt($ch, CURLOPT_POST, 1);
  11. curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
  12. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
  13. curl_setopt($ch, CURLOPT_POSTFIELDS, 'vc=&userid='.$userid.'&pass='.$password.'&submit=');
  14. curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookies');
  15. curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies');
  16. $hasil = curl_exec($ch);
  17. echo "< pre>";
  18. print_r($hasil);	
  19. echo "</ pre>";

Coba akses di browser, bila anda diarahkan ke https://es.bpjsketenagakerjaan.go.id/sso/login.bpjs?error=Silahkan%20Login%20ulang maka scriptnya sudah benar arahnya
layanan saldo bpjs

kalo enaknya sih pake PHP CLI biar ngga otomatis di-redirect
php cli

Biar ngga perlu susah-susah pindah ke PHP CLI, kita modifikasi script diatas, agar menampilkan script diatas di browser, hapus baris 17-19 ganti dengan

  1. $pecah = explode("<script>window.location='https://es.bpjsketenagakerjaan.go.id/sso/dashboard.bpjs';</script>", $hasil);
  2. if ($pecah) { 
  3. 	echo "< pre>";
  4. 	print_r(htmlentities($hasil));	
  5. 	echo "</ pre>";
  6. }
  7. else {
  8. 	echo "Gagal Login";
  9. }

Buka lagi di browser
sukses login

URL https://es.bpjsketenagakerjaan.go.id/sso/dashboard.bpjs hasil output dari script diatas tandanya kita sudah berhasil login ke sistem. Tinggal pengolahan data

KPJ dan NOHP

KPJ dan nomer HP harus diambil terlebih dahulu baru bisa kita masuk ke proses pengambilan Saldo JHT, karena data ini yang akan di kirim agar bisa mendapatkan Saldo yang kita inginkan.
Ubah script baris 16-25 diatas, ganti menjadi

  1. curl_setopt($ch, CURLOPT_URL, 'https://es.bpjsketenagakerjaan.go.id/sso/profil.bpjs');
  2. curl_setopt($ch, CURLOPT_REFERER, 'https://es.bpjsketenagakerjaan.go.id/sso/dashboard.bpjs');
  3. $hasil = curl_exec($ch);
  4. $pecah_kpj = explode('<td width="48%">', $hasil);
  5. print_r($pecah_kpj);

sekarang buka lagi di browser tampilannya menjadi
data profile

klik di tab LAYANAN atau biar mudahnya view source web tersebut
data kpj no hp
sukses :) data yang kita butuhkan ada di array 11 dan 12. Ubah baris no 20 di atas menjadi

  1. $string = preg_replace('/\s+/','',$pecah_kpj[11]);
  2. $string2 = preg_replace('/\s+/','',$pecah_kpj[12]);
  3. $KPJ = strstr($pecah_kpj[11], '</td>', true);
  4. $NOHP = strstr($pecah_kpj[12], '</td>', true);
  5. $string = preg_replace('/\s+/','',$KPJ);
  6. $string2 = preg_replace('/\s+/','',$NOHP);
  7. echo "< pre>";
  8. echo $string.':'.$string2;
  9. echo "< /pre>";

*nb : penamaan variabel diatas emang aneh :P asalan aja biar cepet jadi
Buka lagi browser dan hasilnya

13000000:628200000000

no KPJ dan no HP dipisahkan oleh tanda :.

Saldo JHT BPJS Ketenagakerjaan

Langkah terakhir adalah mengambil data saldo JHT, link yang perlu kita akses adalah https://es.bpjsketenagakerjaan.go.id/sso/act/ceksaldo.bpjs, tau adri mana? login aja ke situs BPJS langsung lalu cek URL-nya manual ;)
Dibawah script diatas tambahkan

  1. curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookies');
  2. curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies');
  3. curl_setopt($ch, CURLOPT_RETURNTRANSFER, FALSE);
  4. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  5. curl_setopt($ch, CURLOPT_POSTFIELDS, 'dataKpj='.$string.'&msisdnaktif=1&msisdn='.$string2);
  6. curl_setopt($ch, CURLOPT_URL, 'https://es.bpjsketenagakerjaan.go.id/sso/act/ceksaldo.bpjs');
  7. curl_setopt($ch, CURLOPT_REFERER, 'https://es.bpjsketenagakerjaan.go.id/sso/ceksaldo.bpjs');
  8. $hasil = curl_exec($ch);
  9. echo "<pre>";
  10. print_r($hasil);
  11. echo "</ pre>";

Buka di browser dan datanya dapat ;)
hasil saldo jht anda

Demo Online : labs.jaranguda.com

Join the Conversation

2 Comments

Your email address will not be published. Required fields are marked *