laraditz / lazada
Laravel package for interacting with Lazada API.
Requires
- php: ^8.1
- illuminate/http: ^9.0|^10.0
- illuminate/support: ^9.0|^10.0
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2024-10-30 02:05:30 UTC
README
Laravel Lazada
Laravel package for interacting with Lazada API.
Requirements
- PHP 8.1 and above.
- Laravel 9 and above.
Installation
You can install the package via composer:
composer require laraditz/lazada
Before Start
Configure your variables in your .env
(recommended) or you can publish the config file and change it there.
LAZADA_APP_KEY=<your_lazada_app_key>
LAZADA_APP_SECRET=<your_lazada_app_secret>
LAZADA_SELLER_ID=MYXXXXXXXX
(Optional) You can publish the config file via this command:
php artisan vendor:publish --provider="Laraditz\Lazada\LazadaServiceProvider" --tag="config"
Run the migration command to create the necessary database table.
php artisan migrate
On Lazada Open Platform, configure this App Callback URL on your App Management section. Once seller has authorized the app, it will redirect to this URL. Under the hood, it will call API to generate access token so that you do not have to call it manually. If you want to use your own App Callback URL, you may specify LAZADA_APP_CALLBACK_URL
in your .env
, but you need to manually call the accessToken()
API to update the access token in your record.
// App Callback URL
https://your-app-url.com/lazada/seller/authorized
Available Methods
Below are all methods available under this package. Parameters for all method calls will follow exactly as in Lazada Open Platform Documentation.
Usage
You can use service container to make an api call
app('lazada')->auth()->authorizationUrl(); // give URL to seller to authorize app app('lazada')->order()->get(order_id: '16090'); // get specific order
or you can use facade
use Lazada; use Laraditz\Lazada\Exceptions\LazadaAPIError; try { // Generate access token. Get the code after seller has authorized the app. $accessToken = Lazada::auth()->accessToken(code: '0_123456_XxxXXXXxxXXxxXXXXxxxxxxXXXXxx'); } catch (LazadaAPIError $e) { // Catch API Error // $e->getMessage() // $e->getMessageCode() // $e->getRequestId() // $e->getResult() // raw response throw $e; } catch (\Throwable $th) { throw $th; } // Get order list Lazada::order()->list(created_after: '2023-11-17T00:00:00+08:00');
Event
This package also provide an event to allow your application to listen for Lazada web push. You can create your listener and register it under event below.
Read more about Lazada Push Mechanism (LPM) here.
Webhook URL
You may setup the Callback URL below on Lazada Open API dashboard, under the Push Mecahnism section so that Lazada will push all content update to this url and trigger the WebPushReceived
event above.
https://your-app-url.com/lazada/webhooks
Commands
lazada:flush-expired-token Flush expired access token. lazada:refresh-token Refresh existing access token before it expired.
As Lazada access token has an expired date, you may want to set lazada:refresh-token
on scheduler and run it before it expires to refresh the access token. Otherwise, you need the seller to reauthorize and generate a new access token.
Token Duration
Live
- Access token: 30 days
- Refresh token: 180 days
Testing
- Access token: 7 days
- Refresh token: 30 days
Testing
composer test
Changelog
Please see CHANGELOG for more information what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email raditzfarhan@gmail.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.