1.1.1 • Published 8 months ago

generate-mercari-jwt v1.1.1

Weekly downloads
-
License
GPL-3.0
Repository
github
Last release
8 months ago

generate-mercari-jwt

This is a util developed to help generating a valid Json Web Token for the use case of requesting mercari v2 API.

Prerequisite

The module has an indirect dependency to NodeJS v10 Crypto API, so please make sure your Node version is v10 or higher

Installing

npm install generate-mercari-jwt

Usage

import generateMercariJwt from "generate-mercari-jwt";
import axios from "axios";

generateMercariJwt("https://api.mercari.jp/v2/entities:search", "POST").then((jwt) => {
  return axios.post("https://api.mercari.jp/v2/entities:search", {
    // how many items you prefer to retrieve
    "pageSize": 10,
    // This field is required and should not be empty
    "searchSessionId": "just_dont_let_it_be_empty",
    // filter options, fieldNames below all speak for themselves
    "searchCondition": {
        "keyword": "",
        "excludeKeyword": "",
        "sort": "SORT_SCORE",
        "order": "ORDER_DESC",
        "status": [
            "STATUS_ON_SALE"
        ],
        "sizeId": [],
        "categoryId": [],
        "brandId": [],
        "sellerId": [],
        "priceMin": 10000,
        "priceMax": 20000,
        "itemConditionId": [
            1
        ],
        "shippingPayerId": [
            2
        ],
        "shippingFromArea": [],
        "shippingMethod": [],
        "colorId": [],
        "hasCoupon": false,
        "attributes": [],
        "itemTypes": [],
        "skuIds": []
    },
    // TODO what is the enum for this field?
    "serviceFrom": "suruga",
    "withItemBrand": true,
    "withItemSize": false,
    "withItemPromotions": true,
    "withItemSizes": true,
    "withShopname": false
}, {
    headers: {
      // this header is required
      "X-Platform": "web",
      "Content-Type": "application/json",
      "Accept": "application/json",
      "DPoP": jwt
    }
  })
}).then(res => {
  console.log(res.data);
});