shipbob-node-sdk 0.0.2 → 0.0.3
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 +12 -5
- package/dist/index.d.ts +390 -7
- package/dist/index.js +167 -112
- package/dist/index.js.map +1 -1
- package/docs/Product Catalog API Examples.pdf +0 -0
- package/package.json +2 -1
- package/.prettierignore +0 -3
- package/.prettierrc +0 -9
- package/eslint.config.mjs +0 -13
- package/openapi.json +0 -8422
- package/openapitools.json +0 -7
package/dist/index.js
CHANGED
|
@@ -1,17 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createShipBobApi = exports.ReturnAction = exports.PackagingMaterial = exports.PackagingRequirement = exports.WebhookTopic = void 0;
|
|
1
4
|
/* eslint-disable @typescript-eslint/consistent-type-definitions */
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export var WebhookTopic;
|
|
5
|
+
const node_url_1 = require("node:url"); // WHATWG
|
|
6
|
+
var WebhookTopic;
|
|
5
7
|
(function (WebhookTopic) {
|
|
6
8
|
WebhookTopic["OrderShipped"] = "order_shipped";
|
|
7
9
|
WebhookTopic["ShipmentDelivered"] = "shipment_delivered";
|
|
8
10
|
WebhookTopic["ShipmentException"] = "shipment_exception";
|
|
9
11
|
WebhookTopic["ShipmentOnHold"] = "shipment_onhold";
|
|
10
12
|
WebhookTopic["ShipmentCancelled"] = "shipment_cancelled";
|
|
11
|
-
})(WebhookTopic || (WebhookTopic = {}));
|
|
12
|
-
// ShipBob is potentially extending
|
|
13
|
+
})(WebhookTopic || (exports.WebhookTopic = WebhookTopic = {}));
|
|
14
|
+
// ShipBob is potentially extending 2.0 publicly
|
|
15
|
+
// see /docs/Product Catalog API Examples.pdf
|
|
13
16
|
const PATH_1_0_CHANNEL = '/1.0/channel';
|
|
14
17
|
const PATH_1_0_PRODUCT = '/1.0/product';
|
|
18
|
+
const PATH_2_0_PRODUCT = '/2.0/product';
|
|
15
19
|
const PATH_1_0_ORDER = '/1.0/order';
|
|
16
20
|
/**
|
|
17
21
|
* Warehouse Receiving Order
|
|
@@ -29,47 +33,52 @@ const PATH_1_0_INVENTORY = '/1.0/inventory';
|
|
|
29
33
|
const PATH_1_0_FULFILLMENT_CENTER = '/1.0/fulfillmentCenter';
|
|
30
34
|
const PATH_1_0_WEBHOOK = '/1.0/webhook';
|
|
31
35
|
const PATH_2_0_SIMULATE = '/2.0/simulate';
|
|
36
|
+
var PackagingRequirement;
|
|
37
|
+
(function (PackagingRequirement) {
|
|
38
|
+
// wrong spelling in PDF
|
|
39
|
+
PackagingRequirement[PackagingRequirement["No Requirements"] = 1] = "No Requirements";
|
|
40
|
+
PackagingRequirement[PackagingRequirement["Fragile"] = 2] = "Fragile";
|
|
41
|
+
PackagingRequirement[PackagingRequirement["Is Foldable"] = 3] = "Is Foldable";
|
|
42
|
+
PackagingRequirement[PackagingRequirement["Is Media (Media mail)"] = 4] = "Is Media (Media mail)";
|
|
43
|
+
PackagingRequirement[PackagingRequirement["Is Book"] = 5] = "Is Book";
|
|
44
|
+
PackagingRequirement[PackagingRequirement["Is Poster"] = 6] = "Is Poster";
|
|
45
|
+
PackagingRequirement[PackagingRequirement["Is Apparel"] = 7] = "Is Apparel";
|
|
46
|
+
PackagingRequirement[PackagingRequirement["Is Packaging Material (for custom boxes, marketing inserts, etc)"] = 8] = "Is Packaging Material (for custom boxes, marketing inserts, etc)";
|
|
47
|
+
PackagingRequirement[PackagingRequirement["Ship In Own Container"] = 9] = "Ship In Own Container";
|
|
48
|
+
})(PackagingRequirement || (exports.PackagingRequirement = PackagingRequirement = {}));
|
|
49
|
+
var PackagingMaterial;
|
|
50
|
+
(function (PackagingMaterial) {
|
|
51
|
+
PackagingMaterial[PackagingMaterial["Box"] = 1] = "Box";
|
|
52
|
+
PackagingMaterial[PackagingMaterial["Bubble Mailer"] = 2] = "Bubble Mailer";
|
|
53
|
+
PackagingMaterial[PackagingMaterial["Poly Mailer"] = 3] = "Poly Mailer";
|
|
54
|
+
// no 4 in PDF
|
|
55
|
+
PackagingMaterial[PackagingMaterial["Poster Tube"] = 5] = "Poster Tube";
|
|
56
|
+
PackagingMaterial[PackagingMaterial["Custom Box"] = 6] = "Custom Box";
|
|
57
|
+
PackagingMaterial[PackagingMaterial["Bookfold"] = 7] = "Bookfold";
|
|
58
|
+
PackagingMaterial[PackagingMaterial["Ship In Own Container"] = 8] = "Ship In Own Container";
|
|
59
|
+
PackagingMaterial[PackagingMaterial["Custom Bubble Mailer"] = 9] = "Custom Bubble Mailer";
|
|
60
|
+
PackagingMaterial[PackagingMaterial["Custom Poly Mailer"] = 10] = "Custom Poly Mailer";
|
|
61
|
+
})(PackagingMaterial || (exports.PackagingMaterial = PackagingMaterial = {}));
|
|
32
62
|
/**
|
|
33
|
-
*
|
|
63
|
+
* Restock (1)
|
|
64
|
+
* Quarantine (2)
|
|
65
|
+
* Dispose (3)
|
|
34
66
|
*/
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
// this could be a 524 from CloudFlare, for example.
|
|
51
|
-
resolve({
|
|
52
|
-
success: false,
|
|
53
|
-
statusCode: response.statusCode,
|
|
54
|
-
data: messageBody,
|
|
55
|
-
});
|
|
56
|
-
break;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
try {
|
|
61
|
-
resolve({
|
|
62
|
-
success: true,
|
|
63
|
-
statusCode: response.statusCode,
|
|
64
|
-
data: JSON.parse(messageBody),
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
catch (e) {
|
|
68
|
-
console.error('unable to parse JSON');
|
|
69
|
-
reject(e);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
}
|
|
67
|
+
var ReturnAction;
|
|
68
|
+
(function (ReturnAction) {
|
|
69
|
+
/**
|
|
70
|
+
* Restock (1)
|
|
71
|
+
*/
|
|
72
|
+
ReturnAction[ReturnAction["Restock"] = 1] = "Restock";
|
|
73
|
+
/**
|
|
74
|
+
* Quarantine (2)
|
|
75
|
+
*/
|
|
76
|
+
ReturnAction[ReturnAction["Quarantine"] = 2] = "Quarantine";
|
|
77
|
+
/**
|
|
78
|
+
* Dispose (3)
|
|
79
|
+
*/
|
|
80
|
+
ReturnAction[ReturnAction["Dispose"] = 3] = "Dispose";
|
|
81
|
+
})(ReturnAction || (exports.ReturnAction = ReturnAction = {}));
|
|
73
82
|
/**
|
|
74
83
|
* Create API with PAT (personal access token) - defaults to sandbox endpoints and "SMA" channel.
|
|
75
84
|
*
|
|
@@ -82,7 +91,7 @@ function resolvePromise(response, messageBody, resolve, reject) {
|
|
|
82
91
|
* @param channelApplicationName
|
|
83
92
|
* @returns
|
|
84
93
|
*/
|
|
85
|
-
|
|
94
|
+
const createShipBobApi = async (personalAccessToken, apiBaseUrl = 'sandbox-api.shipbob.com', channelApplicationName = 'SMA' /*, authBaseUrl = 'authstage.shipbob.com'*/) => {
|
|
86
95
|
if (personalAccessToken === undefined || personalAccessToken === '') {
|
|
87
96
|
throw new Error('Cannot create a ShipBob API without a PAT');
|
|
88
97
|
}
|
|
@@ -92,86 +101,94 @@ export const createShipBobApi = async (personalAccessToken, apiBaseUrl = 'sandbo
|
|
|
92
101
|
/**
|
|
93
102
|
* Will GET using our PAT and SAM channel
|
|
94
103
|
*/
|
|
95
|
-
const httpGet = async (credentials, path, query
|
|
96
|
-
const
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
port: port ?? 443,
|
|
106
|
-
path: requestUrl.path,
|
|
104
|
+
const httpGet = async (credentials, path, query) => {
|
|
105
|
+
const url = new node_url_1.URL(`https://${apiBaseUrl}${path}`);
|
|
106
|
+
if (query) {
|
|
107
|
+
for (const param of Object.keys(query)) {
|
|
108
|
+
// the number[] is probably wrong
|
|
109
|
+
const val = typeof query[param] === 'string' ? query[param] : query[param].toString();
|
|
110
|
+
url.searchParams.set(param, val);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
const res = await fetch(url.href, {
|
|
107
114
|
method: 'GET',
|
|
108
|
-
timeout: timeoutMilliseconds,
|
|
109
115
|
headers: {
|
|
110
116
|
Authorization: `Bearer ${credentials.token}`,
|
|
111
117
|
'Content-Type': 'application/json',
|
|
112
118
|
Accept: 'application/json',
|
|
113
|
-
'User-Agent': '
|
|
119
|
+
'User-Agent': 'shipbob-node-sdk',
|
|
114
120
|
},
|
|
115
|
-
|
|
116
|
-
return new Promise((resolve, reject) => {
|
|
117
|
-
const req = https.request(options, (response) => {
|
|
118
|
-
const body = [];
|
|
119
|
-
response.on('data', (chunk) => {
|
|
120
|
-
body.push(chunk);
|
|
121
|
-
});
|
|
122
|
-
response.on('end', () => {
|
|
123
|
-
const messageBody = body.join('');
|
|
124
|
-
resolvePromise(response, messageBody, resolve, reject);
|
|
125
|
-
});
|
|
126
|
-
});
|
|
127
|
-
req.on('error', (error) => {
|
|
128
|
-
reject(error);
|
|
129
|
-
});
|
|
130
|
-
req.end();
|
|
121
|
+
// signal: AbortSignal.timeout(60 * 1000) Node 20 only
|
|
131
122
|
});
|
|
123
|
+
if (res.ok) {
|
|
124
|
+
return {
|
|
125
|
+
success: true,
|
|
126
|
+
statusCode: res.status,
|
|
127
|
+
data: (await res.json()),
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
switch (res.status) {
|
|
132
|
+
case 400:
|
|
133
|
+
case 422:
|
|
134
|
+
return {
|
|
135
|
+
success: false,
|
|
136
|
+
statusCode: res.status,
|
|
137
|
+
data: await res.json(),
|
|
138
|
+
};
|
|
139
|
+
default:
|
|
140
|
+
return {
|
|
141
|
+
success: false,
|
|
142
|
+
statusCode: res.status,
|
|
143
|
+
data: await res.text(),
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
}
|
|
132
147
|
};
|
|
133
148
|
/**
|
|
134
|
-
* Will
|
|
149
|
+
* Will default POST to Shipbob a request as JSON. Can be used for any type of request
|
|
135
150
|
*/
|
|
136
|
-
const httpData = async (credentials, data, path,
|
|
151
|
+
const httpData = async (credentials, data, path, method = 'POST') => {
|
|
137
152
|
if (credentials.channelId === undefined) {
|
|
138
153
|
throw new Error('Channel ID missing');
|
|
139
154
|
}
|
|
140
|
-
|
|
141
|
-
const
|
|
142
|
-
|
|
143
|
-
port: port ?? 443,
|
|
144
|
-
path,
|
|
145
|
-
method: 'POST',
|
|
146
|
-
timeout: timeoutMilliseconds,
|
|
155
|
+
const url = new node_url_1.URL(`https://${apiBaseUrl}${path}`);
|
|
156
|
+
const res = await fetch(url.href, {
|
|
157
|
+
method,
|
|
147
158
|
headers: {
|
|
148
159
|
Authorization: `Bearer ${credentials.token}`,
|
|
149
160
|
'Content-Type': 'application/json',
|
|
150
161
|
Accept: 'application/json',
|
|
151
|
-
'User-Agent': '
|
|
152
|
-
shipbob_channel_id: credentials.channelId,
|
|
162
|
+
'User-Agent': 'shipbob-node-sdk',
|
|
153
163
|
},
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
const req = https.request(options, (response) => {
|
|
157
|
-
const body = [];
|
|
158
|
-
response.on('data', (chunk) => {
|
|
159
|
-
body.push(chunk);
|
|
160
|
-
});
|
|
161
|
-
response.on('end', () => {
|
|
162
|
-
const messageBody = body.join('');
|
|
163
|
-
resolvePromise(response, messageBody, resolve, reject);
|
|
164
|
-
});
|
|
165
|
-
});
|
|
166
|
-
req.on('error', (error) => {
|
|
167
|
-
reject(error);
|
|
168
|
-
});
|
|
169
|
-
if (data) {
|
|
170
|
-
const postBody = JSON.stringify(data);
|
|
171
|
-
req.write(postBody);
|
|
172
|
-
}
|
|
173
|
-
req.end();
|
|
164
|
+
body: data !== undefined ? JSON.stringify(data) : undefined,
|
|
165
|
+
// signal: AbortSignal.timeout(60 * 1000) Node 20 only
|
|
174
166
|
});
|
|
167
|
+
if (res.ok) {
|
|
168
|
+
// NOTE: should check content-type of response
|
|
169
|
+
return {
|
|
170
|
+
success: true,
|
|
171
|
+
statusCode: res.status,
|
|
172
|
+
data: (await res.json()),
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
switch (res.status) {
|
|
177
|
+
case 400:
|
|
178
|
+
case 422:
|
|
179
|
+
return {
|
|
180
|
+
success: false,
|
|
181
|
+
statusCode: res.status,
|
|
182
|
+
data: await res.json(),
|
|
183
|
+
};
|
|
184
|
+
default:
|
|
185
|
+
return {
|
|
186
|
+
success: false,
|
|
187
|
+
statusCode: res.status,
|
|
188
|
+
data: await res.text(),
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
}
|
|
175
192
|
};
|
|
176
193
|
const channelsResponse = await httpGet(credentials, PATH_1_0_CHANNEL);
|
|
177
194
|
if (!channelsResponse.success) {
|
|
@@ -191,15 +208,46 @@ export const createShipBobApi = async (personalAccessToken, apiBaseUrl = 'sandbo
|
|
|
191
208
|
console.log('get product:', getProductResult.success, getProductResult.success === false ? getProductResult.statusCode : 'found');
|
|
192
209
|
return getProductResult;
|
|
193
210
|
},
|
|
194
|
-
|
|
211
|
+
getProducts1_0: async (query) => {
|
|
195
212
|
const getProductResult = await httpGet(credentials, PATH_1_0_PRODUCT, query);
|
|
196
|
-
console.log('get product:', getProductResult.success, getProductResult.success === false ? getProductResult.statusCode : 'found');
|
|
213
|
+
console.log('get product 1.0:', getProductResult.success, getProductResult.success === false ? getProductResult.statusCode : 'found');
|
|
214
|
+
return getProductResult;
|
|
215
|
+
},
|
|
216
|
+
/**
|
|
217
|
+
* NOTE: we can probably pass more than "variants" prop. We could on the /1.0/product endpoint
|
|
218
|
+
* NOTE: This PATCH functionality will be available in the next version available in ShipBob next large release January 2025, it may require extra scope.
|
|
219
|
+
*/
|
|
220
|
+
updateProducts2_0: async (productId, variants) => {
|
|
221
|
+
console.log('variants', variants);
|
|
222
|
+
const updateProduct2Response = await httpData(credentials, {
|
|
223
|
+
variants,
|
|
224
|
+
}, `${PATH_2_0_PRODUCT}/${productId}`, 'PATCH');
|
|
225
|
+
return updateProduct2Response;
|
|
226
|
+
},
|
|
227
|
+
/**
|
|
228
|
+
* Not supported here, but:
|
|
229
|
+
* Some search filters allow for operators (equals, not equals, starts with, ends with, contains, etc) to get more exact values. When filtering with an operator, the query string will look like the below:
|
|
230
|
+
* Example: /product?{filter}={operator}:{value}
|
|
231
|
+
* Example: /product?sku=any:shirt-a,shirt-b,shirt-c Find products that match any of these SKUs
|
|
232
|
+
* Example: /product?onHandQuantity=gt:0 Find products where OnHandQty greater than 0
|
|
233
|
+
*/
|
|
234
|
+
getProducts2_0: async (query) => {
|
|
235
|
+
const getProductResult = await httpGet(credentials, PATH_2_0_PRODUCT, query);
|
|
236
|
+
console.log('get product 2.0:', getProductResult.success, getProductResult.success === false ? getProductResult.statusCode : 'found');
|
|
197
237
|
return getProductResult;
|
|
198
238
|
},
|
|
199
|
-
|
|
200
|
-
const
|
|
201
|
-
console.log(' >
|
|
202
|
-
return
|
|
239
|
+
createProduct1_0: async (product) => {
|
|
240
|
+
const createProductResponse = await httpData(credentials, product, PATH_1_0_PRODUCT);
|
|
241
|
+
console.log(' > Created product:', createProductResponse.success ? createProductResponse.data.reference_id : 'failed');
|
|
242
|
+
return createProductResponse;
|
|
243
|
+
},
|
|
244
|
+
/**
|
|
245
|
+
* The request part for variant is not accurate. This is just for testing - there are no official docs.
|
|
246
|
+
*/
|
|
247
|
+
createProduct2_0: async (product) => {
|
|
248
|
+
const createProductResponse = await httpData(credentials, product, PATH_2_0_PRODUCT);
|
|
249
|
+
console.log(' > Created product:', createProductResponse.success ? createProductResponse.data.reference_id : 'failed');
|
|
250
|
+
return createProductResponse;
|
|
203
251
|
},
|
|
204
252
|
placeOrder: async (order) => {
|
|
205
253
|
const placeOrderResponse = await httpData(credentials, order, PATH_1_0_ORDER);
|
|
@@ -242,6 +290,9 @@ export const createShipBobApi = async (personalAccessToken, apiBaseUrl = 'sandbo
|
|
|
242
290
|
const wroBoxes = await httpGet(credentials, `${PATH_2_0_RECEIVING}/${orderId}/boxes`);
|
|
243
291
|
return wroBoxes;
|
|
244
292
|
},
|
|
293
|
+
/**
|
|
294
|
+
* NOTE: should verify that response matches 1.0 product endpoint
|
|
295
|
+
*/
|
|
245
296
|
getReceivingExtended: async (query) => {
|
|
246
297
|
const getReceivingExtendedResult = await httpGet(credentials, PATH_2_0_RECEIVING_EXTENDED, query);
|
|
247
298
|
console.log('get receiving extended:', getReceivingExtendedResult.success, getReceivingExtendedResult.success === false ? getReceivingExtendedResult.statusCode : 'found');
|
|
@@ -268,6 +319,9 @@ export const createShipBobApi = async (personalAccessToken, apiBaseUrl = 'sandbo
|
|
|
268
319
|
}
|
|
269
320
|
return response;
|
|
270
321
|
},
|
|
322
|
+
/**
|
|
323
|
+
* NOTE: should verify the response type matches the product 1.0 endpoint
|
|
324
|
+
*/
|
|
271
325
|
listInventory: async (query) => {
|
|
272
326
|
const getInventoryResult = await httpGet(credentials, PATH_1_0_INVENTORY, query);
|
|
273
327
|
console.log('get inventory:', getInventoryResult.success, getInventoryResult.success === false ? getInventoryResult.statusCode : 'found');
|
|
@@ -300,4 +354,5 @@ export const createShipBobApi = async (personalAccessToken, apiBaseUrl = 'sandbo
|
|
|
300
354
|
},
|
|
301
355
|
};
|
|
302
356
|
};
|
|
357
|
+
exports.createShipBobApi = createShipBobApi;
|
|
303
358
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "shipbob-node-sdk",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.3",
|
|
4
4
|
"description": "ShipBob API node SDK",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
|
+
"type": "commonjs",
|
|
7
8
|
"scripts": {
|
|
8
9
|
"prebuild": "rimraf dist && eslint . --ignore-pattern generated/ && prettier \"**/*.ts\" --check",
|
|
9
10
|
"build": "tsc",
|
package/.prettierignore
DELETED
package/.prettierrc
DELETED
package/eslint.config.mjs
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import eslint from "@eslint/js";
|
|
2
|
-
import tseslint from "typescript-eslint";
|
|
3
|
-
|
|
4
|
-
export default tseslint.config(
|
|
5
|
-
eslint.configs.recommended,
|
|
6
|
-
...tseslint.configs.recommended,
|
|
7
|
-
...tseslint.configs.stylistic,
|
|
8
|
-
{
|
|
9
|
-
rules: {
|
|
10
|
-
"@typescript-eslint/consistent-type-definitions": "warn"
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
);
|