kavist / rajaongkir

Klien API RajaOngkir untuk PHP.
https://packagist.org/packages/kavist/rajaongkir
MIT License
134 stars 67 forks source link

Klien API RajaOngkir untuk PHP

Klien API RajaOngkir untuk PHP

Latest Version Packagist Version PHP Version Required MIT Licensed Build Status StyleCI

Paket pustaka PHP untuk mengakses API RajaOngkir dengan mudah.

Fitur

To Do

Persyaratan Sistem

Instalasi

Gunakan Composer untuk menginstal pustaka ini.

$ composer require kavist/rajaongkir:^1.1

Anda juga bisa menambahkan dependensi ke composer.json.

{
    "require": {
        "kavist/rajaongkir": "^1.1"
    }
}

Integrasi ke Laravel

Bagi pengguna Laravel 5.5 atau lebih tinggi, paket ini akan tersedia secara otomatis berkat fitur auto-discovery. Anda bisa langsung lanjut ke bagian konfigurasi untuk Laravel di bawah.

Bagi pengguna Laravel sebelum versi 5.5, kode dalam proyek ini tidak dites di versi Laravel dibawah 5.5. Jadi, dimohon pengertiannya jika pustaka ini tidak dapat berjalan dengan semestinya.

Konfigurasi

Untuk pengguna PHP native, deklarasikan kunci API sebagai parameter ketika Anda menginstansiasi class Kavist\RajaOngkir\RajaOngkir.

$rajaOngkir = new RajaOngkir('isi_API_key_Anda_disini');

Konfigurasi untuk Laravel

Anda cukup mengatur nilai RAJAONGKIR_API_KEY yang berisi kunci API ke environment variable.

RAJAONGKIR_API_KEY=isi_API_key_Anda_disini

Anda juga bisa menerbitkan berkas konfigurasi paket ini untuk konfigirasi lebih jauh.

$ php artisan vendor:publish --provider="Kavist\RajaOngkir\Providers\LaravelServiceProvider"

Penggunaan

Provinsi

Daftar provinsi

Untuk mendapatkan daftar provinsi, gunakan metode provinsi()->all().

// Native PHP
use Kavist\RajaOngkir\RajaOngkir;

$rajaOngkir = new RajaOngkir($apiKey);
$daftarProvinsi = $rajaOngkir->provinsi()->all();

// Laravel
use Kavist\RajaOngkir\Facades\RajaOngkir;

$daftarProvinsi = RajaOngkir::provinsi()->all();

Ambil provinsi berdasarkan ID

Untuk mendapatkan provinsi berdasarkan ID, gunakan metode provinsi()->find(int|string $id).

// Native PHP
use Kavist\RajaOngkir\RajaOngkir;

$rajaOngkir = new RajaOngkir($apiKey);
$daftarProvinsi = $rajaOngkir->provinsi()->find(11);

// Laravel
use Kavist\RajaOngkir\Facades\RajaOngkir;

$daftarProvinsi = RajaOngkir::provinsi()->find(11);

Pencarian provinsi berdasarkan nama

Untuk mencari provinsi berdasarkan nama, gunakan metode provinsi()->search(string $searchTerm)->get().

// Native PHP
use Kavist\RajaOngkir\RajaOngkir;

$rajaOngkir = new RajaOngkir($apiKey);
$daftarProvinsi = $rajaOngkir->provinsi()->search('ja')->get();

// Laravel
use Kavist\RajaOngkir\Facades\RajaOngkir;

$daftarProvinsi = RajaOngkir::provinsi()->search('ja')->get();

Kota/Kabupaten

Daftar kota/kabupaten

Untuk mendapatkan daftar kota/kabupaten, gunakan metode kota()->all().

// Native PHP
use Kavist\RajaOngkir\RajaOngkir;

$rajaOngkir = new RajaOngkir($apiKey);
$daftarProvinsi = $rajaOngkir->kota()->all();

// Laravel
use Kavist\RajaOngkir\Facades\RajaOngkir;

