Skip to content
Steeven Lim edited this page Dec 28, 2015 · 8 revisions

RajaOngkir

Latest Stable Version Total Downloads Latest Unstable Version License

Ini adalah Advanced RajaOngkir API PHP Class, yang berfungsi untuk melakukan request API RajaOngkir.

Fitur

  • Support seluruh tipe akun RajaOngkir (Starter, Basic, Pro).
  • Support mendapatkan biaya ongkos kirim berdasarkan berat (gram) dan volume metrics (p x l x t - otomatis akan dikonversi ke satuan gram).

Instalasi

Cara terbaik untuk melakukan instalasi library ini adalah dengan menggunakan Composer

composer require steevenz/rajaongkir

Penggunaan

use Steevenz\Rajaongkir;

/*
 * --------------------------------------------------------------
 * Inisiasi Class RajaOngkir
 *
 * Tipe account yang tersedia di RajaOngkir:
 * - starter (tidak support international dan metode waybill)
 * - basic
 * - pro
 *
 * @param string API Key
 * @param string Account Type (lowercase)
 * --------------------------------------------------------------
 */
 $rajaongkir = new Rajaongkir('API_KEY_ANDA', Rajaongkir::ACCOUNT_STARTER);
 
 // inisiasi dengan config array
 $config['api_key'] = 'API_KEY_ANDA';
 $config['account_type'] = 'starter';
 
 $rajaongkir = new Rajaongkir($config);

/*
 * --------------------------------------------------------------
 * Mendapatkan list seluruh propinsi
 * --------------------------------------------------------------
 */
$provinces = $rajaongkir->get_provinces();

/*
 * --------------------------------------------------------------
 * Mendapatkan detail propinsi
 *
 * @param int Province ID
 * --------------------------------------------------------------
 */
$province = $rajaongkir->get_province(1);

/*
 * --------------------------------------------------------------
 * Mendapatkan list seluruh kota
 * --------------------------------------------------------------
 */
$cities = $rajaongkir->get_cities();

/*
 * --------------------------------------------------------------
 * Mendapatkan list seluruh kota di propinsi tertentu
 *
 * @param int Province ID
 * --------------------------------------------------------------
 */
$cities = $rajaongkir->get_cities(1);

/*
 * --------------------------------------------------------------
 * Mendapatkan detail kota
 *
 * @param int City ID
 * --------------------------------------------------------------
 */
$city = $rajaongkir->get_city(1);

/*
 * --------------------------------------------------------------
 * Mendapatkan list seluruh subdistrict dari kota tertentu
 *
 * @param int City ID
 * --------------------------------------------------------------
 */
$subdistricts = $rajaongkir->get_subdistricts(1);

/*
 * --------------------------------------------------------------
 * Mendapatkan detail subdistrict
 *
 * @param int Subdistrict ID
 * --------------------------------------------------------------
 */
$subdistrict = $rajaongkir->get_subdistrict(1);

/*
 * --------------------------------------------------------------
 * Mendapatkan list seluruh kota yang mendukung pengiriman
 * ke Internasional
 * (tidak tersedia untuk tipe account starter)
 * --------------------------------------------------------------
 */
$international_origins = $rajaongkir->get_international_origins();

/*
 * --------------------------------------------------------------
 * Mendapatkan list seluruh kota yang mendukung pengiriman
 * ke Internasional di propinsi tertentu
 * (tidak tersedia untuk tipe account starter)
 *
 * @param int Province ID
 * --------------------------------------------------------------
 */
$international_origins = $rajaongkir->get_international_origins(6);

/*
 * --------------------------------------------------------------
 * Mendapatkan detail Origin Internasional
 * (tidak tersedia untuk tipe account starter)
 *
 * @param int City ID
 * --------------------------------------------------------------
 */
$international_origin = $rajaongkir->get_international_origin(152);

/*
 * --------------------------------------------------------------
 * Mendapatkan list seluruh negara tujuan Internasional
 * (tidak tersedia untuk tipe account starter)
 * --------------------------------------------------------------
 */
$international_destinations = $rajaongkir->get_international_destinations();

/*
 * --------------------------------------------------------------
 * Mendapatkan detail tujuan Internasional
 * (tidak tersedia untuk tipe account starter)
 *
 * @param int Country ID
 * --------------------------------------------------------------
 */
$international_destination = $rajaongkir->get_international_destination(108);

