PHPackages                             yafimm/rajaongkir - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. yafimm/rajaongkir

ActiveLibrary[API Development](/categories/api)

yafimm/rajaongkir
=================

Klien API PHP untuk RajaOngkir

18PHP

Since Mar 29Pushed 3y agoCompare

[ Source](https://github.com/yafimm/rajaongkir)[ Packagist](https://packagist.org/packages/yafimm/rajaongkir)[ RSS](/packages/yafimm-rajaongkir/feed)WikiDiscussions master Synced 2d ago

READMEChangelogDependenciesVersions (1)Used By (0)

[![Klien API RajaOngkir untuk PHP](https://camo.githubusercontent.com/ce52c19aef06e8ad82e332ea55f7277a55aa40c0f8e7e090acc4226e71b8ac0c/68747470733a2f2f72617763646e2e6769746861636b2e636f6d2f796166696d6d2f72616a616f6e676b69722f333862616534356238386339386539346563623230613436303430336537343834633663326262342f636f7665722e706e67)](https://camo.githubusercontent.com/ce52c19aef06e8ad82e332ea55f7277a55aa40c0f8e7e090acc4226e71b8ac0c/68747470733a2f2f72617763646e2e6769746861636b2e636f6d2f796166696d6d2f72616a616f6e676b69722f333862616534356238386339386539346563623230613436303430336537343834633663326262342f636f7665722e706e67)

Klien API RajaOngkir untuk PHP
==============================

[](#klien-api-rajaongkir-untuk-php)

[![Latest Version](https://camo.githubusercontent.com/5507794982baed30254c2af6ddb5a2fd08d2599c48796d26b3e82c01d652f29f/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f796166696d6d2f72616a616f6e676b69723f6c6162656c3d52656c6561736526736f72743d73656d766572267374796c653d666c61742d737175617265)](https://github.com/yafimm/rajaongkir/releases)[![Packagist Version](https://camo.githubusercontent.com/2166a59a996cea096b7c6f7abaa4bb028bf649847af2c1dde25da752813c7d5e/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f796166696d6d2f72616a616f6e676b69723f6c6162656c3d5061636b6167697374267374796c653d666c61742d737175617265)](https://packagist.org/packages/yafimm/rajaongkir)[![PHP Version Required](https://camo.githubusercontent.com/023fe058e47f301f2a60ec61d82588b0f12cbb5fec62ad1402e290506de9b795/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f796166696d6d2f72616a616f6e676b69723f6c6162656c3d50485025323056657273696f6e267374796c653d666c61742d737175617265)](https://camo.githubusercontent.com/023fe058e47f301f2a60ec61d82588b0f12cbb5fec62ad1402e290506de9b795/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f796166696d6d2f72616a616f6e676b69723f6c6162656c3d50485025323056657273696f6e267374796c653d666c61742d737175617265)[![MIT Licensed](https://camo.githubusercontent.com/68b30e9415e91316d1acb1b5bcc14ad13dcd863ec77cb2ec1c9d3fc0a6816afd/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f796166696d6d2f72616a616f6e676b69723f6c6162656c3d4c6963656e7365267374796c653d666c61742d737175617265)](LICENSE)[![Build Status](https://camo.githubusercontent.com/7c26383e895721699bba6e61416ea1890e047ee8749dab55cbb1ca839eafd5c3/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f796166696d6d2f72616a616f6e676b69723f6c6162656c3d54726176697325323043492532306275696c64267374796c653d666c61742d737175617265)](https://travis-ci.org/yafimm/rajaongkir)[![StyleCI](https://camo.githubusercontent.com/2441cee367c02d4e9c115d1b52f3beb8e2b8311f549b676ab6017e6c9694c1c8/68747470733a2f2f7374796c6563692e696f2f7265706f732f3231323736373935392f736869656c64)](https://styleci.io/repos/212767959)

Paket pustaka PHP untuk mengakses API RajaOngkir dengan mudah.

### Fitur

[](#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*

[](#to-do)

- Fitur di tipe akun Basic dan Pro.
- Pencarian *fuzzy* (menggunakan [Fuse](https://github.com/loilo/Fuse)).

Persyaratan Sistem
------------------

[](#persyaratan-sistem)

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

Instalasi
---------

[](#instalasi)

Gunakan [Composer](https://getcomposer.org) untuk menginstal pustaka ini.

```
$ composer require yafimm/rajaongkir:^1.1
```

Anda juga bisa menambahkan dependensi ke `composer.json`.

```
{
    "require": {
        "yafimm/rajaongkir": "^1.1"
    }
}
```

### Integrasi ke Laravel

[](#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](#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
-----------

[](#konfigurasi)

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

```
$rajaOngkir = new RajaOngkir('isi_API_key_Anda_disini');
```

### Konfigurasi untuk Laravel

[](#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="Yafimm\RajaOngkir\Providers\LaravelServiceProvider"
```

Penggunaan
----------

[](#penggunaan)

### Provinsi

[](#provinsi)

#### Daftar provinsi

[](#daftar-provinsi)

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

```
// Native PHP
use Yafimm\RajaOngkir\RajaOngkir;

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

// Laravel
use Yafimm\RajaOngkir\Facades\RajaOngkir;

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

#### Ambil provinsi berdasarkan ID

[](#ambil-provinsi-berdasarkan-id)

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

```
// Native PHP
use Yafimm\RajaOngkir\RajaOngkir;

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

// Laravel
use Yafimm\RajaOngkir\Facades\RajaOngkir;

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

#### Pencarian provinsi berdasarkan nama

[](#pencarian-provinsi-berdasarkan-nama)

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

```
// Native PHP
use Yafimm\RajaOngkir\RajaOngkir;

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

// Laravel
use Yafimm\RajaOngkir\Facades\RajaOngkir;

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

### Kota/Kabupaten

[](#kotakabupaten)

#### Daftar kota/kabupaten

[](#daftar-kotakabupaten)

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

```
// Native PHP
use Yafimm\RajaOngkir\RajaOngkir;

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

// Laravel
use Yafimm\RajaOngkir\Facades\RajaOngkir;

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

#### Ambil kota/kabupaten berdasarkan ID

[](#ambil-kotakabupaten-berdasarkan-id)

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

```
// Native PHP
use Yafimm\RajaOngkir\RajaOngkir;

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

// Laravel
use Yafimm\RajaOngkir\Facades\RajaOngkir;

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

#### Daftar kota/kabupaten berdasarkan ID provinsinya

[](#daftar-kotakabupaten-berdasarkan-id-provinsinya)

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

```
// Native PHP
use Yafimm\RajaOngkir\RajaOngkir;

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

// Laravel
use Yafimm\RajaOngkir\Facades\RajaOngkir;

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

#### Pencarian kota/kabupaten berdasarkan nama

[](#pencarian-kotakabupaten-berdasarkan-nama)

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

```
// Native PHP
use Yafimm\RajaOngkir\RajaOngkir;

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

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

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

// Laravel
use Yafimm\RajaOngkir\Facades\RajaOngkir;

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

Pencarian biaya pengiriman
--------------------------

[](#pencarian-biaya-pengiriman)

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

```
// Native PHP
use Yafimm\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 Yafimm\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
---------

[](#pengujian)

Jalankan pengujian dengan perintah berikut.

```
$ vendor/bin/phpunit
```

Log Perubahan
-------------

[](#log-perubahan)

Silakan membaca [log perubahan](CHANGELOG.md) untuk informasi lengkap.

Ingin berkontribusi?
--------------------

[](#ingin-berkontribusi)

Silakan membaca [tata cara berkontribusi](CONTRIBUTING.md) untuk informasi lengkap.

Kontributor
-----------

[](#kontributor)

- [Ian Mustafa](https://github.com/ianmustafa)
- [Seluruh Kontributor](https://github.com/yafimm/rajaongkir/contributors)

Lisensi
-------

[](#lisensi)

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

###  Health Score

16

—

LowBetter than 4% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity23

Early-stage or recently created project

 Bus Factor1

Top contributor holds 82.6% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/10c4ac9c604456129290bdd18636f795bba5c3098ae26883d72f358f2030ad97?d=identicon)[yafimm](/maintainers/yafimm)

---

Top Contributors

[![ianmustafa](https://avatars.githubusercontent.com/u/5209746?v=4)](https://github.com/ianmustafa "ianmustafa (19 commits)")[![Mudarismal](https://avatars.githubusercontent.com/u/18151923?v=4)](https://github.com/Mudarismal "Mudarismal (2 commits)")[![andriawan](https://avatars.githubusercontent.com/u/13099373?v=4)](https://github.com/andriawan "andriawan (1 commits)")[![nafiesl](https://avatars.githubusercontent.com/u/8721551?v=4)](https://github.com/nafiesl "nafiesl (1 commits)")

### Embed Badge

![Health badge](/badges/yafimm-rajaongkir/health.svg)

```
[![Health](https://phpackages.com/badges/yafimm-rajaongkir/health.svg)](https://phpackages.com/packages/yafimm-rajaongkir)
```

###  Alternatives

[exsyst/swagger

A php library to manipulate Swagger specifications

35916.4M7](/packages/exsyst-swagger)[hubspot/api-client

Hubspot API client

24016.2M20](/packages/hubspot-api-client)[pocketmine/bedrock-protocol

An implementation of the Minecraft: Bedrock Edition protocol in PHP

172445.0k15](/packages/pocketmine-bedrock-protocol)[botman/driver-telegram

Telegram driver for BotMan

93459.5k6](/packages/botman-driver-telegram)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
