2017 © Pedro Peláez
 

library connect

Roketin Engine API Client

image

roketin/connect

Roketin Engine API Client

  • Thursday, May 3, 2018
  • by roketin
  • Repository
  • 5 Watchers
  • 0 Stars
  • 343 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 10 Versions
  • 5 % Grown

The README.md

Roketin Client Template

Latest Version License Total Downloads, (*1)

RClient is standard client application to Roketin API to accelerate connecting and integrating basic feature of Roketin Engine API to client's website., (*2)

API Documentation

Documentation for the Roketin API can be found on the Documentation., (*3)

Installation

Laravel 5

"require": {
    "laravel/framework": "5.0.*",
    "roketin/connect": "v0.0.9"
}

Next, run the Composer update command from the Terminal:, (*4)

composer update

or

composer update "roketin/connect"

CONFIGURATION

  1. Open config/app.php and addd this line to your Service Providers Array, (*5)

    Roketin\Providers\RoketinServiceProvider::class,
    
  2. Open config/app.php and addd this line to your Aliases, (*6)

    'Roketin' => Roketin\Facades\RoketinFacade::class
  ```

3. Publish the config using the following command:

    $ php artisan vendor:publish --provider="Roketin\Providers\RoketinServiceProvider"

4. 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
  ```

## HOW TO USE
* [Basic Usage](#basic)
* [Conditions](#conditions)
* [Sorting](#sorting)
* [Grouping](#grouping)
* [Pagination](#pagination)
* [Tags](#tags)
* [Archives](#archives)
* [Shipping](#shipping)
* [Sales Order](#order)
* [Subscribe](#subscribe)
* [Message](#message)
* [B2b](#join)
* [Vouchers](#vouchers)
* [Users](#users)
* [Others](#others)

## Basic

You can call a Roketin Object by using: **Roketin::model()->get()**

```php
    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:, (*7)

    /*
     * 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();

Conditions

Fetching object with simple where conditions:, (*8)

    /**
     * @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:, (*9)

    /**
     * @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:, (*10)

    /**
     * @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 )

Sorting

Fetch a Roketin Object API by sorting on it's field:, (*11)

    /*
     * 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();

Grouping

Fetch a Roketin Object API by grouping on it's field:, (*12)

    /*
     * grouping object before fetch
     * 
     * @param $field
     * /

    $posts = Roketin::posts()->groupBy('created_at')->get();
    $posts = Roketin::posts()->groupBy('id')->groupBy('created_at')->get();

Pagination

Paginating fetch object, (*13)

    /*
     * 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();

Tags

Get all tags post:, (*14)

    $tags = Roketin::tags()->get()

Get all posts by tag:, (*15)

    /*
     * @param $tag separated by ';'
     * @param $is_blog (optional) default value is false
     */
    $posts = Roketin::tags('tag_1;tag_2',false)->get()

Archives

Get archives by year:, (*16)

    /*
     * @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()

Shipping

Get all available countries:, (*17)

    $countries = Roketin::shipping()->countries()

Get all available provinces (currently available in Indonesia only):, (*18)

    $province = Roketin::shipping()->province()

Get all available city (currently available in Indonesia only):, (*19)

    /*
     * @param $provinceid
     */

    $cities = Roketin::shipping()->province(9)->cities()

Calculate shipping costs:, (*20)

    /*
     * @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')

Order

Create sales order:, (*21)

    /*
     * @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"      => "user@roketin.com",
     ];

     $products = [
         [
             "id"         => "2623",
             "qty"        => "1",
             "sku"        => "ADVHEL001",
             "price_type" => "retail_price",
         ],
     ];                                 
    $order = Roketin::order()->create($generalData, $customerData, $products, 'test@mailinator.com')

Note: - For detailed attribute, see sales order API documentation HERE, (*22)


Confirm payment order:, (*23)

    /*
     * @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',
                          'bcc@mailinator.com')

Void an Sales Order and it's invoice:, (*24)

    /*
     * @param $invoice_number
     */

    $order = Roketin::order()->void('ASD02262016')

Subscribe

Submit a subscription email:, (*25)

    /*
     * @param $email
     * @param $bcc(optional), default = null
     */

    $subscribe = Roketin::subscribe('somebody@anythin.com', 'bcc@mailinator.com')

Message

Send a message to Roketin Engine Inbox:, (*26)

    /*
     * @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',
                    'test@mailinator.com',
                    '123123',
                    'test mesage',
                    'hai',
                    'bcc@mailinator.com')

Message

Send a message to Roketin Engine Inbox:, (*27)

    /*
     * @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',
                    'test@mailinator.com',
                    '123123',
                    'test mesage',
                    'hai',
                    'bcc@mailinator.com')

Vouchers

Check validity of a voucher:, (*28)

    /*
     * @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):, (*29)

    /*
     * @param $voucher_code
     * @param $voucher_type (optional) default is other
     * @param $used_by (optional) default is logged in user
     */

    $check = Roketin::voucher()->invalidate('AS123D')

Users

Register new user:, (*30)

    /*
     * @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:, (*31)

    /*
     * @param $token
     * @return true if success activation
     * @return error object if present
     */

    $activation = Roketin::user()->activate('token');

Resend activation code to email:, (*32)

    /*
     * @param $email
     * @return true if success activation
     * @return error object if present
     */

    $resend = Roketin::user()->resendActivation('someone@somthing.com');

Forgot password (generate and send token to user email):, (*33)

    /*
     * @param $email
     * @param $bcc(optional), default = null
     * @return true if success activation
     * @return error object if present
     */

    Roketin::user()->forgot('someone@somthing.com', 'bcc@mailinator.com');

Reset password:, (*34)

    /*
     * @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', 'bcc@mailinator.com');

Login:, (*35)

    /*
     * @param $email
     * @param $password
     * @param $type (optional) default = user, available = vendor
     * @return true if success activation
     * @return error object if present
     */

    Roketin::auth()->login('somebody@somthing.com','asdf');

Current User:, (*36)

    /*
     * @return user object
     */

    Roketin::auth()->user();

Update user data:, (*37)

    /*
     * @return user object
     */

    Roketin::user()->update(['first_name' => 'John']);

Note: - For detailed attribute, see sales order API documentation HERE, (*38)

Get transaction history data:, (*39)

    /*
     * @return user object
     */

    Roketin::user()->transactionHistory()->get();

Note: - you can also use where(), orWhere(), etc query with this method, (*40)

Logout:, (*41)

    /*
     * @return boolean
     */

    Roketin::auth()->logout();

Others

Get Product Variants By Category:, (*42)

    /*
     * @param $category_name
     * @return variants object
     */

    Roketin::variantsByCategory($category_name)->get();

The Versions

03/05 2018

dev-master

9999999-dev

Roketin Engine API Client

  Sources   Download

MIT

The Requires

 

The Development Requires

by Roketin.com

laravel api rest client engine apiclient

03/05 2018

v0.0.9

0.0.9.0

Roketin Engine API Client

  Sources   Download

MIT

The Requires

 

The Development Requires

by Roketin.com

laravel api rest client engine apiclient

05/04 2017

v0.0.8

0.0.8.0

Roketin Engine API Client

  Sources   Download

MIT

The Requires

 

The Development Requires

by Roketin.com

laravel api rest client engine apiclient

20/10 2016

v0.0.7

0.0.7.0

Roketin Engine API Client

  Sources   Download

MIT

The Requires

 

The Development Requires

by Roketin.com

laravel api rest client engine apiclient

18/08 2016

v0.0.6

0.0.6.0

Roketin Engine API Client

  Sources   Download

MIT

The Requires

 

The Development Requires

by Sukoreno Mukti

laravel api rest client engine apiclient

22/07 2016

v0.0.5

0.0.5.0

Roketin Engine API Client

  Sources   Download

MIT

The Requires

 

The Development Requires

by Sukoreno Mukti

laravel api rest client engine apiclient

01/07 2016

v0.0.4

0.0.4.0

Roketin Engine API Client

  Sources   Download

MIT

The Requires

 

The Development Requires

by Sukoreno Mukti

laravel api rest client engine apiclient

17/06 2016

v0.0.3

0.0.3.0

Roketin Engine API Client

  Sources   Download

MIT

The Requires

 

The Development Requires

by Sukoreno Mukti

laravel api rest client engine apiclient

28/04 2016

v0.0.2

0.0.2.0

Roketin Engine API Client

  Sources   Download

MIT

The Requires

 

The Development Requires

by Sukoreno Mukti

laravel api rest client engine apiclient

27/04 2016

v0.0.1

0.0.1.0

Roketin Engine API Client

  Sources   Download

MIT

The Requires

 

The Development Requires

by Sukoreno Mukti

laravel api rest client engine apiclient