@congminh1254/shopee-sdk 1.6.1 → 1.6.2
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/lib/fetch.js +65 -3
- package/lib/fetch.js.map +1 -1
- package/lib/managers/media.manager.d.ts +7 -7
- package/lib/managers/media.manager.js +7 -7
- package/lib/schemas/media.d.ts +6 -6
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +1 -1
package/lib/fetch.js
CHANGED
|
@@ -1,7 +1,66 @@
|
|
|
1
|
-
import fetch, { Headers } from "node-fetch";
|
|
1
|
+
import fetch, { Blob, FormData, Headers } from "node-fetch";
|
|
2
2
|
import { ShopeeApiError, ShopeeSdkError } from "./errors.js";
|
|
3
3
|
import { generateSignature } from "./utils/signature.js";
|
|
4
4
|
import { SDK_VERSION } from "./version.js";
|
|
5
|
+
function isBlobLike(value) {
|
|
6
|
+
return (value instanceof Blob ||
|
|
7
|
+
(typeof value === "object" &&
|
|
8
|
+
value !== null &&
|
|
9
|
+
["Blob", "File"].includes(value.constructor?.name ?? "")));
|
|
10
|
+
}
|
|
11
|
+
function isBinaryLike(value) {
|
|
12
|
+
return Buffer.isBuffer(value) || isBlobLike(value);
|
|
13
|
+
}
|
|
14
|
+
function hasBinaryValue(value) {
|
|
15
|
+
return Array.isArray(value) ? value.some(hasBinaryValue) : isBinaryLike(value);
|
|
16
|
+
}
|
|
17
|
+
function isFormDataBody(body) {
|
|
18
|
+
return body instanceof FormData;
|
|
19
|
+
}
|
|
20
|
+
function appendFormValue(formData, key, value) {
|
|
21
|
+
if (value === undefined || value === null) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
if (Array.isArray(value)) {
|
|
25
|
+
value.forEach((item) => appendFormValue(formData, key, item));
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
if (Buffer.isBuffer(value)) {
|
|
29
|
+
formData.append(key, new Blob([value]), `${key}.bin`);
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
if (isBlobLike(value)) {
|
|
33
|
+
const filename = "name" in value && typeof value.name === "string" ? value.name : undefined;
|
|
34
|
+
if (filename) {
|
|
35
|
+
formData.append(key, value, filename);
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
formData.append(key, value);
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
if (typeof value === "object") {
|
|
42
|
+
formData.append(key, JSON.stringify(value));
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
formData.append(key, String(value));
|
|
46
|
+
}
|
|
47
|
+
function serializeRequestBody(body) {
|
|
48
|
+
if (body === undefined) {
|
|
49
|
+
return { body: undefined, isMultipart: false };
|
|
50
|
+
}
|
|
51
|
+
if (isFormDataBody(body)) {
|
|
52
|
+
return { body: body, isMultipart: true };
|
|
53
|
+
}
|
|
54
|
+
if (typeof body === "object" && body !== null && !Array.isArray(body)) {
|
|
55
|
+
const bodyEntries = Object.entries(body);
|
|
56
|
+
if (bodyEntries.some(([, value]) => hasBinaryValue(value))) {
|
|
57
|
+
const formData = new FormData();
|
|
58
|
+
bodyEntries.forEach(([key, value]) => appendFormValue(formData, key, value));
|
|
59
|
+
return { body: formData, isMultipart: true };
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return { body: body !== undefined ? JSON.stringify(body) : undefined, isMultipart: false };
|
|
63
|
+
}
|
|
5
64
|
export class ShopeeFetch {
|
|
6
65
|
static async fetch(config, path, options = {}) {
|
|
7
66
|
const { method = "GET", params = {}, body } = options;
|
|
@@ -51,9 +110,12 @@ export class ShopeeFetch {
|
|
|
51
110
|
url.searchParams.append(key, String(value));
|
|
52
111
|
}
|
|
53
112
|
});
|
|
113
|
+
const { body: requestBody, isMultipart } = serializeRequestBody(body);
|
|
54
114
|
// Prepare headers
|
|
55
115
|
const headers = new Headers();
|
|
56
|
-
|
|
116
|
+
if (!isMultipart) {
|
|
117
|
+
headers.set("Content-Type", "application/json");
|
|
118
|
+
}
|
|
57
119
|
headers.set("User-Agent", `congminh1254/shopee-sdk/v${SDK_VERSION}`);
|
|
58
120
|
if (options.headers) {
|
|
59
121
|
Object.entries(options.headers).forEach(([key, value]) => {
|
|
@@ -64,7 +126,7 @@ export class ShopeeFetch {
|
|
|
64
126
|
const requestOptions = {
|
|
65
127
|
method,
|
|
66
128
|
headers: headers,
|
|
67
|
-
body:
|
|
129
|
+
body: requestBody,
|
|
68
130
|
agent: config.agent,
|
|
69
131
|
};
|
|
70
132
|
try {
|
package/lib/fetch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAyB,OAAO,EAAe,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ export declare class MediaManager extends BaseManager {
|
|
|
17
17
|
* @param {UploadMediaImageParams} params - Parameters for uploading images
|
|
18
18
|
* @param {number} params.business - Business type (2 = Returns)
|
|
19
19
|
* @param {number} params.scene - Scene type (1 = Return Seller Self Arrange Pickup Proof)
|
|
20
|
-
* @param {
|
|
20
|
+
* @param {Buffer | Array<Buffer>} params.images - Image files to upload
|
|
21
21
|
* @returns {Promise<UploadMediaImageResponse>} Response containing uploaded image information
|
|
22
22
|
*
|
|
23
23
|
* @example
|
|
@@ -25,7 +25,7 @@ export declare class MediaManager extends BaseManager {
|
|
|
25
25
|
* const result = await sdk.media.uploadMediaImage({
|
|
26
26
|
* business: 2,
|
|
27
27
|
* scene: 1,
|
|
28
|
-
* images: '
|
|
28
|
+
* images: Buffer.from('image-bytes')
|
|
29
29
|
* });
|
|
30
30
|
* console.log('Uploaded images:', result.response.image_list);
|
|
31
31
|
* ```
|
|
@@ -40,7 +40,7 @@ export declare class MediaManager extends BaseManager {
|
|
|
40
40
|
* Upload multiple image files for general use
|
|
41
41
|
*
|
|
42
42
|
* @param {UploadImageParams} params - Parameters for uploading images
|
|
43
|
-
* @param {
|
|
43
|
+
* @param {Buffer | Array<Buffer>} params.image - Image files (up to 9 images)
|
|
44
44
|
* @param {string} [params.scene] - Scene type ("normal" or "desc")
|
|
45
45
|
* @param {string} [params.ratio] - Image ratio ("1:1" or "3:4", whitelisted sellers only)
|
|
46
46
|
* @returns {Promise<UploadImageResponse>} Response containing uploaded image information
|
|
@@ -49,14 +49,14 @@ export declare class MediaManager extends BaseManager {
|
|
|
49
49
|
* ```typescript
|
|
50
50
|
* // Upload product images (square processing)
|
|
51
51
|
* const result = await sdk.media.uploadImage({
|
|
52
|
-
* image: [
|
|
52
|
+
* image: [Buffer.from('image-1'), Buffer.from('image-2')],
|
|
53
53
|
* scene: 'normal',
|
|
54
54
|
* ratio: '1:1'
|
|
55
55
|
* });
|
|
56
56
|
*
|
|
57
57
|
* // Upload description images (no processing)
|
|
58
58
|
* const descResult = await sdk.media.uploadImage({
|
|
59
|
-
* image: '
|
|
59
|
+
* image: Buffer.from('desc-image-bytes'),
|
|
60
60
|
* scene: 'desc'
|
|
61
61
|
* });
|
|
62
62
|
* ```
|
|
@@ -104,7 +104,7 @@ export declare class MediaManager extends BaseManager {
|
|
|
104
104
|
* @param {string} params.video_upload_id - Upload ID from initVideoUpload
|
|
105
105
|
* @param {number} params.part_seq - Sequence number starting from 0
|
|
106
106
|
* @param {string} params.content_md5 - MD5 hash of this part
|
|
107
|
-
* @param {
|
|
107
|
+
* @param {Buffer} params.part_content - Content of this part
|
|
108
108
|
* @returns {Promise<UploadVideoPartResponse>} Response indicating upload success
|
|
109
109
|
*
|
|
110
110
|
* @example
|
|
@@ -115,7 +115,7 @@ export declare class MediaManager extends BaseManager {
|
|
|
115
115
|
* video_upload_id: videoUploadId,
|
|
116
116
|
* part_seq: i,
|
|
117
117
|
* content_md5: partMd5,
|
|
118
|
-
* part_content:
|
|
118
|
+
* part_content: Buffer.from('part-bytes')
|
|
119
119
|
* });
|
|
120
120
|
* }
|
|
121
121
|
* ```
|
|
@@ -18,7 +18,7 @@ export class MediaManager extends BaseManager {
|
|
|
18
18
|
* @param {UploadMediaImageParams} params - Parameters for uploading images
|
|
19
19
|
* @param {number} params.business - Business type (2 = Returns)
|
|
20
20
|
* @param {number} params.scene - Scene type (1 = Return Seller Self Arrange Pickup Proof)
|
|
21
|
-
* @param {
|
|
21
|
+
* @param {Buffer | Array<Buffer>} params.images - Image files to upload
|
|
22
22
|
* @returns {Promise<UploadMediaImageResponse>} Response containing uploaded image information
|
|
23
23
|
*
|
|
24
24
|
* @example
|
|
@@ -26,7 +26,7 @@ export class MediaManager extends BaseManager {
|
|
|
26
26
|
* const result = await sdk.media.uploadMediaImage({
|
|
27
27
|
* business: 2,
|
|
28
28
|
* scene: 1,
|
|
29
|
-
* images: '
|
|
29
|
+
* images: Buffer.from('image-bytes')
|
|
30
30
|
* });
|
|
31
31
|
* console.log('Uploaded images:', result.response.image_list);
|
|
32
32
|
* ```
|
|
@@ -47,7 +47,7 @@ export class MediaManager extends BaseManager {
|
|
|
47
47
|
* Upload multiple image files for general use
|
|
48
48
|
*
|
|
49
49
|
* @param {UploadImageParams} params - Parameters for uploading images
|
|
50
|
-
* @param {
|
|
50
|
+
* @param {Buffer | Array<Buffer>} params.image - Image files (up to 9 images)
|
|
51
51
|
* @param {string} [params.scene] - Scene type ("normal" or "desc")
|
|
52
52
|
* @param {string} [params.ratio] - Image ratio ("1:1" or "3:4", whitelisted sellers only)
|
|
53
53
|
* @returns {Promise<UploadImageResponse>} Response containing uploaded image information
|
|
@@ -56,14 +56,14 @@ export class MediaManager extends BaseManager {
|
|
|
56
56
|
* ```typescript
|
|
57
57
|
* // Upload product images (square processing)
|
|
58
58
|
* const result = await sdk.media.uploadImage({
|
|
59
|
-
* image: [
|
|
59
|
+
* image: [Buffer.from('image-1'), Buffer.from('image-2')],
|
|
60
60
|
* scene: 'normal',
|
|
61
61
|
* ratio: '1:1'
|
|
62
62
|
* });
|
|
63
63
|
*
|
|
64
64
|
* // Upload description images (no processing)
|
|
65
65
|
* const descResult = await sdk.media.uploadImage({
|
|
66
|
-
* image: '
|
|
66
|
+
* image: Buffer.from('desc-image-bytes'),
|
|
67
67
|
* scene: 'desc'
|
|
68
68
|
* });
|
|
69
69
|
* ```
|
|
@@ -125,7 +125,7 @@ export class MediaManager extends BaseManager {
|
|
|
125
125
|
* @param {string} params.video_upload_id - Upload ID from initVideoUpload
|
|
126
126
|
* @param {number} params.part_seq - Sequence number starting from 0
|
|
127
127
|
* @param {string} params.content_md5 - MD5 hash of this part
|
|
128
|
-
* @param {
|
|
128
|
+
* @param {Buffer} params.part_content - Content of this part
|
|
129
129
|
* @returns {Promise<UploadVideoPartResponse>} Response indicating upload success
|
|
130
130
|
*
|
|
131
131
|
* @example
|
|
@@ -136,7 +136,7 @@ export class MediaManager extends BaseManager {
|
|
|
136
136
|
* video_upload_id: videoUploadId,
|
|
137
137
|
* part_seq: i,
|
|
138
138
|
* content_md5: partMd5,
|
|
139
|
-
* part_content:
|
|
139
|
+
* part_content: Buffer.from('part-bytes')
|
|
140
140
|
* });
|
|
141
141
|
* }
|
|
142
142
|
* ```
|
package/lib/schemas/media.d.ts
CHANGED
|
@@ -27,8 +27,8 @@ export interface UploadMediaImageParams {
|
|
|
27
27
|
business: MediaImageBusiness;
|
|
28
28
|
/** Defines the purpose of the uploaded image under the specified business type */
|
|
29
29
|
scene: MediaImageScene;
|
|
30
|
-
/** The image files to be uploaded
|
|
31
|
-
images:
|
|
30
|
+
/** The image files to be uploaded as buffers */
|
|
31
|
+
images: Buffer | Array<Buffer>;
|
|
32
32
|
}
|
|
33
33
|
/**
|
|
34
34
|
* Response for v2.media.upload_image
|
|
@@ -86,8 +86,8 @@ export interface ImageInfoItem {
|
|
|
86
86
|
* Parameters for v2.media_space.upload_image
|
|
87
87
|
*/
|
|
88
88
|
export interface UploadImageParams {
|
|
89
|
-
/** The image files to be uploaded (up to 9 images) */
|
|
90
|
-
image:
|
|
89
|
+
/** The image files to be uploaded as buffers (up to 9 images) */
|
|
90
|
+
image: Buffer | Array<Buffer>;
|
|
91
91
|
/** Scene where the picture is used */
|
|
92
92
|
scene?: MediaSpaceImageScene;
|
|
93
93
|
/** Image ratio (only for whitelisted sellers) */
|
|
@@ -132,8 +132,8 @@ export interface UploadVideoPartParams {
|
|
|
132
132
|
part_seq: number;
|
|
133
133
|
/** MD5 of this part */
|
|
134
134
|
content_md5: string;
|
|
135
|
-
/** The content of this part of file (exactly 4MB except last part) */
|
|
136
|
-
part_content:
|
|
135
|
+
/** The content of this part of file as a buffer (exactly 4MB except last part) */
|
|
136
|
+
part_content: Buffer;
|
|
137
137
|
}
|
|
138
138
|
/**
|
|
139
139
|
* Response for v2.media_space.upload_video_part
|
package/lib/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const SDK_VERSION = "1.6.
|
|
1
|
+
export declare const SDK_VERSION = "1.6.2";
|
package/lib/version.js
CHANGED