$daftarProvinsi = RajaOngkir::kota()->all();

Ambil kota/kabupaten berdasarkan ID

Untuk mendapatkan kota/kabupaten berdasarkan ID, gunakan metode kota()->find(int|string $id).

// Native PHP
use Kavist\RajaOngkir\RajaOngkir;

$rajaOngkir = new RajaOngkir($apiKey);
$daftarProvinsi = $rajaOngkir->kota()->find(80);

// Laravel
use Kavist\RajaOngkir\Facades\RajaOngkir;

$daftarProvinsi = RajaOngkir::kota()->find(80);

Daftar kota/kabupaten berdasarkan ID provinsinya

Untuk mendapatkan kota/kabupaten berdasarkan ID provinsinya, gunakan metode kota()->dariProvinsi(int|string $provinceId)->get().

// Native PHP
use Kavist\RajaOngkir\RajaOngkir;

$rajaOngkir = new RajaOngkir($apiKey);
$daftarProvinsi = $rajaOngkir->kota()->dariProvinsi(11)->find(80);

// Laravel
use Kavist\RajaOngkir\Facades\RajaOngkir;

$daftarProvinsi = RajaOngkir::kota()->dariProvinsi(11)->find(80);

Pencarian kota/kabupaten berdasarkan nama

Untuk mencari kota/kabupaten berdasarkan nama, gunakan metode kota()->search(string $searchTerm)->get().

// Native PHP
use Kavist\RajaOngkir\RajaOngkir;

$rajaOngkir = new RajaOngkir($apiKey);
$daftarProvinsi = $rajaOngkir->kota()->search('su')->get();

// Laravel
use Kavist\RajaOngkir\Facades\RajaOngkir;

$daftarProvinsi = RajaOngkir::kota()->search('su')->get();

Anda juga bisa mencari kota/kabupaten dari provinsi tertentu dengan memanggil metode dariProvinsi() sebelum memanggil metode search().

// Native PHP
use Kavist\RajaOngkir\RajaOngkir;

$rajaOngkir = new RajaOngkir($apiKey);
$daftarProvinsi = $rajaOngkir->kota()->dariProvinsi(11)->search('su')->get();

// Laravel
use Kavist\RajaOngkir\Facades\RajaOngkir;

$daftarProvinsi = RajaOngkir::kota()->dariProvinsi(11)->search('su')->get();

Pencarian biaya pengiriman

Untuk mengambil biaya pengiriman, gunakan metode ongkosKirim(array $payload).

// Native PHP
use Kavist\RajaOngkir\RajaOngkir;

$rajaOngkir = new RajaOngkir($apiKey);
$daftarProvinsi = $rajaOngkir->ongkosKirim([
    'origin'        => 155,     // ID kota/kabupaten asal
    'destination'   => 80,      // ID kota/kabupaten tujuan
    'weight'        => 1300,    // berat barang dalam gram
    'courier'       => 'jne'    // kode kurir pengiriman: ['jne', 'tiki', 'pos'] untuk starter
]);

// Laravel
use Kavist\RajaOngkir\Facades\RajaOngkir;

$daftarProvinsi = RajaOngkir::ongkosKirim([
    'origin'        => 155,     // ID kota/kabupaten asal
    'destination'   => 80,      // ID kota/kabupaten tujuan
    'weight'        => 1300,    // berat barang dalam gram
    'courier'       => 'jne'    // kode kurir pengiriman: ['jne', 'tiki', 'pos'] untuk starter
]);

Selain metode ongkosKirim(), juga tersedia metode ongkir() dan biaya() sebagai alias dari metode ongkosKirim().

Pengujian

Jalankan pengujian dengan perintah berikut.

$ vendor/bin/phpunit

Log Perubahan

Silakan membaca log perubahan untuk informasi lengkap.

Ingin berkontribusi?

Silakan membaca tata cara berkontribusi untuk informasi lengkap.

Kontributor

Lisensi

The MIT License (MIT). Silakan membaca berkas lisensi untuk informasi lengkap.