1.0.52 • Published 1 year ago

lazada-nodejs-sdk v1.0.52

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

Nodejs wrapper for Lazada Open Platform API

Build Status

| ! WIP project

Usage

  1. Install sdk

    [~/project/dir] $ npm install lazada-open-platform-sdk
  2. Require LazadaAPI class

    import LazadaAPI from "lazada-open-platform-sdk";
    // OR
    const LazadaAPI = require("lazada-open-platform-sdk");
  3. 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
    );
  4. 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
    });
  5. 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>

API Support

Orderstatus
getDocument:heavy_check_mark:
getFailureReasons:heavy_check_mark:
getMultipleOrderItems:heavy_check_mark:
getOrder:heavy_check_mark:
getOrderItems:heavy_check_mark:
getOrders:heavy_check_mark:
setInvoiceNumber:heavy_check_mark:
setStatusToCanceled:heavy_check_mark:
setStatusToPackedByMarketplace:heavy_check_mark:
setStatusToReadyToShip:heavy_check_mark:

Productstatus
createProduct:heavy_check_mark:
getBrands:heavy_check_mark:
getCategoryAttributes:heavy_check_mark:
getCategoryTree:heavy_check_mark:
getProductItem:heavy_check_mark:
getProducts:heavy_check_mark:
getQcStatus:no_entry_sign:
getResponse:heavy_check_mark:
migrateImage:heavy_check_mark:
migrateImages:heavy_check_mark:
removeProduct:heavy_check_mark:
setImages:heavy_check_mark:
updatePriceQuantity:heavy_check_mark:
updateProduct:heavy_check_mark:
uploadImage:no_entry_sign:

Financestatus
getPayoutStatus:no_entry_sign:
getTransactionDetails:no_entry_sign:

Logisticsstatus
getShipmentProviders:heavy_check_mark:

Sellerstatus
getSeller:no_entry_sign:
updateSeller:no_entry_sign:
updateUser:no_entry_sign:

Systemstatus
generateAccessToken:heavy_check_mark:
refreshAccessToken:heavy_check_mark:

DataMoatstatus
dataMoatBatchLog:no_entry_sign:
dataMoatComputeRisk:no_entry_sign:
dataMoatLogin:no_entry_sign:
dataMoatOrder:no_entry_sign:

Development

Tools

  • node - runtime
  • babel - js transpiler
  • flow - type checker
  • jest - test runner
  • eslint - linter
  • vscode - recommended text editor

Convention

  1. sdk variables: camelCase
  2. api variables: snake_case or PascalCase

File structure

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

Design

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
};

Reference

Lazada API Doc

https://open.lazada.com/doc/api.htm

1.0.37

1 year ago

1.0.36

1 year ago

1.0.35

1 year ago

1.0.39

1 year ago

1.0.38

1 year ago

1.0.40

1 year ago

1.0.44

1 year ago

1.0.43

1 year ago

1.0.42

1 year ago

1.0.41

1 year ago

1.0.48

1 year ago

1.0.47

1 year ago

1.0.46

1 year ago

1.0.45

1 year ago

1.0.49

1 year ago

1.0.51

1 year ago

1.0.50

1 year ago

1.0.52

1 year ago

1.0.33

2 years ago

1.0.32

2 years ago

1.0.31

2 years ago

1.0.34

2 years ago

1.0.22

2 years ago

1.0.21

2 years ago

1.0.26

2 years ago

1.0.25

2 years ago

1.0.24

2 years ago

1.0.23

2 years ago

1.0.29

2 years ago

1.0.28

2 years ago

1.0.27

2 years ago

1.0.30

2 years ago

1.0.19

3 years ago

1.0.20

3 years ago

1.0.18

3 years ago

1.0.17

3 years ago

1.0.16

3 years ago

1.0.11

3 years ago

1.0.10

3 years ago

1.0.15

3 years ago

1.0.13

3 years ago

1.0.12

3 years ago

1.0.0-9

3 years ago

1.0.0-8

3 years ago

1.0.0-5

3 years ago

1.0.0-4

3 years ago

1.0.0-7

3 years ago

1.0.0-6

3 years ago

1.0.0-1

3 years ago

1.0.0-3

3 years ago

1.0.0-2

3 years ago

1.0.0-0

3 years ago