<?php $data = "1234"; //Ganti dengan consumerID dari BPJS $secretKey = "5678"; //Ganti dengan consumerSecret dari BPJS $url = "http://api.asterix.co.id/SepWebRest/peserta/nik/"; //Lihat katalog $nik = "3302014525481245"; //ganti dengan NIK (nomor KTP) date_default_timezone_set('UTC'); $tStamp = strval(time()-strtotime('1970-01-01 00:00:00')); $signature = hash_hmac('sha256', $data."&".$tStamp, $secretKey, true); $encodedSignature = base64_encode($signature); $urlencodedSignature = urlencode($encodedSignature); echo "X-cons-id: " .$data ."<br>"; echo "X-timestamp:" .$tStamp ."<br>"; echo "X-signature: " .$encodedSignature."<br>"; $opts = array( 'http'=>array( 'method'=>"GET", 'header'=>"Host: api.asterix.co.id\r\n". "Connection: close\r\n". "X-timestamp: ".$tStamp."\r\n". "X-signature: ".$encodedSignature."\r\n". "User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64)\r\n". "X-cons-id: ".$data."\r\n". "Accept: application/json\r\n" ) ); $context = stream_context_create($opts); $result = file_get_contents($url.$nik, false, $context); echo "<br>Respon:"; if ($result === false) { echo "Tidak dapat menyambung ke server"; } else { $resultarr=json_decode($result, true); $s=$resultarr['response']['start']; $l=$resultarr['response']['limit']; $c=$resultarr['response']['count']; echo "<br>Ditemukan ".$c." data, tampil mulai dari nomor ".$s." hingga nomor ".$l."<br>"; for($i=0;$i<$c;$i++){ echo "<h1>Nama: ".$resultarr['response']['list'][$i]['nama']."</h1>"; } echo "<pre>"; //print_r($resultarr['response']); echo "</pre>"; } ?>
Sumber rujukan:http://api.bpjs-kesehatan.go.id
salam hormat,
makasih sdh berbagi, semoga baahagia senantiasa buat bapak.
saya sdh coba script nya, hanya masih tampil pesan eror sbb:
X-cons-id: 1000
X-timestamp:1476729329
X-signature: hc5xJRpiqKHW4BzMu2L8S08IwuGstt2jvhXkbgTmIbc=
Warning: file_get_contents(http://api.asterix.co.id/SepWebRest/peserta/nik/7306080302740005): failed to open stream: HTTP request failed! in D:\xampp\htdocs\simrs\tesbrid1.php on line 34
Respon:Tidak dapat menyambung ke server
sy pake id: 1000 dan key: 1*** (dapatnya dari info teman juga)
itu bisa jadi karena alamat http://api.asterix.co.id/SepWebRest/peserta/nik/7306080302740005 tidak dapat dibuka belelui browser. Coba silahkan buka dahulu alamat http://api.asterix.co.id/SepWebRest/peserta/nik/7306080302740005 di browser anda atau lewat REST Client
betul mas, alamatnya tela berubah jadi http://dvlp.bpjs-kesehatan.go.id:8081/devWsLokalRest/ dan sdh berhasil tess lewat REST Client..
hanya respon nya hanya spt ini jika digunakan pd kode di atas:
X-cons-id: 1000
X-timestamp:1000
X-signature: lhnmYpeNhUueTsI4WBs2V1xfQUyYteYOAZ7k6dYfGS4=
Respon:
Ditemukan data, tampil mulai dari nomor hingga nomor
itu kenapa mas ya?
ini kodenya sesuai yg diatas:
<?php
// cari nama berdasar nik
$data = "1000"; //consumerID BPJS
$secretKey = "1000"; //consumerSecret BPJS
$url = "http://dvlp.bpjs-kesehatan.go.id:8081/devWsLokalRest/Peserta/Peserta/nik/";
//$url = "http://api.bpjs-kesehatan.go.id/devwslokalrest/peserta/peserta/nik/";
$nik = "1674014111920002"; //NIK (nomor KTP)
date_default_timezone_set('UTC');
$tStamp = strval(time()-strtotime('1970-01-01 00:00:00'));
$signature = hash_hmac('sha256', $data."&".$tStamp, $secretKey, true);
$encodedSignature = base64_encode($signature);
$urlencodedSignature = urlencode($encodedSignature);
echo "X-cons-id: " .$data ."”;
echo “X-timestamp:” .$tStamp .””;
echo “X-signature: ” .$encodedSignature.””;
$opts = array(
‘http’=>array(
‘method’=>”GET”,
‘header’=>”Host: dvlp.bpjs-kesehatan.go.id:8081\r\n”.
“Connection: close\r\n”.
“X-timestamp: “.$tStamp.”\r\n”.
“X-signature: “.$encodedSignature.”\r\n”.
“User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64)\r\n”.
“X-cons-id: “.$data.”\r\n”.
“Accept: application/json\r\n”
)
);
$context = stream_context_create($opts);
$result = file_get_contents($url.$nik, false, $context);
echo “Respon:”;
if ($result === false)
{
echo “Tidak dapat menyambung ke server”;
} else {
$resultarr=json_decode($result, true);
$s=$resultarr[‘response’][‘start’];
$l=$resultarr[‘response’][‘limit’];
$c=$resultarr[‘response’][‘count’];
echo “Ditemukan “.$c.” data, tampil mulai dari nomor “.$s.” hingga nomor “.$l.””;
for($i=0;$i<$c;$i++){
echo "Nama: “.$resultarr[‘response’][‘list’][$i][‘nama’].””;
}
echo “”;
//print_r($resultarr[‘response’]);
echo “”;
}
?>
output namanya belum tampil.
makasih
lihat:
$data = "1000"; //consumerID BPJS
$secretKey = "1000"; //consumerSecret BPJS
ganti 1000 dengan kode konsumer ID dari BPJS dan consumer ID dari BPJS. Setiap rumahsakit pasti diberikan untuk IDS dan secret untuk percobaan
Untuk melihat detail hasil response dari server BPJS, lihat:
//print_r($resultarr['response']);
hilangkan tanda // menjadi:
print_r($resultarr['response']);
maaf mas, masih eror. bisa konsul di email?
bisa, silahkan
mas, apakah urlnya sudah tidak bisa digunakan? saya tidak bisa mengaksesnya, apa ada url lain?
url yang mana mas?
Mas punya cons-id dan secret ny g mas, buat belajar web service bpjs. mohon di sharing mas kalo ada. semoga berkah.
mohon petunjuknya mas sy udah coba tp ms dapat respon json:
{“metadata”:{“code”:”401″,”message”:”Expired Service”},”response”:{“peserta”:null}}
code: 401 bererti autentifikasinya salah, coba cek lagi kode consumerID dan consumerSecret serta pastikan jam pada komputer sudah sesuai dengan jam internet. bisa cek jam saat ini di http://www.noyvesto.net/2016/04/waktu-sekarang-di-Indonesia-WIB-WITA-WIT.html
Halo mas, mohon bantuannya nih ane juga ada kendala seperti ini.
consumerID dan secretnya sudah benar, tapi respon jsonnya masih seperti ini {“metadata”:{“code”:”401″,”message”:”Expired Service”},”response”:{“peserta”:null}}. ane gunain timeformatnya local time. kira2 apa yang salah ya mas?
alhamdulillah, terima kasih mas,
kebetulan saya lagi develop buat bridging bpjs di sebuah RS, sempat bingung terkait dgn masalah signature dan akses webservicenya.
semoga ilmunya berkah buat mas dan keluarga 🙂
bisa bagi gak mas, mau belajar bridging juga nih
bisa minta punya cons-id dan secret mas buat belajar bridging
punya saya sudah expired
Assalamu’alaikum… Artikelnya bagus Mas, bermanfaat banget bisa menambah wawasan saya. Kebetulan saya juga mau belajar oprek untuk bridging BPJS dengan puskesmas, hanya saja saya masih bingung syarat dan caranya bridging (dengan PHP), maklumlah sebagai pemula. Bisa minta contact emailnya Mas.
Wa’alaikumsalam, silahkan mas, email saya contact[at]latiful.hayat.web.id ganti [at] dengan @
mas saya sudah berhasil hit APinya namun responya begini : Koneksi Service KP Gagal
Maaf saya tidak dapat mencoba lagi karena consumerid dan consumerSecret yang saya punya tidak berlaku lagi. silahkan coba tanyakan ke pihak programer BPJS untuk masalah tersebut
mas kira kira untuk mendapatkan secret key dan consumer id nya gimana ??
Silahkan datang ke BPJS dengan membawa surat keterangan dari rumah sakit
This blog was… how do I say it? Relevant!! Finally I’ve found something that helped me.
Appreciate it!
bang saya coba kok pesannya gini ya :
{“metadata”:{“message”:”Unauthorized, invalid signature”,”Code”:401}}1
401 berarti unauthorised, alias salah. Silahkan coba pakai restclient. jika pakai restclient berhasil maka key masih aktif, tapi kalau tidak bnerhasil bererti key sudah tidak aktif lagi. Perhatikan pula huruf dan angka yang hampir sama, misalnya S dgn 5, l dgn 1 silahkan cek lagi.
Mas, ada contoh yang panggil method POST gak? Contohnya untuk update data ruangan. Saya udah coba modifikasi code nya… tapi kok respon nya tetap url not found ya? Mohon bantuanya mas… terima kasih
maaf mas saya tidak bisa coba-coba lagi karena tidak punya cons-id dan secret mas untuk belajar, sudah expired
Mas mau konsul lewat chat Wa atau Telegram bisa ? ini saya coba juga belum berhasil
maaf tidak bisa, saya sudah tidak bisa mencoba lagi karena consID sudah expired mas, saya hanya membantu teman untuk koneksi bridging. Bukan yang membuat bridging
kalau errornya begini
{“metadata”:{“code”:”401″,”message”:”Expired Service”},”response”:{“peserta”:null}}
kenapa yaa?
consid : 1***
pass : ***2
Assalamualaikum mas..
perkenalkan saya Abdul Fattah
Saya ingin Mencoba Bridging BPJS dan SIMRS GOS kemenkes
apakah Ada Dari saudara sekalian File Bridging Proses yang sudah termodifikasi dengan baik
Jika ada Sya mohon sekiranya agar dari sebagian saudara sekalian mau berbagi file PHP tersebut sebagai bahan pembelajaran yg Inshaa Allah menjadi amal jariah jika berhasil saya aplikasikan bagi rumah sakit kami kedepannya. sekiranya ada saudara sekalian yg ingin berbagi mohon sekiranya luangkan waktu untuk mengirim File Bridging PHP tersebut ke Email saya : Mediapaser [at] gmail.com bagi yg berkenan berbagi semoga Allah Melimpahkan rizki yg banya. amin dan terimkasih atas perhatian serta bantuannya.
Trimakasih ilmu nyaa… 😀
Saya Sukses…