Git Product home page Git Product logo

rajaongkir's Introduction

RajaOngkir

Scrutinizer Code Quality Build Status Latest Stable Version Total Downloads License

RajaOngkir API PHP Class Library 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

PHP Framework yang mendukung instalasi diatas:

  1. O2System Framework
  2. Laravel Framework
  3. Yii Framework
  4. Symfony Framework
  5. CodeIgniter Framework

Instalasi pada framework lain atau PHP Native

require_once('path/to/steevenz/rajaongkir/src/autoload.php');

Penggunaan

use Steevenz\Rajaongkir;

/*
 * --------------------------------------------------------------
 * Inisiasi Class RajaOngkir
 *
 * Tipe account yang tersedia di RajaOngkir:
 * - starter (tidak support international dan metode waybill)
 * - basic
 * - pro
 *
 * @param string|array API Key atau konfigurasi dalam array
 * @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->getProvinces();

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

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

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

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

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

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

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

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

/*
 * --------------------------------------------------------------
 * Mendapatkan detail Origin Internasional
 * (tidak tersedia untuk tipe account starter)
 *
 * @param int City ID (optional)
 * @param int Province ID (optional)
 * --------------------------------------------------------------
 */
$internationalOrigin = $rajaongkir->getInternationalOrigin(152, 6);

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

/*
 * --------------------------------------------------------------
 * Mendapatkan detail tujuan Internasional
 * (tidak tersedia untuk tipe account starter)
 *
 * @param int Country ID
 * --------------------------------------------------------------
 */
$internationalDestination = $rajaongkir->getInternationalDestination(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->getCost(['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->getCost(['city' => 501], ['subdistrict' => 574],
                    [
                        '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->getCost(['city' => 501], ['subdistrict' => 574],
                     [
                         '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->getCost(['city' => 152], ['country' => 108], 1400, 'pos'); 

/*
 * --------------------------------------------------------------
 * Melacak status pengiriman
 *
 * @param string Receipt ID (Nomor Resi Pengiriman)
 * @param string Courier
 * --------------------------------------------------------------
 */
 $waybill = $rajaongkir->getWaybill('SOCAG00183235715', 'jne');
 
/*
 * --------------------------------------------------------------
 * Mendapatkan informasi nilai tukar rupiah terhadap US dollar.
 * --------------------------------------------------------------
 */
 $currency = $rajaongkir->getCurrency();
 
/*
 * --------------------------------------------------------------
 * Melakukan debugging errors.
 * --------------------------------------------------------------
 */
 if(false === ($waybill = $rajaongkir->getWaybill('SOCAG00183235715', 'jne'))) {
    print_out($rajaongkir->getErrors());
 }
 
/*
 * --------------------------------------------------------------
 * Mendapatkan daftar courier yang didukung oleh tipe akun anda
 * --------------------------------------------------------------
 */
 $supportedCouriers = $rajaongkir->getSupportedCouriers();
  
/*
 * --------------------------------------------------------------
 * Mendapatkan daftar way bill courier yang didukung oleh tipe akun anda
 * --------------------------------------------------------------
 */
 $supportedWayBills = $rajaongkir->getSupportedWayBills();

Untuk keterangan lebih lengkap dapat dibaca di Wiki

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.

rajaongkir's People

Contributors

steevenz avatar dandyarir avatar sofyansitorus avatar dankerizer avatar

Stargazers

Faldy avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.