| ! WIP project
-
Install sdk
[~/project/dir] $ npm install lazada-open-platform-sdk
-
Require
LazadaAPIclassimport LazadaAPI from 'lazada-open-platform-sdk' // OR const LazadaAPI = require('lazada-open-platform-sdk')
-
Instantiate a LazadaAPI Object
/** * LazadaAPI class constructor * @param {string} appKey * @param {string} appSecret * @param {Venture} countryCode @ref: 'src/LazadaClient/constants.js' * countryCode should be one of the following * | 'SINGAPORE' * | 'THAILAND' * | 'MALAYSIA' * | 'VIETNAM' * | 'PHILIPPINES' * | 'INDONESIA' * @param {string?} accessToken require for some API */ const aLazadaAPI = new LazadaAPI(appKey, appSecret, 'SINGAPORE') // OR const accessToken = 'some_access_token' const aLazadaAPIWithToken = new LazadaAPI(appKey, appSecret, 'SINGAPORE', accessToken)
-
Call API action with proper parameters
// all API action return promise aLazadaAPI .generateAccessToken({ code: 'auth_code' }) .then(response => { const { access_token } = response // JSON data from Lazada's API }) // for API action that require authorization, you must set the accessToken first aLazadaAPI.accessToken = 'some_access_token' aLazadaAPI .getShipmentProviders() .then(response => { // JSON data from Lazada's API })
-
For available API actions, check the support table. For proper API request parameters, check Lazada's offcial documentation and source code located in
src/LazadaClient/<namespace>
| Order | status |
|---|---|
| getDocument | ✔️ |
| getFailureReasons | ✔️ |
| getMultipleOrderItems | ✔️ |
| getOrder | ✔️ |
| getOrderItems | ✔️ |
| getOrders | ✔️ |
| setInvoiceNumber | ✔️ |
| setStatusToCanceled | ✔️ |
| setStatusToPackedByMarketplace | ✔️ |
| setStatusToReadyToShip | ✔️ |
| Product | status |
|---|---|
| createProduct | ✔️ |
| getBrands | ✔️ |
| getCategoryAttributes | ✔️ |
| getCategoryTree | ✔️ |
| getProducts | ✔️ |
| getQcStatus | 🚫 |
| getResponse | 🚫 |
| migrateImage | ✔️ |
| migrateImages | 🚫 |
| removeProduct | ✔️ |
| setImages | ✔️ |
| updatePriceQuantity | ✔️ |
| updateProduct | ✔️ |
| uploadImage | 🚫 |
| Finance | status |
|---|---|
| getPayoutStatus | 🚫 |
| getTransactionDetails | 🚫 |
| Logistics | status |
|---|---|
| getShipmentProviders | ✔️ |
| Seller | status |
|---|---|
| getSeller | 🚫 |
| updateSeller | 🚫 |
| updateUser | 🚫 |
| System | status |
|---|---|
| generateAccessToken | ✔️ |
| refreshAccessToken | ✔️ |
| DataMoat | status |
|---|---|
| dataMoatBatchLog | 🚫 |
| dataMoatComputeRisk | 🚫 |
| dataMoatLogin | 🚫 |
| dataMoatOrder | 🚫 |
- node - runtime
- babel - js transpiler
- flow - type checker
- jest - test runner
- eslint - linter
- vscode - recommended text editor
- sdk variables:
camelCase - api variables:
snake_caseorPascalCase
src/
├── LazadaAPI // LazadaAPI: top level controller class
│ └── index.js
├── LazadaClient // LazadaClient: namespace seperated API actions
│ ├── index.js
│ ├── logistics.js
│ ├── order.js
│ ├── product.js
│ └── system.js
├── LazadaRequest // LazadaRequest: responsible for network request
│ ├── index.js
│ └── signature // logic for signing API request
│ └── index.js
├── __tests__ // all tests located here
└── index.js // a.k.a. main.c
const APIRequest = {
appKey: ":require",
appSecret: ":require",
baseURL: ":require" // Protocol (default: https) + Gateway (location specific)
HttpAction: "GET OR POST", // API specific
apiPath: "action/path", // API specific
accessToken: ":optional", // API specific
payload: {} // API specific
};