@sp-api-sdk/solicitations-api-v1 1.8.1 → 1.9.0

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
@@ -64,6 +64,29 @@ const client = new SolicitationsApiClient({
64
64
 
65
65
  The rate limits used for each route are specified in the [API documentation](https://developer-docs.amazon.com/sp-api/docs).
66
66
 
67
+ ## Logging
68
+
69
+ You can enable logging for both SP-API requests and responses by configuring the `logging.request` and `logging.response` properties.
70
+
71
+ ```javascript
72
+ const client = new SolicitationsApiClient({
73
+ auth,
74
+ region: 'eu',
75
+ logging: {
76
+ request: {
77
+ logger: console.debug
78
+ },
79
+ response: {
80
+ logger: console.debug
81
+ }
82
+ },
83
+ })
84
+ ```
85
+
86
+ Specifying `true` will use the default options, specifying an object will allow you to override the default options.
87
+ This uses [axios-logger](https://github.com/hg-pyun/axios-logger) under the hood.
88
+
89
+
67
90
  ## License
68
91
 
69
92
  MIT
package/dist/cjs/index.js CHANGED
@@ -2,5 +2,4 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./src/client"), exports);
5
- tslib_1.__exportStar(require("./src/error"), exports);
6
5
  tslib_1.__exportStar(require("./src/api-model/models"), exports);
@@ -1,44 +1,28 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SolicitationsApiClient = exports.clientRateLimits = void 0;
4
- /* eslint-disable prefer-regex-literals */
5
4
  const common_1 = require("@sp-api-sdk/common");
6
5
  const api_model_1 = require("./api-model");
7
- const error_1 = require("./error");
8
6
  exports.clientRateLimits = [
9
7
  {
10
8
  method: 'get',
9
+ // eslint-disable-next-line prefer-regex-literals
11
10
  urlRegex: new RegExp('^/solicitations/v1/orders/[^/]*$'),
12
11
  rate: 1,
13
12
  burst: 5,
14
13
  },
15
14
  {
16
15
  method: 'post',
16
+ // eslint-disable-next-line prefer-regex-literals
17
17
  urlRegex: new RegExp('^/solicitations/v1/orders/[^/]*/solicitations/productReviewAndSellerFeedback$'),
18
18
  rate: 1,
19
19
  burst: 5,
20
20
  },
21
21
  ];
22
22
  class SolicitationsApiClient extends api_model_1.SolicitationsApi {
23
- constructor(parameters) {
24
- const config = common_1.sellingPartnerRegions[parameters.region];
25
- if (!config) {
26
- throw new error_1.SolicitationsApiError(`Unknown region: ${parameters.region}`);
27
- }
28
- const { rateLimiting, ...clientParameters } = parameters;
29
- const axiosParameters = {
30
- ...clientParameters,
31
- region: config.awsRegion,
32
- };
33
- if (rateLimiting?.retry) {
34
- axiosParameters.rateLimits = exports.clientRateLimits;
35
- axiosParameters.onRetry = rateLimiting.onRetry;
36
- }
37
- const axiosInstance = (0, common_1.createAxiosInstance)(axiosParameters);
38
- const configuration = new api_model_1.Configuration();
39
- const environment = parameters.sandbox ? 'sandbox' : 'production';
40
- const endpoint = config.endpoints[environment];
41
- super(configuration, endpoint, axiosInstance);
23
+ constructor(configuration) {
24
+ const { axios, endpoint } = (0, common_1.createAxiosInstance)(configuration, exports.clientRateLimits);
25
+ super(new api_model_1.Configuration(), endpoint, axios);
42
26
  }
43
27
  }
44
28
  exports.SolicitationsApiClient = SolicitationsApiClient;
package/dist/es/index.js CHANGED
@@ -1,3 +1,2 @@
1
1
  export * from './src/client';
2
- export * from './src/error';
3
2
  export * from './src/api-model/models';
@@ -1,40 +1,24 @@
1
- /* eslint-disable prefer-regex-literals */
2
- import { sellingPartnerRegions, createAxiosInstance } from '@sp-api-sdk/common';
1
+ import { createAxiosInstance } from '@sp-api-sdk/common';
3
2
  import { Configuration, SolicitationsApi } from './api-model';
4
- import { SolicitationsApiError } from './error';
5
3
  export const clientRateLimits = [
6
4
  {
7
5
  method: 'get',
6
+ // eslint-disable-next-line prefer-regex-literals
8
7
  urlRegex: new RegExp('^/solicitations/v1/orders/[^/]*$'),
9
8
  rate: 1,
10
9
  burst: 5,
11
10
  },
12
11
  {
13
12
  method: 'post',
13
+ // eslint-disable-next-line prefer-regex-literals
14
14
  urlRegex: new RegExp('^/solicitations/v1/orders/[^/]*/solicitations/productReviewAndSellerFeedback$'),
15
15
  rate: 1,
16
16
  burst: 5,
17
17
  },
18
18
  ];
19
19
  export class SolicitationsApiClient extends SolicitationsApi {
20
- constructor(parameters) {
21
- const config = sellingPartnerRegions[parameters.region];
22
- if (!config) {
23
- throw new SolicitationsApiError(`Unknown region: ${parameters.region}`);
24
- }
25
- const { rateLimiting, ...clientParameters } = parameters;
26
- const axiosParameters = {
27
- ...clientParameters,
28
- region: config.awsRegion,
29
- };
30
- if (rateLimiting?.retry) {
31
- axiosParameters.rateLimits = clientRateLimits;
32
- axiosParameters.onRetry = rateLimiting.onRetry;
33
- }
34
- const axiosInstance = createAxiosInstance(axiosParameters);
35
- const configuration = new Configuration();
36
- const environment = parameters.sandbox ? 'sandbox' : 'production';
37
- const endpoint = config.endpoints[environment];
38
- super(configuration, endpoint, axiosInstance);
20
+ constructor(configuration) {
21
+ const { axios, endpoint } = createAxiosInstance(configuration, clientRateLimits);
22
+ super(new Configuration(), endpoint, axios);
39
23
  }
40
24
  }
@@ -1,3 +1,2 @@
1
1
  export * from './src/client';
2
- export * from './src/error';
3
2
  export * from './src/api-model/models';
@@ -1,13 +1,6 @@
1
- import type { ClientConfiguration, SellingPartnerRegion, RateLimit, OnRetryHandler } from '@sp-api-sdk/common';
1
+ import { type ClientConfiguration, type RateLimit } from '@sp-api-sdk/common';
2
2
  import { SolicitationsApi } from './api-model';
3
3
  export declare const clientRateLimits: RateLimit[];
4
- export interface ClientParameters extends Omit<ClientConfiguration, 'rateLimits' | 'onRetry'> {
5
- region: SellingPartnerRegion;
6
- rateLimiting?: {
7
- retry: boolean;
8
- onRetry?: OnRetryHandler;
9
- };
10
- }
11
4
  export declare class SolicitationsApiClient extends SolicitationsApi {
12
- constructor(parameters: ClientParameters);
5
+ constructor(configuration: ClientConfiguration);
13
6
  }
package/package.json CHANGED
@@ -2,10 +2,11 @@
2
2
  "name": "@sp-api-sdk/solicitations-api-v1",
3
3
  "author": "Vincent Mesquita <vincent.mesquita@bizon.solutions>",
4
4
  "description": "With the Solicitations API you can build applications that send non-critical solicitations to buyers. You can get a list of solicitation types that are available for an order that you specify, then call an operation that sends a solicitation to the buyer for that order. Buyers cannot respond to solicitations sent by this API, and these solicitations do not appear in the Messaging section of Seller Central or in the recipient's Message Center. The Solicitations API returns responses that are formed according to the JSON Hypertext Application Language (HAL) standard.",
5
- "version": "1.8.1",
5
+ "version": "1.9.0",
6
6
  "main": "dist/cjs/index.js",
7
7
  "module": "dist/es/index.js",
8
8
  "types": "dist/types/index.d.ts",
9
+ "typedocMain": "./index.ts",
9
10
  "license": "MIT",
10
11
  "publishConfig": {
11
12
  "access": "public"
@@ -26,9 +27,9 @@
26
27
  "test": "NODE_ENV='test' yarn jest"
27
28
  },
28
29
  "dependencies": {
29
- "@sp-api-sdk/auth": "^1.9.10",
30
- "@sp-api-sdk/common": "^1.7.12",
31
- "axios": "^0.26.1"
30
+ "@sp-api-sdk/auth": "^1.9.13",
31
+ "@sp-api-sdk/common": "^1.8.0",
32
+ "axios": "^0.27.2"
32
33
  },
33
34
  "repository": {
34
35
  "type": "git",
@@ -49,5 +50,5 @@
49
50
  "sp sdk",
50
51
  "solicitations api"
51
52
  ],
52
- "gitHead": "f09167d8924ae85f4012978fb5872c3e9e1c4cf1"
53
+ "gitHead": "975705017de9384bf28b85e97d93f866d4d71611"
53
54
  }
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SolicitationsApiError = void 0;
4
- class SolicitationsApiError extends Error {
5
- constructor(message) {
6
- super(message);
7
- this.name = 'SolicitationsApiError';
8
- }
9
- }
10
- exports.SolicitationsApiError = SolicitationsApiError;
@@ -1,6 +0,0 @@
1
- export class SolicitationsApiError extends Error {
2
- constructor(message) {
3
- super(message);
4
- this.name = 'SolicitationsApiError';
5
- }
6
- }
@@ -1,3 +0,0 @@
1
- export declare class SolicitationsApiError extends Error {
2
- constructor(message: string);
3
- }