Jasa Pembuatan Whatsapp Bot Click Disini

Tutorial Program Cek Ongkos Kirim Dengan Menggunakan API RajaOngkir (Akun Starter)

Script Cek Ongkos Kirim API RajaOngkir (Akun Starter)

Sesuai dengan deskripsi di webnya, RajaOngkir merupakan sebuah situs dan web service (API) yang menyediakan informasi ongkos kirim dari berbagai kurir di Indonesia seperti POS Indonesia, JNE, TIKI, PCP, ESL, dan RPX. Dalam artikel ini akan diberikan tutorial pembuatan program PHP untuk melakukan pengecekan ongkos kirim. Saat ini RajaOngkir memiliki 3 tipe akun, yaitu Starter, Basic, dan Pro. Perbedaan dari ketiga macam akun tersebut dapat dilihat pada gambar di bawah ini.

Tipe Akun RajaOngkir

Sesuai dengan judul, pada artikel kali ini akan diberikan contoh program menghitung ongkos kirim dengan menggunakan akun Starter. Kekurangan dari akun ini adalah tidak memiliki fasilitas untuk melakukan perhitungan sampai tingkat kecamatan. Jadi perhitungan hanya menggunakan nama kota / kabupaten sebagai asal dan tujuannya. Yang pertama kali perlu dilakukan adalah melakukan pendaftaran dan dapatkan api key seperti gambar di bawah ini.

API Key RajaOngkir
Berikut ini merupakan penjelasan dari program yang sudah dibuat.

$api_key = "diisi dengan api key anda";

Isilah baris berikut dengan api key dari akun starter anda seperti yang telah dijelaskan sebelumnya.

																
function get_city($key){
        $data = [
            'status' => false,
            'result' => []
        ]; 
        $curl = curl_init();
        curl_setopt_array($curl, array(
          CURLOPT_URL => "https://api.rajaongkir.com/starter/city",
          CURLOPT_RETURNTRANSFER => true,
          CURLOPT_ENCODING => "",
          CURLOPT_MAXREDIRS => 10,
          CURLOPT_TIMEOUT => 30,
          CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
          CURLOPT_CUSTOMREQUEST => "GET",
          CURLOPT_HTTPHEADER => array(
            "key: ".$key
          ),
        ));
        
        $response = curl_exec($curl);
        $err = curl_error($curl);
        
        curl_close($curl);
        
        if ($err) {
            $data['result'] = $err;
        } else {
            $result = json_decode($response, true);
            if ($result['rajaongkir']['status']['code'] == 200){
                $data['status'] = true;
                $data['result'] = $result['rajaongkir']['results'];
            } else {
                $data['result'] = $result['rajaongkir']['status']['description'];
            }
        }
        return $data;
    }

															

Function di atas berfungsi untuk mendapatkan daftar kota sesuai dengan API dari RajaOngkir. Contoh di sini menggunakan kota karena keterbatasan akun starter yang tidak memiliki fitur perhitungan ongkos kirim sampai tingkat kecamatan.


																
    function hitung_ongkir($kota_asal, $kota_tujuan, $kurir, $berat, $key){
        $curl = curl_init();
        curl_setopt_array($curl, array(
          CURLOPT_URL => "https://api.rajaongkir.com/starter/cost",
          CURLOPT_RETURNTRANSFER => true,
          CURLOPT_ENCODING => "",
          CURLOPT_MAXREDIRS => 10,
          CURLOPT_TIMEOUT => 30,
          CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
          CURLOPT_CUSTOMREQUEST => "POST",
          CURLOPT_POSTFIELDS => "origin=".$kota_asal."&destination=".$kota_tujuan."&weight=".$berat."&courier=".$kurir,
          CURLOPT_HTTPHEADER => array(
            "content-type: application/x-www-form-urlencoded",
            "key: ".$key
          ),
        ));
        
        $response = curl_exec($curl);
        $err = curl_error($curl);
        
        curl_close($curl);
        
        if ($err) {
            $data['result'] = $err;
        } else {
            $result = json_decode($response, true);
            if ($result['rajaongkir']['status']['code'] == 200){
                $data['status'] = true;
                $data['result'] = $result['rajaongkir']['results'][0];
            } else {
                $data['result'] = $result['rajaongkir']['status']['description'];
            }
        }
        return $data;
    }

															

