# nomad_envoy_cli

NomadEnvoyCli - JavaScript client for nomad_envoy_cli
This is the API descriptor for the Nomad Envoy API, responsible for order operation and product lists. Developed by [Samarkand Global](https://samarkand.global) in partnership with [Youzan](https://www.youzan.com/), [LittleRED](https://www.xiaohongshu.com/), [PDD](http://www.pinduoduo.com/), etc. Read the documentation online at [Nomad API Suite](https://api.samarkand.io/). - Install for node with `npm install nomad_envoy_cli` - Install for python with `pip install nomad-envoy-cli`
This SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:

- API version: 1.58.0
- Package version: 1.58.0
- Build package: org.openapitools.codegen.languages.JavascriptClientCodegen

## Installation

### For [Node.js](https://nodejs.org/)

#### npm

To publish the library as a [npm](https://www.npmjs.com/), please follow the procedure in ["Publishing npm packages"](https://docs.npmjs.com/getting-started/publishing-npm-packages).

Then install it via:

```shell
npm install nomad_envoy_cli --save
```

##### git

If the library is hosted at a git repository, e.g. https://github.com/GIT_USER_ID/GIT_REPO_ID
then install it via:

```shell
    npm install GIT_USER_ID/GIT_REPO_ID --save
```

## Getting Started

Please follow the [installation](#installation) instruction and execute the following JS code:

```javascript
const nomadEnvoyCli = require('nomad_envoy_cli');

var defaultClient = nomadEnvoyCli.ApiClient.instance;
// defaultClient.basePath = 'http://127.0.0.1:8080/envoy';
defaultClient.defaultHeaders['source'] = 'storefront';
defaultClient.platformParameters = {
  "ALICLOUD_APIGATEWAY_APP_SECRET": process.env["ALICLOUD_APIGATEWAY_APP_SECRET"]
};

// Configure API key authorization: AlibabaXCaKey
var AlibabaXCaKey = defaultClient.authentications[nomadEnvoyCli.ApiClient.KEY_x_ca_key];
AlibabaXCaKey.apiKey = process.env['ALICLOUD_APIGATEWAY_APP_KEY'];

// Configure API key authorization: AlibabaXCaStage
var AlibabaXCaStage = defaultClient.authentications[nomadEnvoyCli.ApiClient.KEY_x_ca_stage];
AlibabaXCaStage.apiKey = process.env["ALICLOUD_STAGE"];


var api = new nomadEnvoyCli.ProductApi();

var store = 'samarkand.youzan.foreveryoung';
// var store = 'samarkand.shopify.david';  // note: Shopify's API is easiest.
// var store = 'samarkand.nomad.test';

(async () => {
  var product = new nomadEnvoyCli.Product();
  product.name = "SMK nodejs client test";
  product.price = 1;
  product.description = "another description";
  product.images = nomadEnvoyCli.Images({"uploads":["https://img.yzcdn.cn/upload_files/2018/10/30/FmwaLNs422AF1JHLy3f_Z0kYcySd.jpg"]});

  var apiReponse0 = await api.getProductsByField(store).catch((err) => console.log(err));
  console.log("apiReponse0:", apiReponse0);

  /* POST */
  var apiReponse1 = await api.addProduct(store, {"product": product});
  console.log("apiReponse1:", apiReponse1);

  /* PUT */
  product2 = Object.assign({}, apiReponse1.data.product);
  product2.name = "product2.name updated";
  var apiReponse2 = await api.updateProduct(store, {"product": product2});
  console.log("apiReponse2:", apiReponse2);

  /* GET */
  product3 = Object.assign({}, apiReponse2.data.product);
  var apiReponse3 = await api.getProductsByField(store, {"productId": "1278349221"});
  console.log("apiReponse3:", apiReponse3);

  /* DELETE */
//   product4 = Object.assign({}, apiReponse3.data.product);
//   var apiReponse4 = await api.deleteProduct(store, product4.productId);
//   console.log("apiReponse4:", apiReponse4);
})();

```

## Documentation for API Endpoints

All URIs are relative to *https://nomad.samarkand-global.cn/envoy*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*NomadEnvoyCli.CustomsApi* | [**postCustomsOrder**](docs/CustomsApi.md#postCustomsOrder) | **POST** /customs/{region}/order | postCustomsOrder
*NomadEnvoyCli.CustomsApi* | [**postCustomsPayment**](docs/CustomsApi.md#postCustomsPayment) | **POST** /customs/{region}/payment | postCustomsPayment
*NomadEnvoyCli.CustomsApi* | [**postCustomsProduct**](docs/CustomsApi.md#postCustomsProduct) | **POST** /customs/{region}/product | postCustomsProduct
*NomadEnvoyCli.CustomsApi* | [**putCustomsOrder**](docs/CustomsApi.md#putCustomsOrder) | **PUT** /customs/{region}/order | putCustomsOrder
*NomadEnvoyCli.CustomsCallbackApi* | [**postCustomsCallback**](docs/CustomsCallbackApi.md#postCustomsCallback) | **POST** /customs/{store} | postCustomsCallback
*NomadEnvoyCli.OrderApi* | [**addOrder**](docs/OrderApi.md#addOrder) | **POST** /order/{store} | addOrder
*NomadEnvoyCli.OrderApi* | [**cancelOrder**](docs/OrderApi.md#cancelOrder) | **DELETE** /order/{store} | cancelOrder
*NomadEnvoyCli.OrderApi* | [**getOrderByField**](docs/OrderApi.md#getOrderByField) | **GET** /order/{store} | getOrderByField
*NomadEnvoyCli.OrderApi* | [**updateOrder**](docs/OrderApi.md#updateOrder) | **PUT** /order/{store} | updateOrder
*NomadEnvoyCli.ProductApi* | [**addProduct**](docs/ProductApi.md#addProduct) | **POST** /product/{store} | addProduct
*NomadEnvoyCli.ProductApi* | [**deleteProduct**](docs/ProductApi.md#deleteProduct) | **DELETE** /product/{store} | deleteProduct
*NomadEnvoyCli.ProductApi* | [**getProductsByField**](docs/ProductApi.md#getProductsByField) | **GET** /product/{store} | getProductsByField
*NomadEnvoyCli.ProductApi* | [**updateProduct**](docs/ProductApi.md#updateProduct) | **PUT** /product/{store} | updateProduct
*NomadEnvoyCli.StoreApi* | [**createStoreInventory**](docs/StoreApi.md#createStoreInventory) | **POST** /stores/{store_id}/inventory | createStoreInventory
*NomadEnvoyCli.StoreApi* | [**postStore**](docs/StoreApi.md#postStore) | **POST** /stores/ | postStore
*NomadEnvoyCli.StoreApi* | [**queryStore**](docs/StoreApi.md#queryStore) | **GET** /stores/ | queryStore
*NomadEnvoyCli.StoreApi* | [**queryStoreInventory**](docs/StoreApi.md#queryStoreInventory) | **GET** /stores/{store_id}/inventory | queryStoreInventory
*NomadEnvoyCli.StoreApi* | [**updateStoreInventory**](docs/StoreApi.md#updateStoreInventory) | **PUT** /stores/{store_id}/inventory | updateStoreInventory


## Documentation for Models

 - [NomadEnvoyCli.Address](docs/Address.md)
 - [NomadEnvoyCli.ApiResponse](docs/ApiResponse.md)
 - [NomadEnvoyCli.ApiResponseConnectorResponse](docs/ApiResponseConnectorResponse.md)
 - [NomadEnvoyCli.ApiResponseData](docs/ApiResponseData.md)
 - [NomadEnvoyCli.ApiResponseDataRequired](docs/ApiResponseDataRequired.md)
 - [NomadEnvoyCli.ApiResponseGeneral](docs/ApiResponseGeneral.md)
 - [NomadEnvoyCli.ApiResponseInventory](docs/ApiResponseInventory.md)
 - [NomadEnvoyCli.ApiResponseRequired](docs/ApiResponseRequired.md)
 - [NomadEnvoyCli.BaseApiResponse](docs/BaseApiResponse.md)
 - [NomadEnvoyCli.BaseApiResponseData](docs/BaseApiResponseData.md)
 - [NomadEnvoyCli.CustomsDeclarationResult](docs/CustomsDeclarationResult.md)
 - [NomadEnvoyCli.Gender](docs/Gender.md)
 - [NomadEnvoyCli.Images](docs/Images.md)
 - [NomadEnvoyCli.Inventory](docs/Inventory.md)
 - [NomadEnvoyCli.Order](docs/Order.md)
 - [NomadEnvoyCli.OrderApiResponse](docs/OrderApiResponse.md)
 - [NomadEnvoyCli.OrderApiResponseData](docs/OrderApiResponseData.md)
 - [NomadEnvoyCli.OrderApiResponseDataRequired](docs/OrderApiResponseDataRequired.md)
 - [NomadEnvoyCli.OrderApiResponseRequired](docs/OrderApiResponseRequired.md)
 - [NomadEnvoyCli.OrderProduct](docs/OrderProduct.md)
 - [NomadEnvoyCli.Product](docs/Product.md)
 - [NomadEnvoyCli.ProductApiResponse](docs/ProductApiResponse.md)
 - [NomadEnvoyCli.ProductApiResponseData](docs/ProductApiResponseData.md)
 - [NomadEnvoyCli.ProductApiResponseRequired](docs/ProductApiResponseRequired.md)
 - [NomadEnvoyCli.ProductComponent](docs/ProductComponent.md)
 - [NomadEnvoyCli.ProductResponseDataRequired](docs/ProductResponseDataRequired.md)
 - [NomadEnvoyCli.ProductSku](docs/ProductSku.md)
 - [NomadEnvoyCli.Store](docs/Store.md)


## Documentation for Authorization



### ca_key


- **Type**: API key
- **API key parameter name**: x-ca-key
- **Location**: HTTP header



### ca_stage


- **Type**: API key
- **API key parameter name**: x-ca-stage
- **Location**: HTTP header

