roketin/connect is a Laravel package for roketin engine api client.
It currently has 0 GitHub stars and 415 downloads on Packagist (latest version v0.0.9).
Install it with composer require roketin/connect.
Discover more Laravel packages by roketin
or browse all Laravel packages to compare alternatives.
Last updated
RClient is standard client application to Roketin API to accelerate connecting and integrating basic feature of Roketin Engine API to client's website.
Documentation for the Roketin API can be found on the Documentation.
"require": {
"laravel/framework": "5.0.*",
"roketin/connect": "v0.0.9"
}
Next, run the Composer update command from the Terminal:
composer update
or
composer update "roketin/connect"
Roketin\Providers\RoketinServiceProvider::class,
'Roketin' => Roketin\Facades\RoketinFacade::class
Publish the config using the following command:
$ php artisan vendor:publish --provider="Roketin\Providers\RoketinServiceProvider"
Create an .env file based on .env.example file and change the value based on client credentials
ROKETIN_API=http://dev.roketin.com/api/v2.2/
ROKETIN_PUBLIC=http://dev.roketin.com/
ROKETIN_TOKEN=aBCd1234
ROKETIN_USERNAME=roketin
ROKETIN_RX=4241639264053293060625251241576152575759
You can call a Roketin Object by using: Roketin::model()->get()
use Roketin;
$menus = Roketin::menus()->get();
$posts = Roketin::posts()->get();
$products = Roketin::products()->get();
$variants = Roketin::variants()->get();
etc..
Fethcing single object with id/slug/etc:
/*
* Same as fetching object, but in singular form (without 's')
* the second argument can be id or slug or etc ..
* this is dynamic function call to Roketin Engine API
*/
$home = Roketin::menu('home')->get();
$post = Roketin::post('latest-update')->get();
Fetching object with simple where conditions:
/**
* @param $field
* @param $operation
* @param $value
*/
$posts = Roketin::posts()->where('title','like','vacation')->get();
//NOTE :
//It doesn't need to add % if using 'like' operator
Fetching object with simple orWhere conditions:
/**
* @param $field
* @param $operation
* @param $value
*/
$posts = Roketin::posts()
->where('title','like','vacation')
->orWhere('title','like','holiday')
->get();
//NOTE :
//It doesn't need to add % if using 'like' operator
Advance where orWhere grouping conditions:
/**
* @param $field
* @param $operation
* @param $value
*/
$posts = Roketin::posts()
->where('title','like','vacation')
->orWhere('title','like','holiday')
->where('date','>=','2016-04-10')
->where('date','<=','2016-04-18')
->get();
//NOTE :
//It will result query grouping
// (title like vacation or title like holiday)
// AND
// (date >= 2016-04-10 and date <= 2016-04-18 )
Fetch a Roketin Object API by sorting on it's field:
/*
* sorting object before fetch
*
* @param $field
* @param $direction (optional) default is ASC
* /
$posts = Roketin::posts()->sortBy('created_at')->get();
$posts = Roketin::posts()->sortBy('created_at','DESC')->get();
Fetch a Roketin Object API by grouping on it's field:
/*
* grouping object before fetch
*
* @param $field
* /
$posts = Roketin::posts()->groupBy('created_at')->get();
$posts = Roketin::posts()->groupBy('id')->groupBy('created_at')->get();
Paginating fetch object
/*
* paginate object before fetch
*
* @param $size default value is 10
* @param $page (optional)
* /
$posts = Roketin::posts()->paginate(10)->get();
$posts = Roketin::posts()->paginate(10,2)->get();
Get all tags post:
$tags = Roketin::tags()->get()
Get all posts by tag:
/*
* @param $tag separated by ';'
* @param $is_blog (optional) default value is false
*/
$posts = Roketin::tags('tag_1;tag_2',false)->get()
Get archives by year:
/*
* @param $tags (optional) default value is '', multiple (; as separator)
* @param $year (optional) default value is '2016'
*/
$archive = Roketin::archives('tags;tags2;another tag','2016')->get()
Get all available countries:
$countries = Roketin::shipping()->countries()
Get all available provinces (currently available in Indonesia only):
$province = Roketin::shipping()->province()
Get all available city (currently available in Indonesia only):
/*
* @param $provinceid
*/
$cities = Roketin::shipping()->province(9)->cities()
Calculate shipping costs:
/*
* @param $destination = city id
* @param $courier = JNE/TIKI/POS
* @param $weight = item weight in KG (optional) default value 1
* @param $origin = city id
*/
$costs = Roketin::shipping()->costs(23, 'JNE')
Create sales order:
/*
* @param array $generalData
* @param array $customerData
* @param array $products
* @param $bcc(optional), default = null
*/
$generalData = [
"notes" => "some string here",
"is_email_only" => true, //default value false (for customer guest)
"ship_cost" => 10000,
'ship_provider' => "JNE"
];
$customerData = [
"first_name" => "Roketin",
"last_name" => "User",
"phone" => "+628123456789",
"email" => "[email protected]",
];
$products = [
[
"id" => "2623",
"qty" => "1",
"sku" => "ADVHEL001",
"price_type" => "retail_price",
],
];
$order = Roketin::order()->create($generalData, $customerData, $products, '[email protected]')
Note:
- For detailed attribute, see sales order API documentation HERE
Confirm payment order:
/*
* @param $invoice_number
* @param $payment_type
* @param $total
* @param $customer_name
* @param $customer_bank
* @param $transaction_number
* @param Image $image
* @param $bank_account(optional), default = null
* @param $paid_date(optional), default = null
* @param $bcc(optional), default = null
*/
//you can create image for bank transfer that
//showing transfer is success
//by using Image::make()
$img = Image::make(Input::file('image'))
$payment = Roketin::order()
->confirm('SI16041300058',
'TRANSFER',
'150000',
'Customer Roketin',
'Bank BCA',
'TRX-123',
$img,
'0853909090',
'2016-04-10',
'[email protected]')
Void an Sales Order and it's invoice:
/*
* @param $invoice_number
*/
$order = Roketin::order()->void('ASD02262016')
Submit a subscription email:
/*
* @param $email
* @param $bcc(optional), default = null
*/
$subscribe = Roketin::subscribe('[email protected]', '[email protected]')
Send a message to Roketin Engine Inbox:
/*
* @param $sender_name
* @param $sender_email
* @param $sender_phone
* @param $message_title
* @param $message_body
* @param $bcc(optional), default = null
*/
$msg = Roketin::message()
->send(
'test',
'[email protected]',
'123123',
'test mesage',
'hai',
'[email protected]')
Send a message to Roketin Engine Inbox:
/*
* @param $sender_name
* @param $sender_email
* @param $sender_phone
* @param $message_title
* @param $message_body
* @param $bcc(optional), default = null
*/
$msg = Roketin::message()
->send(
'test',
'[email protected]',
'123123',
'test mesage',
'hai',
'[email protected]')
Check validity of a voucher:
/*
* @param $code
* @param $voucher_type (optional), default = null
* voucher type can be giftvoucher (voucher in
* exchange to money nominal) or
* other (voucher to exchange to free product)
* default is voucher_type is other
*/
$check = Roketin::voucher()->check('AS123D')
invalidate a voucher (use voucher):
/*
* @param $voucher_code
* @param $voucher_type (optional) default is other
* @param $used_by (optional) default is logged in user
*/
$check = Roketin::voucher()->invalidate('AS123D')
Register new user:
/*
* @param $first_name
* @param $last_name
* @param $email
* @param $phone
* @param $password
* @param $password_confirmation
* @param $bcc(optional), default = null
* @return user object
*/
$user = Roketin::user()->register('first_name', 'last_name', 'email', 'phone', 'password', 'password_confirmation', 'bcc');
User activation:
/*
* @param $token
* @return true if success activation
* @return error object if present
*/
$activation = Roketin::user()->activate('token');
Resend activation code to email:
/*
* @param $email
* @return true if success activation
* @return error object if present
*/
$resend = Roketin::user()->resendActivation('[email protected]');
Forgot password (generate and send token to user email):
/*
* @param $email
* @param $bcc(optional), default = null
* @return true if success activation
* @return error object if present
*/
Roketin::user()->forgot('[email protected]', '[email protected]');
Reset password:
/*
* @param $token
* @param $password
* @param $password_confirmation
* @param $bcc(optional), default = null
* @return true if success activation
* @return error object if present
*/
Roketin::user()->resetPassword('token','asdf','asdf', '[email protected]');
Login:
/*
* @param $email
* @param $password
* @param $type (optional) default = user, available = vendor
* @return true if success activation
* @return error object if present
*/
Roketin::auth()->login('[email protected]','asdf');
Current User:
/*
* @return user object
*/
Roketin::auth()->user();
Update user data:
/*
* @return user object
*/
Roketin::user()->update(['first_name' => 'John']);
Note:
- For detailed attribute, see sales order API documentation HERE
Get transaction history data:
/*
* @return user object
*/
Roketin::user()->transactionHistory()->get();
Note:
- you can also use where(), orWhere(), etc query with this method
Logout:
/*
* @return boolean
*/
Roketin::auth()->logout();
Get Product Variants By Category:
/*
* @param $category_name
* @return variants object
*/
Roketin::variantsByCategory($category_name)->get();