laravel-rajaongkir
A wrapper for Raja Ongkir API built for laravel and lumen (only available for Starter Account)
Basic and Pro Accounts available soon, (*1)
Installations
composer require pewe/laravel-rajaongkir
Configuration
Edit your .env
file. Place your key, you can get your key in Raja Ongkir page, (*2)
RAJAONGKIR_API_KEY=12345667
For Lumen
Edit your boostrap/app.php
, (*3)
Enable Facades, (*4)
$app->withFacades();
Enable class_alias (Optional), (*5)
class_alias('Pewe\RajaOngkir\Facades\Province', 'Province');
class_alias('Pewe\RajaOngkir\Facades\City', 'City');
class_alias('Pewe\RajaOngkir\Facades\Cost', 'Cost');
Register RajaOngkirServiceProvider (Optional), (*6)
$app->register(Pewe\RajaOngkir\Providers\RajaOngkirServiceProvider::class);
Copy config file rajaongkir.php (vendor/pewe/laravel-rajaongkir/src/config/rajaongkir.php
) to your folder config. Or if You're already install package laravelista/lumen-vendor-publish.
You must register RajaOngkirServiceProvider before, then use this command:, (*7)
php artisan vendor:publish --tag=laravel-rajaongkir-config
Configure your config, (*8)
$app->configure('rajaongkir');
Usage
Import
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
/*...*/
use City; //if using class_alias
//use Pewe\RajaOngkir\Facades\City; //if not using class_alias
class ExampleController extends Controller
{
/*...*/
public function getCities(){
dd(City::all());
}
}
City
Get All City
City::all();
Get City by Id
City::find($id);
Parameters |
Type |
Description |
Default |
Example |
$id |
Integer |
City ID |
Required |
147 |
Province
Get All Province
Province::all();
Get Province by Id
Province::find($id);
Parameters |
Type |
Description |
Default |
Example |
$id |
Integer |
Province ID |
Required |
1 |
Available Couriers & Cost
Get Available Couriers
Cost::couriers($destination,$weight,$origin);
Parameters |
Type |
Description |
Default |
Example |
$destination |
Integer |
City ID of Destination |
Required |
147 |
$weight |
Integer |
Weight of package |
1000 |
1000 |
$origin |
Integer |
City ID of Origin |
config(rajaongkir.origin) |
146 |
Get Cost
Cost::calculate($destination,$courier,$weight,$origin,$service);
Parameters |
Type |
Description |
Default |
Example |
$destination |
Integer |
City ID of Destination |
Required |
147 |
$courier |
String |
Courier code |
Required |
jne |
$weight |
Integer |
Weight of package |
1000 |
1000 |
$origin |
Integer |
City ID of Origin |
config(rajaongkir.origin) |
146 |
$service |
String |
Service name |
Nullable |
reg |
If your key submit is invalid InvalidTokenException
will thrown.
And if Bad Request from their server, RajaOngkirRequestException
will thrown., (*9)
Problem
-
Call undefined function Pewe\RajaOngkir\Providers\config_path()
, (*10)
To resolve this:
Create a file called helpers.php
in the app/
directory. Paste the code inside it., (*11)
<?php
if ( ! function_exists('config_path'))
{
/**
* Get the configuration path.
*
* @param string $path
* @return string
*/
function config_path($path = '')
{
return app()->basePath() . '/config' . ($path ? '/' . $path : $path);
}
}
Go to composer.json
and add files to autoload so that it looks like this:, (*12)
...
"autoload": {
"psr-4": {
"App\\": "app/"
},
"files": [
"app/helpers.php"
]
},
...
Run composer dump-autoload
to load the newly created helpers file.
Or just following this gist., (*13)
Contribute
Show your :heart: and support by giving a :star2: or fork. Any suggestions, issues and pull request are welcome :beers:!, (*14)