@sp-api-sdk/uploads-api-2020-11-01 1.6.18 → 1.6.22
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 Uploads API lets you upload files that you can programmatically access using other Selling Partner APIs, such as the A+ Content API and the Messaging API.
|
|
4
4
|
|
|
5
|
+
[](https://www.npmjs.com/package/@sp-api-sdk/uploads-api-2020-11-01)
|
|
6
|
+
[](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/uploads-api/uploads_2020-11-01.md).
|
|
11
|
+
|
|
12
|
+
Also, see the [generated documentation](https://bizon.github.io/selling-partner-api-sdk/modules/_sp_api_sdk_uploads_api_2020_11_01.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 {UploadsApiClient} from '@sp-api-sdk/uploads-api-2020-11-01'
|
|
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
|
-
|
|
35
|
+
secretAccessKey: '',
|
|
28
36
|
role: {
|
|
29
|
-
arn: '',
|
|
30
|
-
}
|
|
37
|
+
arn: 'arn:aws:iam::…',
|
|
38
|
+
},
|
|
31
39
|
})
|
|
32
40
|
|
|
33
41
|
const client = new UploadsApiClient({
|
|
34
42
|
auth,
|
|
35
|
-
region: 'eu'
|
|
43
|
+
region: 'eu',
|
|
36
44
|
})
|
|
37
45
|
```
|
|
38
46
|
|
|
39
|
-
##
|
|
47
|
+
## Rate Limiting
|
|
40
48
|
|
|
41
|
-
|
|
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 UploadsApiClient({
|
|
@@ -46,13 +54,28 @@ const client = new UploadsApiClient({
|
|
|
46
54
|
region: 'eu',
|
|
47
55
|
rateLimiting: {
|
|
48
56
|
retry: true,
|
|
49
|
-
|
|
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
|
|
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/uploads-api/uploads_2020-11-01.md)).
|
|
66
|
+
|
|
67
|
+
## License
|
|
68
|
+
|
|
69
|
+
MIT
|
|
55
70
|
|
|
56
|
-
##
|
|
71
|
+
## Miscellaneous
|
|
57
72
|
|
|
58
|
-
|
|
73
|
+
```
|
|
74
|
+
╚⊙ ⊙╝
|
|
75
|
+
╚═(███)═╝
|
|
76
|
+
╚═(███)═╝
|
|
77
|
+
╚═(███)═╝
|
|
78
|
+
╚═(███)═╝
|
|
79
|
+
╚═(███)═╝
|
|
80
|
+
╚═(███)═╝
|
|
81
|
+
```
|
package/dist/cjs/src/client.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UploadsApiClient = exports.
|
|
3
|
+
exports.UploadsApiClient = 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.
|
|
8
|
+
exports.clientRateLimits = [
|
|
9
9
|
{
|
|
10
10
|
method: 'post',
|
|
11
11
|
urlRegex: new RegExp('^/uploads/2020-11-01/uploadDestinations/[^/]*$'),
|
|
@@ -15,20 +15,23 @@ exports.RATE_LIMITS = [
|
|
|
15
15
|
];
|
|
16
16
|
class UploadsApiClient extends api_model_1.UploadsApi {
|
|
17
17
|
constructor(parameters) {
|
|
18
|
-
const
|
|
18
|
+
const config = common_1.sellingPartnerRegions[parameters.region];
|
|
19
|
+
if (!config) {
|
|
20
|
+
throw new error_1.UploadsApiError(`Unknown region: ${parameters.region}`);
|
|
21
|
+
}
|
|
19
22
|
const { rateLimiting, ...clientParameters } = parameters;
|
|
20
|
-
const axiosParameters = {
|
|
23
|
+
const axiosParameters = {
|
|
24
|
+
...clientParameters,
|
|
25
|
+
region: config.awsRegion,
|
|
26
|
+
};
|
|
21
27
|
if (rateLimiting?.retry) {
|
|
22
|
-
axiosParameters.rateLimits = exports.
|
|
28
|
+
axiosParameters.rateLimits = exports.clientRateLimits;
|
|
23
29
|
axiosParameters.onRetry = rateLimiting.onRetry;
|
|
24
30
|
}
|
|
25
31
|
const axiosInstance = (0, common_1.createAxiosInstance)(axiosParameters);
|
|
26
32
|
const configuration = new api_model_1.Configuration();
|
|
27
33
|
const environment = parameters.sandbox ? 'sandbox' : 'production';
|
|
28
|
-
const endpoint =
|
|
29
|
-
if (!endpoint) {
|
|
30
|
-
throw new error_1.UploadsApiError(`Unknown region : ${region}`);
|
|
31
|
-
}
|
|
34
|
+
const endpoint = config.endpoints[environment];
|
|
32
35
|
super(configuration, endpoint, axiosInstance);
|
|
33
36
|
}
|
|
34
37
|
}
|
package/dist/es/src/client.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/* eslint-disable prefer-regex-literals */
|
|
2
|
-
import {
|
|
2
|
+
import { sellingPartnerRegions, createAxiosInstance } from '@sp-api-sdk/common';
|
|
3
3
|
import { Configuration, UploadsApi } from './api-model';
|
|
4
4
|
import { UploadsApiError } from './error';
|
|
5
|
-
export const
|
|
5
|
+
export const clientRateLimits = [
|
|
6
6
|
{
|
|
7
7
|
method: 'post',
|
|
8
8
|
urlRegex: new RegExp('^/uploads/2020-11-01/uploadDestinations/[^/]*$'),
|
|
@@ -12,20 +12,23 @@ export const RATE_LIMITS = [
|
|
|
12
12
|
];
|
|
13
13
|
export class UploadsApiClient extends UploadsApi {
|
|
14
14
|
constructor(parameters) {
|
|
15
|
-
const
|
|
15
|
+
const config = sellingPartnerRegions[parameters.region];
|
|
16
|
+
if (!config) {
|
|
17
|
+
throw new UploadsApiError(`Unknown region: ${parameters.region}`);
|
|
18
|
+
}
|
|
16
19
|
const { rateLimiting, ...clientParameters } = parameters;
|
|
17
|
-
const axiosParameters = {
|
|
20
|
+
const axiosParameters = {
|
|
21
|
+
...clientParameters,
|
|
22
|
+
region: config.awsRegion,
|
|
23
|
+
};
|
|
18
24
|
if (rateLimiting?.retry) {
|
|
19
|
-
axiosParameters.rateLimits =
|
|
25
|
+
axiosParameters.rateLimits = clientRateLimits;
|
|
20
26
|
axiosParameters.onRetry = rateLimiting.onRetry;
|
|
21
27
|
}
|
|
22
28
|
const axiosInstance = createAxiosInstance(axiosParameters);
|
|
23
29
|
const configuration = new Configuration();
|
|
24
30
|
const environment = parameters.sandbox ? 'sandbox' : 'production';
|
|
25
|
-
const endpoint = endpoints[environment]
|
|
26
|
-
if (!endpoint) {
|
|
27
|
-
throw new UploadsApiError(`Unknown region : ${region}`);
|
|
28
|
-
}
|
|
31
|
+
const endpoint = config.endpoints[environment];
|
|
29
32
|
super(configuration, endpoint, axiosInstance);
|
|
30
33
|
}
|
|
31
34
|
}
|
|
@@ -106,5 +106,5 @@ export declare class UploadsApi extends BaseAPI {
|
|
|
106
106
|
* @throws {RequiredError}
|
|
107
107
|
* @memberof UploadsApi
|
|
108
108
|
*/
|
|
109
|
-
createUploadDestinationForResource(requestParameters: UploadsApiCreateUploadDestinationForResourceRequest, options?: any): Promise<import("axios").AxiosResponse<CreateUploadDestinationResponse>>;
|
|
109
|
+
createUploadDestinationForResource(requestParameters: UploadsApiCreateUploadDestinationForResourceRequest, options?: any): Promise<import("axios").AxiosResponse<CreateUploadDestinationResponse, any>>;
|
|
110
110
|
}
|
|
@@ -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 {
|
|
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 { UploadsApi } from './api-model';
|
|
4
|
-
export declare const
|
|
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?:
|
|
8
|
+
onRetry?: OnRetryHandler;
|
|
9
9
|
};
|
|
10
10
|
}
|
|
11
11
|
export declare class UploadsApiClient extends UploadsApi {
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@sp-api-sdk/uploads-api-2020-11-01",
|
|
3
3
|
"author": "Vincent Mesquita <vincent.mesquita@bizon.solutions>",
|
|
4
4
|
"description": "The Uploads API lets you upload files that you can programmatically access using other Selling Partner APIs, such as the A+ Content API and the Messaging API.",
|
|
5
|
-
"version": "1.6.
|
|
5
|
+
"version": "1.6.22",
|
|
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.
|
|
29
|
-
"@sp-api-sdk/common": "^1.7.
|
|
30
|
-
"axios": "^0.
|
|
28
|
+
"@sp-api-sdk/auth": "^1.9.7",
|
|
29
|
+
"@sp-api-sdk/common": "^1.7.9",
|
|
30
|
+
"axios": "^0.24.0"
|
|
31
31
|
},
|
|
32
32
|
"repository": {
|
|
33
33
|
"type": "git",
|
|
@@ -48,5 +48,5 @@
|
|
|
48
48
|
"sp sdk",
|
|
49
49
|
"uploads api"
|
|
50
50
|
],
|
|
51
|
-
"gitHead": "
|
|
51
|
+
"gitHead": "dd52e8a895f590c62d06f19f4d8715eb7740df66"
|
|
52
52
|
}
|