Function di atas digunakan untuk melakukan perhitungan ongkir dengan parameter id kota asal, id kota tujuan, jenis kuris, berat kiriman, dan api key.

																
       <form method="GET">
            Kota Asal Pengiriman<br/>
            <select name="kota_asal">
                <?php
                    foreach ($city as $item):
                        echo "<option value='".$item['city_id']."'>".$item['type']." ".$item['city_name']."</option>";
                    endforeach;
                ?>
            </select>
            <br/><br/>
            Kota Tujuan Pengiriman<br/>
            <select name="kota_tujuan">
                <?php
                    foreach ($city as $item):
                        echo "<option value='".$item['city_id']."'>".$item['type']." ".$item['city_name']."</option>";
                    endforeach;
                ?>
            </select>
            <br/><br/>
            Kurir<br/>
            <select name="kurir">
                <option value="jne">JNE</option>
                <option value="pos">POS Indonesia</option>
                <option value="tiki">TIKI</option>
            </select>
            <br/><br/>
            Berat<br/>
            <input type=text name="berat" value=500> gram
            <br/><br/>
            <button type="submit">CEK Ongkir</button>
        </form>

															

Kode di atas hanyalah form tampilan berupa pilihan kota asal, kota tujuan, jenis kurir dan berat kiriman. Tampilan form contoh di sini sangat sederhana. Anda dapat mengubah nya sesuai dengan kebutuhan dari program yang anda buat nantinya.

																
       if (isset($_GET['kota_asal'])){
            $kota_asal = $_GET['kota_asal'];
            $kota_tujuan = $_GET['kota_tujuan'];
            $kurir = $_GET['kurir'];
            $berat = $_GET['berat'];
            $ongkir = hitung_ongkir($kota_asal,$kota_tujuan,$kurir,$berat,$api_key);
            echo "<pre>";
            print_r($ongkir['result']);
            echo "</pre>";
        }

															

Setelah membuat tampilan form, langkah berikutnya adalah melakukan proses perhitungan ongkos kirim saat form tersebut di submit seperti contoh kode di atas. Hasil yang ditampilkan di sini berupa array dan ditampilkan apa adanya hanya sebagai contoh nilai.

Contoh program di sini melakukan request daftar kota setiap halaman tersebut dimuat. Sebaiknya dalam penggunaan nyata nantinya, daftar kota ini bisa dimasukkan ke dalam tabel di database anda sehingga tidak perlu melakukan request API terus menerus. Request API hanya dilakukan saat melakukan perhitungan ongkos kirim saja nantinya. Demikianlah artikel Tutorial Program Cek Ongkos Kirim Dengan Menggunakan API RajaOngkir (Akun Starter) ini. Untuk perhitungan oskos kirim tingkat kecamatan akan dijelaskan pada artikel selanjutnya. Selamat mencoba.

Getting Info...

About the Author

Mungkin ketidaksempurnaan kita yang membuat kita begitu sempurna satu sama lain.Cinta adalah ruang dan waktu yang diukur oleh hati.Cinta terdiri dari satu jiwa yang menghuni dua tubuh.Kamu mungkin memegang tanganku untuk sementara waktu, tetapi kamu…

Post a Comment

Ngapain?
DoodStream - Upload videos share & make money
Cookie Consent
We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.
Oops!
It seems there is something wrong with your internet connection. Please connect to the internet and start browsing again.
AdBlock Detected!
We have detected that you are using adblocking plugin in your browser.
The revenue we earn by the advertisements is used to manage this website, we request you to whitelist our website in your adblocking plugin.
Site is Blocked
Sorry! This site is not available in your country.