Archive

Posts Tagged ‘jne api’

Cara Ambil Harga Pengiriman (Ongkos Kirim) JNE dengan PHP

3 August 2012 86 comments

Setelah melakukan pencarian panjang akhirnya saya menemukan apa yang saya cari , yaitu : cara menghitung biaya pengiriman JNE.

Awalnya saya search di google dengan keyword “JNE API”. Mengejutkan hasilnya, ternyata JNE tidak mengeluarkan atau membuat API. Entah dengan alasan apa perusahaan pengiriman itu memproteksi diri untuk tidak membuat API. Bahkan sekarang teknik-teknik lama sudah tidak bisa digunakan karena adanya captcha di web nya JNE(padahal dulu gak ada). Semakin jelas kan klo JNE memang memproteksi diri.

Stop. dari beberapa hasil pencarian google dengan keyword di atas akhirnya saya “nyasar” di http://api.ongkir.info/docs/index.html. dan inilah yang saya cari-cari selama ini.

Di bagian paling bawah web ongkir.info ada tulisan “Ongkir.Info tidak berafiliasi dengan perusahaan yang disebutkan.” WTF?? Saya heran  justru web/orang lain malah yang membuat API JNE.

Ok, cukup sampai sini kejengkelan saya terhadap JNE. Kita lanjut bagaimana cara memanfaatkan API yang diberikan oleh ongkir.info ini ?

pertama silahkan baca disini http://api.ongkir.info/docs/starting.html

Selanjutnya, lakukan registrasi di http://api.ongkir.info//akun/registrasi

Setalah mendapakan email verifikasi dari ongkir.info maka login ke http://api.ongkir.info/akun/login. Jika login sukses maka anda akan mendapatkan API-Key berupa deretan karakter sepanjang 32, digunakan untuk validasi pemanggilan API.

selanjutnya untuk memudahkan penggunaan API Ongkir.Info, telah disediakan pustaka (library) Anda dapat mendownload di http://api.ongkir.info/docs/example/php_sample.html.  buat file baru dengan nama class.php, copy paste script php di bagian Wrapper untuk API City dan Wrapper untuk API Cost.

berikut ini file class.php yang sudah saya modifikasi sedikit.


<?php
function get_city($query,$type)
{
//library yang harus anda download
require_once 'REST_Ongkir.php';

 $rest = new REST_Ongkir(array(
 'server' => 'http://api.ongkir.info/'
 ));

//ganti API-Key dibawah ini sesuai dengan API Key yang anda peroleh setalah mendaftar di ongkir.info
 $result = $rest->post('city/list', array(
 'query' => $query,
 'type' => $type,
 'courier' => 'jne',
 'API-Key' => 'ABCDEFGHIJKLMNOPQRSTUVWXYZ123456' ), 'JSON');

 try
 {
 $status = $result['status'];

 // Handling the data
 if ($status->code == 0)
 {
 return $cities = $result['cities'];
 //print_r($cities);
 //foreach ($cities->item as $item)
 //{
 //echo 'Kota: ' . $item . '<br />';
 // }
 }
 else
 {
 echo 'Tidak ditemukan kota yang diawali "band"';
 }

 }
 catch (Exception $e)
 {
 echo 'Processing error.';
 }
}

function get_cost($from, $to,$weight)
{
//library yang harus anda download
 require_once 'REST_Ongkir.php';

 $rest = new REST_Ongkir(array(
 'server' => 'http://api.ongkir.info/'
 ));

//ganti API-Key dibawah ini sesuai dengan API Key yang anda peroleh setalah mendaftar di ongkir.info
 $result = $rest->post('cost/find', array(
 'from' => $from,
 'to' => $to,
 'weight' => $weight.'000',
 'courier' => 'jne',
'API-Key' =>'ABCDEFGHIJKLMNOPQRSTUVWXYZ123456'
 ));

 try
 {
 $status = $result['status'];

 // Handling the data
 if ($status->code == 0)
 {
 $prices = $result['price'];
 $city = $result['city'];

 echo 'Ongkos kirim dari ' . $city->origin . ' ke ' . $city->destination . '<br /><br />';

 foreach ($prices->item as $item)
 {
 echo 'Layanan: ' . $item->service . ', dengan harga : Rp. ' . $item->value . ',- <br />';
 }
 }
 else
 {
 echo 'Tidak ditemukan jalur pengiriman dari surabaya ke jakarta';
 }

 }
 catch (Exception $e)
 {
 echo 'Processing error.';
 }
}

//$kota = get_city('ban','origin');
//echo json_encode($kota);

?>

Setelah itu buat lah form kira-kira tamplannya seperti ini:

Read more…

%d bloggers like this: