-
-
Notifications
You must be signed in to change notification settings - Fork 40
Home
Ini adalah Advanced RajaOngkir API PHP Class, yang berfungsi untuk melakukan request API RajaOngkir.
- 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).
Cara terbaik untuk melakukan instalasi library ini adalah dengan menggunakan Composer
composer require steevenz/rajaongkir
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');
Set API Key RajaOngkir secara manual atau untuk melakukan overriding.
$rajaongkir->set_api_key('API_KEY_ANDA');
Set tipe akun RajaOngkir Key secara manual atau untuk melakukan overriding.
$rajaongkir->set_account_type(Rajaongkir::ACCOUNT_PRO);
Mendapatkan seluruh daftar kurir yang didukung oleh tipe akun anda.
$rajaongkir->get_courier_list();
Mendapatkan Currency USD (khusus untuk tipe akun basic & pro).
$rajaongkir->get_currency();
Mendapatkan list error dari proses request API RajaOngkir.
$rajaongkir->get_errors();
Mendapatkan response original dari proses request API RajaOngkir.
$rajaongkir->get_response();
Jika anda memiliki ide, kritik ataupun saran, anda dapat mengirimkan email ke [email protected]. Anda juga dapat mengunjungi situs pribadi saya di steevenz.com
Jika anda menemukan bugs atau issue, anda dapat mempostingnya di Github Issues.
- PHP 5.4+
- Composer
- O2System CURL (O2CURL)
Untuk mengetahui lebih lanjut mengenai RajaOngkir API, lihat di Dokumentasi RajaOngkir.