苏科诺/mw / rclient
Roketin 引擎 API 客户端
v0.0.2
2016-04-27 08:27 UTC
Requires
- php: ^5.5.9 || ^7.0
- guzzlehttp/guzzle: ~5.3|~6.0
- illuminate/http: 5.1.* || 5.2.*
- illuminate/support: 5.1.* || 5.2.*
- intervention/image: ^2.3
Requires (Dev)
- mockery/mockery: ~0.9
- phpunit/phpunit: ~4.0
- symfony/var-dumper: 2.7.*@dev
This package is not auto-updated.
Last update: 2024-09-14 19:25:32 UTC
README
RClient 是 Roketin API 的标准客户端应用程序,用于加速将 Roketin 引擎 API 的基本功能连接和集成到客户的网站中。
API 文档
Roketin API 的文档可以在文档中找到。
安装
Laravel 5
"require": { "laravel/framework": "5.0.*", "sukorenomw/rclient": "dev-master" }
接下来,从终端运行 Composer 更新命令
composer update
or
composer update "sukorenomw/rclient"
配置
- 打开 config/app.php 并将以下行添加到您的 Service Providers 数组中
Roketin\Providers\RoketinServiceProvider::class,
- 打开 config/app.php 并将以下行添加到您的 Aliases 中
'Roketin' => Roketin\Facades\RoketinFacade::class
-
使用以下命令发布配置
$ php artisan vendor:publish --provider="Roketin\Providers\RoketinServiceProvider"
-
根据 .env.example 文件创建一个 .env 文件,并根据客户端凭据更改值
APP_ENV=local
APP_DEBUG=true
APP_KEY=somestringrandom
APP_URL=https://
ROKETIN_API=http://dev.roketin.com/api/v2.2/
ROKETIN_PUBLIC=http://dev.roketin.com/
ROKETIN_TOKEN=aBCd1234
ROKETIN_USERNAME=roketin
ROKETIN_RX=4241639264053293060625251241576152575759
VERITRANS_SERVER=494DKU0E71241K7BC15597DACA94D1F43
VERITRANS_ENVIRONMENT=sandbox
如何使用
基本
您可以通过以下方式调用 Roketin 对象:Roketin::model()->get()
use Roketin; $menus = Roketin::menus()->get(); $posts = Roketin::posts()->get(); $products = Roketin::products()->get(); etc..
通过 id/slug 等获取单个对象
/* * 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();
条件
通过简单条件获取对象
/** * @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
通过简单 orWhere 条件获取对象
/** * @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
高级 where 或 orWhere 分组条件
/** * @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 )
排序
通过排序字段获取 Roketin 对象 API
/* * 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();
分组
通过分组字段获取 Roketin 对象 API
/* * grouping object before fetch * * @param $field * / $posts = Roketin::posts()->groupBy('created_at')->get();
分页
分页获取对象
/* * 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();
配送
获取所有可用国家
$countries = Roketin::shipping()->countries()
获取所有可用省份(目前仅适用于印度尼西亚)
$province = Roketin::shipping()->province()
获取所有可用城市(目前仅适用于印度尼西亚)
/* * @param $provinceid */ $cities = Roketin::shipping()->province(9)->cities()
计算运费
/* * @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()->cost(23, 'JNE')
订单
创建销售订单
/* * @param array $generalData * @param array $customerData * @param array $products */ $generalData = [ "notes" => "some string here", "is_email_only" => true, ]; $customerData = [ "first_name" => "Sukoreno", "last_name" => "Mukti", "phone" => "+6281910513704", "email" => "sukorenomw@gmail.com", ]; $products = [ [ "id" => "2623", "qty" => "1", "sku" => "ADVHEL001", "price_type" => "retail_price", ], ]; $order = Roketin::order()->create([], 'JNE')
注意
- 有关详细属性,请参阅销售订单 API 文档这里
确认支付订单
/* * @param $invoice_number * @param $payment_type * @param $total * @param $customer_name * @param $transaction_number * @param Image $image * @param null $bank_account * @param null $paid_date */ //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', 'Sukoreno Mukti', 'TRX-123', $img, '0853909090')
作废销售订单及其发票
/* * @param $invoice_number */ $order = Roketin::order()->void('ASD02262016')
订阅
提交订阅电子邮件
/* * @param $email */ $subscribe = Roketin::subscribe('somebody@anythin.com')
消息
向 Roketin 引擎收件箱发送消息
/* * @param $sender_name * @param $sender_email * @param $sender_phone * @param $message_title * @param $message_body */ $msg = Roketin::message() ->send( 'reno', 'smw@mailinator.com', '123123', 'test mesage', 'hai')
优惠券
检查优惠券的有效性
/* * @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')
使优惠券失效(使用优惠券)
/* * @param $voucher_code * @param $voucher_type (optional) default is other * @param $used_by (optional) default is logged in user */ $check = Roketin::voucher()->invalidate('AS123D')
用户
注册新用户
/* * @param $first_name * @param $last_name * @param $email * @param $phone * @param $password * @param $password_confirmation * @return user object */ $user = Roketin::user()->register('first_name', 'last_name', 'email', 'phone', 'password', 'password_confirmation');
用户激活
/* * @param $token * @return true if success activation * @return error object if present */ $activation = Roketin::user()->activate('token');
将激活码重新发送到电子邮件
/* * @param $email * @return true if success activation * @return error object if present */ $resend = Roketin::user()->resendActivation('someone@somthing.com');
忘记密码(生成并发送令牌到用户电子邮件)
/* * @param $email * @return true if success activation * @return error object if present */ Roketin::user()->forgot('someone@somthing.com');
重置密码
/* * @param $token * @param $password * @param $password_confirmation * @return true if success activation * @return error object if present */ Roketin::user()->resetPassword('token','asdf','asdf');
登录
/* * @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');
当前用户
/* * @return user object */ Roketin::auth()->user();
更新用户数据
/* * @return user object */ Roketin::user()->update(['first_name' => 'John']);
注意
- 有关详细属性,请参阅销售订单 API 文档这里
获取交易历史数据
/* * @return user object */ Roketin::user()->transactionHistory()->get();
注意
- 您也可以使用 where()、orWhere() 等查询方法
登出
/* * @return boolean */ Roketin::auth()->logout();