Cara Ambil Harga Pengiriman (Ongkos Kirim) dari RajaOngkir.com
RajaOngkir menyediakan API ongkos kirim sehingga Anda dapat membuat perhitungan ongkos kirim otomatis di toko online, membuat aplikasi mobile, atau apapun sesuai kreativitas Anda. Untuk menggunakan API RajaOngkir anda harus mempunyai API Key dengan mendaftar disini. Setelah login anda bisa melihat API key di dashboard akun anda.
Selanjutnya kita akan membuat tampilan antar mukanya, dalam hal ini saya akan menggunakan JQuery EasyUI versi mobile. Berikut screenshoot tampilannya.
Dan hasilnya seperti gambar di bawah ini:
Langkah pertama setelah kita mendapatkan API Key adalah membut tampilan antar mukanya, berikut sourcecode nya:
Cara Ambil Harga Pengiriman (Ongkos Kirim) JNE dengan PHP
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: