@sp-api-sdk/shipment-invoicing-api-v0 1.8.3 → 1.8.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -2,6 +2,15 @@
2
2
 
3
3
  The Selling Partner API for Shipment Invoicing helps you programmatically retrieve shipment invoice information in the Brazil marketplace for a selling partner’s Fulfillment by Amazon (FBA) orders.
4
4
 
5
+ [![npm version](https://badgen.net/npm/v/@sp-api-sdk/shipment-invoicing-api-v0)](https://www.npmjs.com/package/@sp-api-sdk/shipment-invoicing-api-v0)
6
+ [![XO code style](https://badgen.net/badge/code%20style/XO/cyan)](https://github.com/xojs/xo)
7
+
8
+ ## Documentation
9
+
10
+ Learn more about this Selling Partner API by visiting the [official documentation](https://github.com/amzn/selling-partner-api-docs/tree/main/references/shipment-invoicing-api/shipmentInvoicingV0.md).
11
+
12
+ Also, see the [generated documentation](https://bizon.github.io/selling-partner-api-sdk/modules/_sp_api_sdk_shipment_invoicing_api_v0.html) for this API client.
13
+
5
14
  ## Installing
6
15
 
7
16
  ```sh
@@ -19,26 +28,25 @@ import {SellingPartnerApiAuth} from '@sp-api-sdk/auth'
19
28
  import {ShipmentInvoicingApiClient} from '@sp-api-sdk/shipment-invoicing-api-v0'
20
29
 
21
30
  const auth = new SellingPartnerApiAuth({
22
- clientId: '',
23
- clientSecret: '',
24
- refreshToken: '',
25
- secretAccessKey: '',
31
+ clientId: process.env.LWA_CLIENT_ID,
32
+ clientSecret: process.env.LWA_CLIENT_SECRET,
33
+ refreshToken: 'Atzr|…',
26
34
  accessKeyId: '',
27
- region: '',
35
+ secretAccessKey: '',
28
36
  role: {
29
- arn: '',
30
- }
37
+ arn: 'arn:aws:iam::…',
38
+ },
31
39
  })
32
40
 
33
41
  const client = new ShipmentInvoicingApiClient({
34
42
  auth,
35
- region: 'eu' // or 'eu-west-1'
43
+ region: 'eu',
36
44
  })
37
45
  ```
38
46
 
39
- ## Handle Rate Limiting
47
+ ## Rate Limiting
40
48
 
41
- If you want to let the SDK retry after each 429 responses, instanciate the client like this:
49
+ In order to retry rate limited requests (HTTP 429), you can configure the API client as such:
42
50
 
43
51
  ```javascript
44
52
  const client = new ShipmentInvoicingApiClient({
@@ -46,13 +54,28 @@ const client = new ShipmentInvoicingApiClient({
46
54
  region: 'eu',
47
55
  rateLimiting: {
48
56
  retry: true,
49
- onRetry: (retryInfo) => console.log(retryInfo) // Optional
50
- }
57
+ // Optionally specify a callback that will be called on every retry.
58
+ onRetry: (retryInfo) => {
59
+ console.log(retryInfo)
60
+ },
61
+ },
51
62
  })
52
63
  ```
53
64
 
54
- The SDK gets the rate limits for each routes from the API documentation
65
+ The rate limits used for each route are specified in the [API documentation]((https://github.com/amzn/selling-partner-api-docs/tree/main/references/shipment-invoicing-api/shipmentInvoicingV0.md)).
66
+
67
+ ## License
68
+
69
+ MIT
55
70
 
56
- ## API documentation
71
+ ## Miscellaneous
57
72
 
58
- See [here](https://github.com/amzn/selling-partner-api-docs/tree/main/references/shipment-invoicing-api/shipmentInvoicingV0.md)
73
+ ```
74
+ ╚⊙ ⊙╝
75
+ ╚═(███)═╝
76
+ ╚═(███)═╝
77
+ ╚═(███)═╝
78
+ ╚═(███)═╝
79
+ ╚═(███)═╝
80
+ ╚═(███)═╝
81
+ ```
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ShipmentInvoicingApiClient = exports.RATE_LIMITS = void 0;
3
+ exports.ShipmentInvoicingApiClient = exports.clientRateLimits = void 0;
4
4
  /* eslint-disable prefer-regex-literals */
5
5
  const common_1 = require("@sp-api-sdk/common");
6
6
  const api_model_1 = require("./api-model");
7
7
  const error_1 = require("./error");
8
- exports.RATE_LIMITS = [
8
+ exports.clientRateLimits = [
9
9
  {
10
10
  method: 'get',
11
11
  urlRegex: new RegExp('^/fba/outbound/brazil/v0/shipments/[^/]*$'),
@@ -27,20 +27,23 @@ exports.RATE_LIMITS = [
27
27
  ];
28
28
  class ShipmentInvoicingApiClient extends api_model_1.ShipmentInvoiceApi {
29
29
  constructor(parameters) {
30
- const region = common_1.awsRegionByCode[parameters.region] ?? parameters.region;
30
+ const config = common_1.sellingPartnerRegions[parameters.region];
31
+ if (!config) {
32
+ throw new error_1.ShipmentInvoicingApiError(`Unknown region: ${parameters.region}`);
33
+ }
31
34
  const { rateLimiting, ...clientParameters } = parameters;
32
- const axiosParameters = { ...clientParameters, region };
35
+ const axiosParameters = {
36
+ ...clientParameters,
37
+ region: config.awsRegion,
38
+ };
33
39
  if (rateLimiting?.retry) {
34
- axiosParameters.rateLimits = exports.RATE_LIMITS;
40
+ axiosParameters.rateLimits = exports.clientRateLimits;
35
41
  axiosParameters.onRetry = rateLimiting.onRetry;
36
42
  }
37
43
  const axiosInstance = (0, common_1.createAxiosInstance)(axiosParameters);
38
44
  const configuration = new api_model_1.Configuration();
39
45
  const environment = parameters.sandbox ? 'sandbox' : 'production';
40
- const endpoint = common_1.endpoints[environment][region];
41
- if (!endpoint) {
42
- throw new error_1.ShipmentInvoicingApiError(`Unknown region : ${region}`);
43
- }
46
+ const endpoint = config.endpoints[environment];
44
47
  super(configuration, endpoint, axiosInstance);
45
48
  }
46
49
  }
@@ -1,8 +1,8 @@
1
1
  /* eslint-disable prefer-regex-literals */
2
- import { endpoints, awsRegionByCode, createAxiosInstance } from '@sp-api-sdk/common';
2
+ import { sellingPartnerRegions, createAxiosInstance } from '@sp-api-sdk/common';
3
3
  import { Configuration, ShipmentInvoiceApi } from './api-model';
4
4
  import { ShipmentInvoicingApiError } from './error';
5
- export const RATE_LIMITS = [
5
+ export const clientRateLimits = [
6
6
  {
7
7
  method: 'get',
8
8
  urlRegex: new RegExp('^/fba/outbound/brazil/v0/shipments/[^/]*$'),
@@ -24,20 +24,23 @@ export const RATE_LIMITS = [
24
24
  ];
25
25
  export class ShipmentInvoicingApiClient extends ShipmentInvoiceApi {
26
26
  constructor(parameters) {
27
- const region = awsRegionByCode[parameters.region] ?? parameters.region;
27
+ const config = sellingPartnerRegions[parameters.region];
28
+ if (!config) {
29
+ throw new ShipmentInvoicingApiError(`Unknown region: ${parameters.region}`);
30
+ }
28
31
  const { rateLimiting, ...clientParameters } = parameters;
29
- const axiosParameters = { ...clientParameters, region };
32
+ const axiosParameters = {
33
+ ...clientParameters,
34
+ region: config.awsRegion,
35
+ };
30
36
  if (rateLimiting?.retry) {
31
- axiosParameters.rateLimits = RATE_LIMITS;
37
+ axiosParameters.rateLimits = clientRateLimits;
32
38
  axiosParameters.onRetry = rateLimiting.onRetry;
33
39
  }
34
40
  const axiosInstance = createAxiosInstance(axiosParameters);
35
41
  const configuration = new Configuration();
36
42
  const environment = parameters.sandbox ? 'sandbox' : 'production';
37
- const endpoint = endpoints[environment][region];
38
- if (!endpoint) {
39
- throw new ShipmentInvoicingApiError(`Unknown region : ${region}`);
40
- }
43
+ const endpoint = config.endpoints[environment];
41
44
  super(configuration, endpoint, axiosInstance);
42
45
  }
43
46
  }
@@ -159,7 +159,7 @@ export declare class ShipmentInvoiceApi extends BaseAPI {
159
159
  * @throws {RequiredError}
160
160
  * @memberof ShipmentInvoiceApi
161
161
  */
162
- getInvoiceStatus(requestParameters: ShipmentInvoiceApiGetInvoiceStatusRequest, options?: any): Promise<import("axios").AxiosResponse<GetInvoiceStatusResponse>>;
162
+ getInvoiceStatus(requestParameters: ShipmentInvoiceApiGetInvoiceStatusRequest, options?: any): Promise<import("axios").AxiosResponse<GetInvoiceStatusResponse, any>>;
163
163
  /**
164
164
  * Returns the shipment details required to issue an invoice for the specified shipment. **Usage Plans:** | Plan type | Rate (requests per second) | Burst | | ---- | ---- | ---- | |Default| 1.133 | 25 | |Selling partner specific| Variable | Variable | The x-amzn-RateLimit-Limit response header returns the usage plan rate limits that were applied to the requested operation. Rate limits for some selling partners will vary from the default rate and burst shown in the table above. For more information, see \"Usage Plans and Rate Limits\" in the Selling Partner API documentation.
165
165
  * @param {ShipmentInvoiceApiGetShipmentDetailsRequest} requestParameters Request parameters.
@@ -167,7 +167,7 @@ export declare class ShipmentInvoiceApi extends BaseAPI {
167
167
  * @throws {RequiredError}
168
168
  * @memberof ShipmentInvoiceApi
169
169
  */
170
- getShipmentDetails(requestParameters: ShipmentInvoiceApiGetShipmentDetailsRequest, options?: any): Promise<import("axios").AxiosResponse<GetShipmentDetailsResponse>>;
170
+ getShipmentDetails(requestParameters: ShipmentInvoiceApiGetShipmentDetailsRequest, options?: any): Promise<import("axios").AxiosResponse<GetShipmentDetailsResponse, any>>;
171
171
  /**
172
172
  * Submits a shipment invoice document for a given shipment. **Usage Plans:** | Plan type | Rate (requests per second) | Burst | | ---- | ---- | ---- | |Default| 1.133 | 25 | |Selling partner specific| Variable | Variable | The x-amzn-RateLimit-Limit response header returns the usage plan rate limits that were applied to the requested operation. Rate limits for some selling partners will vary from the default rate and burst shown in the table above. For more information, see \"Usage Plans and Rate Limits\" in the Selling Partner API documentation.
173
173
  * @param {ShipmentInvoiceApiSubmitInvoiceRequest} requestParameters Request parameters.
@@ -175,5 +175,5 @@ export declare class ShipmentInvoiceApi extends BaseAPI {
175
175
  * @throws {RequiredError}
176
176
  * @memberof ShipmentInvoiceApi
177
177
  */
178
- submitInvoice(requestParameters: ShipmentInvoiceApiSubmitInvoiceRequest, options?: any): Promise<import("axios").AxiosResponse<SubmitInvoiceResponse>>;
178
+ submitInvoice(requestParameters: ShipmentInvoiceApiSubmitInvoiceRequest, options?: any): Promise<import("axios").AxiosResponse<SubmitInvoiceResponse, any>>;
179
179
  }
@@ -62,4 +62,4 @@ export declare const toPathString: (url: URL) => string;
62
62
  *
63
63
  * @export
64
64
  */
65
- export declare const createRequestFunction: (axiosArgs: RequestArgs, globalAxios: AxiosInstance, BASE_PATH: string, configuration?: Configuration | undefined) => (axios?: AxiosInstance, basePath?: string) => Promise<import("axios").AxiosResponse<any>>;
65
+ export declare const createRequestFunction: (axiosArgs: RequestArgs, globalAxios: AxiosInstance, BASE_PATH: string, configuration?: Configuration | undefined) => (axios?: AxiosInstance, basePath?: string) => Promise<import("axios").AxiosResponse<any, any>>;
@@ -1,11 +1,11 @@
1
- import { onRetry } from '@sp-api-sdk/common';
2
- import type { ClientConfiguration, RateLimit } from '@sp-api-sdk/common';
1
+ import type { ClientConfiguration, SellingPartnerRegion, RateLimit, OnRetryHandler } from '@sp-api-sdk/common';
3
2
  import { ShipmentInvoiceApi } from './api-model';
4
- export declare const RATE_LIMITS: RateLimit[];
3
+ export declare const clientRateLimits: RateLimit[];
5
4
  export interface ClientParameters extends Omit<ClientConfiguration, 'rateLimits' | 'onRetry'> {
5
+ region: SellingPartnerRegion;
6
6
  rateLimiting?: {
7
7
  retry: boolean;
8
- onRetry?: onRetry;
8
+ onRetry?: OnRetryHandler;
9
9
  };
10
10
  }
11
11
  export declare class ShipmentInvoicingApiClient extends ShipmentInvoiceApi {
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@sp-api-sdk/shipment-invoicing-api-v0",
3
3
  "author": "Vincent Mesquita <vincent.mesquita@bizon.solutions>",
4
4
  "description": "The Selling Partner API for Shipment Invoicing helps you programmatically retrieve shipment invoice information in the Brazil marketplace for a selling partner’s Fulfillment by Amazon (FBA) orders.",
5
- "version": "1.8.3",
5
+ "version": "1.8.7",
6
6
  "main": "dist/cjs/index.js",
7
7
  "module": "dist/es/index.js",
8
8
  "types": "dist/types/index.d.ts",
@@ -25,9 +25,9 @@
25
25
  "test": "NODE_ENV='test' yarn jest"
26
26
  },
27
27
  "dependencies": {
28
- "@sp-api-sdk/auth": "^1.9.3",
29
- "@sp-api-sdk/common": "^1.7.4",
30
- "axios": "^0.21.1"
28
+ "@sp-api-sdk/auth": "^1.9.6",
29
+ "@sp-api-sdk/common": "^1.7.8",
30
+ "axios": "^0.24.0"
31
31
  },
32
32
  "repository": {
33
33
  "type": "git",
@@ -48,5 +48,5 @@
48
48
  "sp sdk",
49
49
  "shipment invoicing api"
50
50
  ],
51
- "gitHead": "30d4f1399133a7e6a08f9a2ec2cb9ce4641a623b"
51
+ "gitHead": "f21b5cb511abd110bf1f07843558719993f36187"
52
52
  }