/rajaongkir

Klien API RajaOngkir untuk PHP.

Primary LanguagePHPMIT LicenseMIT

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

  • Daftar semua provinsi.
  • Ambil provinsi berdasarkan ID.
  • Pencarian provinsi berdasarkan nama.
  • Daftar semua kota/kabupaten.
  • Daftar kota/kabupaten berdasarkan ID provinsinya.
  • Ambil kota/kabupaten berdasarkan ID.
  • Pencarian kota/kabupaten berdasarkan nama.
  • Ambil biaya pengiriman (ongkos kirim/ongkir).

To Do

  • Fitur di tipe akun Basic dan Pro.
  • Pencarian fuzzy (menggunakan Fuse).

Persyaratan Sistem

  • PHP 7.0 (direkomendasikan untuk menggunakan PHP 7.1 atau lebih tinggi).

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 Soffandluffy\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="Soffandluffy\RajaOngkir\Providers\LaravelServiceProvider"

Penggunaan

Provinsi

Daftar provinsi

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

// Native PHP
use Soffandluffy\RajaOngkir\RajaOngkir;

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

// Laravel
use Soffandluffy\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 Soffandluffy\RajaOngkir\RajaOngkir;

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

// Laravel
use Soffandluffy\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 Soffandluffy\RajaOngkir\RajaOngkir;

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

// Laravel
use Soffandluffy\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 Soffandluffy\RajaOngkir\RajaOngkir;

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

// Laravel
use Soffandluffy\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 Soffandluffy\RajaOngkir\RajaOngkir;

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

// Laravel
use Soffandluffy\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 Soffandluffy\RajaOngkir\RajaOngkir;

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

// Laravel
use Soffandluffy\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 Soffandluffy\RajaOngkir\RajaOngkir;

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

// Laravel
use Soffandluffy\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 Soffandluffy\RajaOngkir\RajaOngkir;

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

// Laravel
use Soffandluffy\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 Soffandluffy\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 Soffandluffy\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.