shibuyakosuke / laravel-nextengine
NextEngine API SDK for Laravel.
This package's canonical repository appears to be gone and the package has been frozen as a result.
v0.0.5
2021-03-30 14:26 UTC
Requires
- php: ^7.2
- ext-json: *
- guzzlehttp/guzzle: ^5.0 | ^6.0 | ^7.0
- illuminate/database: ^6.0 | ^7.0
- illuminate/support: ^6.0 | ^7.0
- nesbot/carbon: ^1.0 | ^2.0
Requires (Dev)
- mockery/mockery: ^1.3 | ^1.4
- orchestra/testbench: ^5.0 | ^6.0
- phpunit/phpunit: ^8.0 | ^9.0
- squizlabs/php_codesniffer: ^3.5
README
Overview
ネクストエンジン API の Laravel プラグイン(非公式)です。 ネクストエンジン API に関してのリファレンスやコミュニティは Developer Network をご利用ください。
Overview
- ネクストエンジンAPI利用時の認証関連処理
- ネクストエンジンAPI利用時のリクエスト処理
実装済みのメソッドはこちら
Install
composer でインストールしてください。
composer require shibuyakosuke/laravel-nextengine
Laravel バージョン 8 以上を使う場合は、別途 laravel/legacy-factories をインストールしてください。
composer require laravel/legacy-factories
設定
.env
に以下の項目を追加します。
ここに記述するのは、初期設定として利用するアカウントで、Seeding のときのみ、利用されます。
NEXT_ENGINE_USERNAME=(ネクストエンジンの管理者アカウント名)
NEXT_ENGINE_PASSWORD=(ネクストエンジンの管理者パスワード)
NEXT_ENGINE_CLIENT_ID=(ネクストエンジンの管理者 CLIENT_ID)
NEXT_ENGINE_CLIENT_SECRET=(ネクストエンジンの管理者 CLIENT_SECRET)
NEXT_ENGINE_REDIRECT_URI=(ネクストエンジンの管理者 REDIRECT_URI)
User モデルへのリレーション追加
以下のように、NextEngineApi
トレイトを追加すると、hasOne
で NextEngineApi
モデルへのリレーションを追加できます。
<?php namespace App\Models; use Illuminate\Foundation\Auth\User as Authenticatable; use ShibuyaKosuke\LaravelNextEngine\Traits\NextEngineApi; class User extends Authenticatable { use NextEngineApi; // 追加 }
設定ファイルの出力
以下のコマンドで、
config/nextengine.php
database/migrations/2020_01_01_000000_create_next_engine_apis_table.php
database/factories/NextEngineApiFactory.php
が出力されます。適宜編集してください。
php artisan vendor:publish --tag=nextengine
利用方法
OrderController から、受注伝票を取得する例
<?php namespace App\Http\Controllers; class OrderController extends Controller { public function index() { $parameters = []; $receiveOrder = NextEngine::receiveOrderBaseSearch($parameters); return view('orders.index', compact('receiveOrder')); } }
アクセストークンの更新
アクセストークンの更新のためのコマンドが利用可能になっています。
php artisan nextengine:refresh-tokens
アクセストークンの更新の自動化
アクセストークンの更新を cron などの仕組みを利用して、自動化することも可能です。
app/Console/Kernel.php
の schedule
メソッドを 以下のように編集します。
<?php namespace App\Console; use Illuminate\Console\Scheduling\Schedule; use Illuminate\Foundation\Console\Kernel as ConsoleKernel; class Kernel extends ConsoleKernel { protected function schedule(Schedule $schedule) { $schedule->command('nextengine:refresh-tokens')->everyThirtyMinutes(); // <- 追加 } }
このスケジュルが実行されるために、cron に以下のタスクを追加します。
* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1