[trick] Mengambil Data Detail SEP Bridging BPJS Dengan Http Class

Bismillah…

ada banyak class class php yang bisa buat ngehandle cURL php secara native…. kenapa gw ngehindarin native, karena gw males ngulang fungsi yang sama untuk ouput yang sama…. ini bbrp class cURL yang gw dapet dari internet:

  1. cURL via https://github.com/philsturgeon/codeigniter-curl
  2. GuzzlePHP via http://docs.guzzlephp.org/en/latest/
  3. restClient via https://github.com/philsturgeon/codeigniter-restclient
  4. Http via http://phpfour.com/php-http-class/ or https://github.com/phpfour/http

Yap, kalo di aplikasi yang gw kembangin, yang udah berhasil ditest untuk dilempar ke service bpjs baru secara native dan Http. karena judul kali ini dengan Http Class nah, ini bbrp tambahan script http yang memang belum diupdate, karena bpjs menerima header dalam mengecek data yang dipinta, sedangkan http class belum ada silahkan tambahkan (informasi ini didapat dari kolom komentar):

//http://phpfour.com/php-http-class/#comment-591408832
/**
* Add a header to the request
* 
* @param string Name of header
* @param string Value of header
* @return void
*/
function addHeader($name, $value){
if(!empty($name) && !empty($value)){
$this->headers[] = $name . ": " . $value;
}
}

//In method execute() add
curl_setopt($ch, CURLOPT_HTTPHEADER,	$this->headers);	// Set custom headers

Kalo udah ditambahkan ini yang gw lakuin memanggil fungsi fungsi dari class http:

// HASH YANG DITENTUKAN OLEH BPJS
$hash = bpjs_hash_request(); //exit(dump($hash));
$this->http->useCurl();
$this->http->setMethod('GET');
$this->http->addHeader('X-cons-id', $hash['con']);
$this->http->addHeader('X-Timestamp', $hash['tim']);
$this->http->addHeader('X-Signature', $hash['sig']);
$this->http->execute('IP_BPJS/SEP_PASIEN');
echo "<pre>"; echo ($this->http->error) ? $this->http->error : $this->http->result;
$this->http->clear();

Dan nanti responsenya 200, kelar deh. dengan bbrp line saja kita sudah bisa mengambil data dari BPJS tanpa dengan pengulangan fungsi curl php sendiri.

Have a nice day!

Leave a comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: