PHP code example of blissjaspis / laravel-rajaongkir-komerce
1. Go to this page and download the library: Download blissjaspis/laravel-rajaongkir-komerce library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
blissjaspis / laravel-rajaongkir-komerce example snippets
use BlissJaspis\RajaOngkir\Facades\RajaOngkir;
use BlissJaspis\RajaOngkir\RajaOngkir as RajaOngkirClient;
// Via Facade (recommended)
$response = RajaOngkir::getProvinces();
$provinces = $response->data;
// Via dependency injection (interface)
use BlissJaspis\RajaOngkir\Contracts\RajaOngkirClient;
public function __construct(private RajaOngkirClient $rajaOngkir) {}
// Or resolve from the container
app(RajaOngkirClient::class)->getProvinces();
$response = RajaOngkir::getProvinces();
$response->successful(); // true
$response->meta['message']; // "Success Get Provinces"
$provinces = $response->data; // array of provinces
// Or convert to a plain array when you need one,
// e.g. before returning it from a controller
$array = $response->toArray();
use BlissJaspis\RajaOngkir\Exceptions\RajaOngkirException;
use BlissJaspis\RajaOngkir\Facades\RajaOngkir;
try {
$response = RajaOngkir::getProvinces();
} catch (RajaOngkirException $exception) {
$statusCode = $exception->statusCode;
$body = $exception->response;
}
$response = RajaOngkir::getProvinces()->toArray();
$provinces = $response['data'];
{
"meta": {
"message": "Success Get Provinces",
"code": 200,
"status": "success"
},
"data": [
{
"id": 11,
"name": "DKI Jakarta"
},
{
"id": 6,
"name": "Jawa Barat"
}
// ... more provinces
]
}
$provinceId = 11;
$cities = RajaOngkir::getCity($provinceId)->toArray();
{
"meta": {
"message": "Success Get Cities",
"code": 200,
"status": "success"
},
"data": [
{
"id": 1,
"name": "Jakarta Pusat"
},
{
"id": 2,
"name": "Jakarta Selatan"
}
// ... more cities
]
}
$cityId = 1;
$districts = RajaOngkir::getDistrict($cityId)->toArray();
{
"meta": {
"message": "Success Get Districts",
"code": 200,
"status": "success"
},
"data": [
{
"id": 1,
"name": "Kemayoran"
}
// ... more districts
]
}
$districtId = 1;
$subdistricts = RajaOngkir::getSubDistrict($districtId)->toArray();
{
"meta": {
"message": "Success Get Subdistricts",
"code": 200,
"status": "success"
},
"data": [
{
"id": 1,
"name": "Sumur Batu"
}
// ... more subdistricts
]
}
$search = 'sinduharjo';
$limit = 10; // optional
$offset = 0; // optional
$destinations = RajaOngkir::searchDomestic($search, $limit, $offset)->toArray();
{
"meta": {
"message": "Success Get Domestic Destinations",
"code": 200,
"status": "success"
},
"data": [
{
"id": 31555,
"label": "SINDUHARJO, NGAGLIK, SLEMAN, DI YOGYAKARTA, 55581",
"subdistrict_name": "SINDUHARJO",
"district_name": "NGAGLIK",
"city_name": "SLEMAN",
"province_name": "DI YOGYAKARTA",
"zip_code": "55581"
}
]
}
$search = 'Malaysia';
$limit = 10; // optional
$offset = 0; // optional
$destinations = RajaOngkir::searchInternational($search, $limit, $offset)->toArray();
{
"meta": {
"message": "Success Get International Destinations",
"code": 200,
"status": "success"
},
"data": [
{
"id": 108,
"name": "Malaysia"
}
// ... more destinations
]
}
$origin = 1;
$destination = 108;
$weight = 1000;
$courier = 'jne';
$filter = 'lowest';
$cost = RajaOngkir::getCostDomestic($origin, $destination, $weight, $courier, $filter)->toArray();
{
"meta": {
"message": "Success Calculate Domestic Shipping cost",
"code": 200,
"status": "success"
},
"data": [
{
"name": "Nusantara Card Semesta",
"code": "ncs",
"service": "DARAT",
"description": "Regular Darat",
"cost": 8000,
"etd": "6-7 day"
},
{
"name": "Citra Van Titipan Kilat (TIKI)",
"code": "tiki",
"service": "ECO",
"description": "Economy Service",
"cost": 15000,
"etd": "5 day"
}
]
}
$origin = 1;
$destination = 108;
$weight = 1000;
$courier = 'jne';
$filter = 'lowest';
$cost = RajaOngkir::getCostInternational($origin, $destination, $weight, $courier, $filter)->toArray();
{
"meta": {
"message": "Success Calculate International Shipping Cost",
"code": 200,
"status": "success"
},
"data": [
{
"name": "Rayspeed Indonesia",
"code": "ray",
"service": "Regular Service",
"description": "Retail",
"currency": "IDR",
"cost": 55000,
"etd": ""
},
{
"name": "Lion Parcel",
"code": "lion",
"service": "INTERPACK",
"description": "Active",
"currency": "IDR",
"cost": 65000,
"etd": "2-3 day"
}
]
}
$waybill = 'MT685U91';
$courier = 'jne';
$lastPhoneNumber = '56789'; // last 5 digits of the recipient phone number (Success Get Waybill",
"code": 200,
"status": "success"
},
"data": {
"delivered": true,
"summary": {
"courier_code": "wahana",
"courier_name": "Wahana Prestasi Logistik",
"waybill_number": "MT685U91",
"service_code": "",
"waybill_date": "2024-10-08",
"shipper_name": "TOKO ALAT LUKIS (08112XXXXXX)",
"receiver_name": "FIKRI EL SARA (085668XXXXXX)",
"origin": "",
"destination": "di Kota Sukabumi",
"status": "DELIVERED"
},
"details": {
"waybill_number": "MT685U91",
"waybill_date": "2024-10-08",
"waybill_time": "11:14:29",
"weight": "",
"origin": "",
"destination": "di Kota Sukabumi",
"shipper_name": "TOKO ALAT LUKIS (08112XXXXXX)",
"shipper_address1": "",
"shipper_address2": "",
"shipper_address3": "",
}
"delivery_status": {
"status": "DELIVERED",
"pod_receiver": "FIKRI EL SARA (085668XXXXXX)",
"pod_date": "2024-10-11",
"pod_time": "09:26:13"
},
"manifest": [
// ... more manifest
]
}
}
$couriers = RajaOngkir::getListCourier();
// [
// 'jne' => 'JNE',
// 'sicepat' => 'SICEPAT',
// 'tiki' => 'TIKI',
// // ...
// ]
bash
php artisan vendor:publish --tag=rajaongkir-komerce-config
bash
php artisan vendor:publish --provider="BlissJaspis\RajaOngkir\Providers\RajaOngkirServiceProvider" --tag="config"