/*
 * --------------------------------------------------------------
 * Mendapatkan harga ongkos kirim berdasarkan berat dalam gram
 *
 * @param array Origin 
 * @param array Destination
 * @param int|array Weight|Metrics
 * @param string Courier
 * --------------------------------------------------------------
 */
$cost = $rajaongkir->get_cost(['city' => 501], ['subdistrict' => 574], 1000, 'jne');

/*
 * --------------------------------------------------------------
 * Mendapatkan harga ongkos kirim berdasarkan volume metrics
 * atau berdasarkan ukuran panjang x lebar x tinggi
 *
 * Catatan: 
 * Berat akan otomatis dihitung berdasarkan volume metrics.
 *
 * @param array Origin 
 * @param array Destination
 * @param int|array Weight|Metrics
 * @param string Courier
 * --------------------------------------------------------------
 */
$cost = $rajaongkir->get_cost(['city' => 501], ['subdistrict' => 574], 
                                        array( 'length' => 50, 
                                               'width' => 50, 
                                               'height' => 50
                                        ), 'jne');

/*
 * --------------------------------------------------------------
 * Mendapatkan harga ongkos kirim berdasarkan berat dalam gram
 * atau berdasarkan ukuran panjang x lebar x tinggi
 *
 * Catatan: 
 * Jika ukuran menghasilkan berat yang lebih besar dari
 * berat yang didefinisikan, berat yang akan dipakai sebagai
 * kalkulasi ongkos kirim adalah berat berdasarkan volume metrics
 *
 * @param array Origin 
 * @param array Destination
 * @param int|array Weight|Metrics
 * @param string Courier
 * --------------------------------------------------------------
 */
 $cost = $rajaongkir->get_cost(['city' => 501], ['subdistrict' => 574], 
                                        array( 'weight' => 1000,
                                                'length' => 50, 
                                                'width' => 50, 
                                                'height' => 50
                                        ), 'jne');
                                        
/*
 * --------------------------------------------------------------
 * Mendapatkan harga ongkos kirim international berdasarkan berat 
 * dalam gram (tidak tersedia untuk tipe account starter)
 *
 * @param array Origin 
 * @param array Destination
 * @param int|array Weight|Metrics
 * @param string Courier
 * --------------------------------------------------------------
 */
$cost = $rajaongkir->get_cost(['city' => 152], ['country' => 108], 1400, 'pos');                                        

/*
 * --------------------------------------------------------------
 * Melacak status pengiriman
 *
 * @param string Receipt ID (Nomor Resi Pengiriman)
 * @param string Courier
 * --------------------------------------------------------------
 */
 $waybill = $rajaongkir->get_waybill('SOCAG00183235715', 'jne');

/*
 * --------------------------------------------------------------
 * Get Errors
 *
 * @return array
 * --------------------------------------------------------------
 */
if(! $cost)
{
   // Mendapatkan list errors
   print_r($rajaongkir->get_errors());
}

/*
 * --------------------------------------------------------------
 * Get Response
 * Response original dari proses CURL request RajaOngkir
 * 
 * @see    http://github.com/circlecreative/o2curl/wiki
 * @param  string Response offset O2CURL
 * @return mixed
 * --------------------------------------------------------------
 */
$rajaongkir->get_response('header');

Class Reference

Set API Key

Set API Key RajaOngkir secara manual atau untuk melakukan overriding.

$rajaongkir->set_api_key('API_KEY_ANDA');

Set Account Type

Set tipe akun RajaOngkir Key secara manual atau untuk melakukan overriding.

$rajaongkir->set_account_type(Rajaongkir::ACCOUNT_PRO);

Get Courier List

Mendapatkan seluruh daftar kurir yang didukung oleh tipe akun anda.

$rajaongkir->get_courier_list();

Get Currency

Mendapatkan Currency USD (khusus untuk tipe akun basic & pro).

$rajaongkir->get_currency();

Get Errors

Mendapatkan list error dari proses request API RajaOngkir.

$rajaongkir->get_errors();

Get Response

Mendapatkan response original dari proses request API RajaOngkir.

$rajaongkir->get_response();

Ide, Kritik dan Saran

Jika anda memiliki ide, kritik ataupun saran, anda dapat mengirimkan email ke [email protected]. Anda juga dapat mengunjungi situs pribadi saya di steevenz.com

Bugs and Issues

Jika anda menemukan bugs atau issue, anda dapat mempostingnya di Github Issues.

Requirements

Referensi

Untuk mengetahui lebih lanjut mengenai RajaOngkir API, lihat di Dokumentasi RajaOngkir.