shipbob-node-sdk 0.0.5 → 0.0.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/dist/index.js CHANGED
@@ -1,18 +1,23 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createShipBobApi = exports.ReturnAction = exports.PackagingMaterial = exports.PackagingRequirement = exports.WebhookTopic = void 0;
17
+ exports.createShipBobApi = void 0;
4
18
  /* eslint-disable @typescript-eslint/consistent-type-definitions */
5
19
  const node_url_1 = require("node:url"); // WHATWG
6
- var WebhookTopic;
7
- (function (WebhookTopic) {
8
- WebhookTopic["OrderShipped"] = "order_shipped";
9
- WebhookTopic["ShipmentDelivered"] = "shipment_delivered";
10
- WebhookTopic["ShipmentException"] = "shipment_exception";
11
- WebhookTopic["ShipmentOnHold"] = "shipment_onhold";
12
- WebhookTopic["ShipmentCancelled"] = "shipment_cancelled";
13
- })(WebhookTopic || (exports.WebhookTopic = WebhookTopic = {}));
14
- // ShipBob is potentially extending 2.0 publicly
15
- // see /docs/Product Catalog API Examples.pdf
20
+ __exportStar(require("./types"), exports);
16
21
  // Products
17
22
  const PATH_1_0_CHANNEL = '/1.0/channel';
18
23
  const PATH_1_0_PRODUCT = '/1.0/product';
@@ -37,52 +42,6 @@ const PATH_1_0_INVENTORY = '/1.0/inventory';
37
42
  const PATH_1_0_FULFILLMENT_CENTER = '/1.0/fulfillmentCenter';
38
43
  const PATH_1_0_WEBHOOK = '/1.0/webhook';
39
44
  const PATH_2_0_SIMULATE = '/2.0/simulate';
40
- var PackagingRequirement;
41
- (function (PackagingRequirement) {
42
- // wrong spelling in PDF
43
- PackagingRequirement[PackagingRequirement["No Requirements"] = 1] = "No Requirements";
44
- PackagingRequirement[PackagingRequirement["Fragile"] = 2] = "Fragile";
45
- PackagingRequirement[PackagingRequirement["Is Foldable"] = 3] = "Is Foldable";
46
- PackagingRequirement[PackagingRequirement["Is Media (Media mail)"] = 4] = "Is Media (Media mail)";
47
- PackagingRequirement[PackagingRequirement["Is Book"] = 5] = "Is Book";
48
- PackagingRequirement[PackagingRequirement["Is Poster"] = 6] = "Is Poster";
49
- PackagingRequirement[PackagingRequirement["Is Apparel"] = 7] = "Is Apparel";
50
- PackagingRequirement[PackagingRequirement["Is Packaging Material (for custom boxes, marketing inserts, etc)"] = 8] = "Is Packaging Material (for custom boxes, marketing inserts, etc)";
51
- PackagingRequirement[PackagingRequirement["Ship In Own Container"] = 9] = "Ship In Own Container";
52
- })(PackagingRequirement || (exports.PackagingRequirement = PackagingRequirement = {}));
53
- var PackagingMaterial;
54
- (function (PackagingMaterial) {
55
- PackagingMaterial[PackagingMaterial["Box"] = 1] = "Box";
56
- PackagingMaterial[PackagingMaterial["Bubble Mailer"] = 2] = "Bubble Mailer";
57
- PackagingMaterial[PackagingMaterial["Poly Mailer"] = 3] = "Poly Mailer";
58
- // no 4 in PDF
59
- PackagingMaterial[PackagingMaterial["Poster Tube"] = 5] = "Poster Tube";
60
- PackagingMaterial[PackagingMaterial["Custom Box"] = 6] = "Custom Box";
61
- PackagingMaterial[PackagingMaterial["Bookfold"] = 7] = "Bookfold";
62
- PackagingMaterial[PackagingMaterial["Ship In Own Container"] = 8] = "Ship In Own Container";
63
- PackagingMaterial[PackagingMaterial["Custom Bubble Mailer"] = 9] = "Custom Bubble Mailer";
64
- PackagingMaterial[PackagingMaterial["Custom Poly Mailer"] = 10] = "Custom Poly Mailer";
65
- })(PackagingMaterial || (exports.PackagingMaterial = PackagingMaterial = {}));
66
- /**
67
- * Restock (1)
68
- * Quarantine (2)
69
- * Dispose (3)
70
- */
71
- var ReturnAction;
72
- (function (ReturnAction) {
73
- /**
74
- * Restock (1)
75
- */
76
- ReturnAction[ReturnAction["Restock"] = 1] = "Restock";
77
- /**
78
- * Quarantine (2)
79
- */
80
- ReturnAction[ReturnAction["Quarantine"] = 2] = "Quarantine";
81
- /**
82
- * Dispose (3)
83
- */
84
- ReturnAction[ReturnAction["Dispose"] = 3] = "Dispose";
85
- })(ReturnAction || (exports.ReturnAction = ReturnAction = {}));
86
45
  /**
87
46
  * Create API with PAT (personal access token) - defaults to sandbox endpoints and "SMA" channel.
88
47
  *
@@ -91,10 +50,9 @@ var ReturnAction;
91
50
  * TODO: Consider adding global parameters like timeout (or per method). Some endpoints are slower than others.
92
51
  *
93
52
  * @param personalAccessToken passing *undefined* or empty string has a guar clause that will throw
94
- * @param apiBaseUrl
95
- * @param channelApplicationName
96
- * @param options
97
- * @returns
53
+ * @param apiBaseUrl must pass "api.shipbob.com" otherwise sandbox will be used.
54
+ * @param channelApplicationName will default to SMA account, otherwise provide your application_name here
55
+ * @param options defaults to not logging traffic
98
56
  */
99
57
  const createShipBobApi = async (personalAccessToken, apiBaseUrl = 'sandbox-api.shipbob.com', channelApplicationName = 'SMA', options = {
100
58
  logTraffic: false,
@@ -126,7 +84,6 @@ const createShipBobApi = async (personalAccessToken, apiBaseUrl = 'sandbox-api.s
126
84
  RETRY_AFTER_SECONDS, // part of rateLimit: {}
127
85
  ];
128
86
  const getResult = async (res) => {
129
- // ["x-remaining-calls","149"]]
130
87
  const remainingCalls = res.headers.has(REMAINING_CALLS) ? parseInt(res.headers.get(REMAINING_CALLS)) : null;
131
88
  const retryAfter = res.headers.has(RETRY_AFTER_SECONDS) ? parseInt(res.headers.get(RETRY_AFTER_SECONDS)) : null;
132
89
  const headers = Array.from(res.headers).reduce((prev, [key, val]) => {
@@ -139,9 +96,20 @@ const createShipBobApi = async (personalAccessToken, apiBaseUrl = 'sandbox-api.s
139
96
  remainingCalls,
140
97
  retryAfter,
141
98
  };
99
+ const hasJsonContentHeader = (res) => {
100
+ const contentType = res.headers.has(CONTENT_TYPE) ? res.headers.get(CONTENT_TYPE) : null;
101
+ return (contentType &&
102
+ (contentType.startsWith('application/json') || contentType.startsWith('application/problem+json')));
103
+ };
142
104
  if (res.ok) {
105
+ const isJson = hasJsonContentHeader(res);
106
+ if (!isJson) {
107
+ // NOTE: DELETE webhook is a 204 with an empty response (ie: 'content-length' = '0')
108
+ console.warn(' > content-type not found for JSON - returning text');
109
+ }
110
+ const data = isJson ? (await res.json()) : (await res.text());
143
111
  return {
144
- data: (await res.json()),
112
+ data,
145
113
  headers,
146
114
  statusCode: res.status,
147
115
  success: true,
@@ -150,19 +118,10 @@ const createShipBobApi = async (personalAccessToken, apiBaseUrl = 'sandbox-api.s
150
118
  }
151
119
  // also http status codes 400, 422 tend to be JSON
152
120
  // application/json; charset=utf-8
153
- const contentType = res.headers.has(CONTENT_TYPE) ? res.headers.get(CONTENT_TYPE) : null;
154
- if (contentType &&
155
- (contentType.startsWith('application/json') || contentType.startsWith('application/problem+json'))) {
156
- return {
157
- data: await res.json(),
158
- headers,
159
- statusCode: res.status,
160
- success: false,
161
- rateLimit,
162
- };
163
- }
121
+ const isJson = hasJsonContentHeader(res);
122
+ const data = isJson ? await res.json() : await res.text();
164
123
  return {
165
- data: await res.text(),
124
+ data,
166
125
  headers,
167
126
  statusCode: res.status,
168
127
  success: false,
@@ -241,16 +200,14 @@ const createShipBobApi = async (personalAccessToken, apiBaseUrl = 'sandbox-api.s
241
200
  credentials.channelId = smaChannel.id;
242
201
  return {
243
202
  /**
244
- * You would need a product id on your side. Not sure how useful this is in all practicality unless
245
- * you maintain the association on your side.
203
+ * Gets by *their* product id
246
204
  */
247
205
  getProductById: async (productId) => {
248
206
  const getProductResult = await httpGet(credentials, `${PATH_1_0_PRODUCT}/${productId}`);
249
207
  return getProductResult;
250
208
  },
251
209
  getProducts1_0: async (query) => {
252
- const getProductResult = await httpGet(credentials, PATH_1_0_PRODUCT, query);
253
- return getProductResult;
210
+ return await httpGet(credentials, PATH_1_0_PRODUCT, query);
254
211
  },
255
212
  /**
256
213
  * NOTE: you need to use the headers (part of this client response) to page the results.
@@ -263,20 +220,17 @@ const createShipBobApi = async (personalAccessToken, apiBaseUrl = 'sandbox-api.s
263
220
  * NOTE: This PATCH functionality will be available in the next version available in ShipBob next large release January 2025, it may require extra scope.
264
221
  */
265
222
  updateProduct2_0: async (productId, variants) => {
266
- console.log('variants', variants);
267
- const updateProduct2Response = await httpData(credentials, {
223
+ return await httpData(credentials, {
268
224
  variants,
269
225
  }, `${PATH_2_0_PRODUCT}/${productId}`, 'PATCH');
270
- return updateProduct2Response;
271
226
  },
272
227
  /**
273
228
  * Unsure how this is different from /2.0/product except for "barcode" -> "barcodes"
274
229
  */
275
230
  updateProductExperimental: async (productId, variants) => {
276
- const updateProduct2Response = await httpData(credentials, {
231
+ return await httpData(credentials, {
277
232
  variants,
278
233
  }, `${PATH_EXPERIMENTAL_PRODUCT}/${productId}`, 'PATCH');
279
- return updateProduct2Response;
280
234
  },
281
235
  /**
282
236
  * Not supported here, but:
@@ -286,48 +240,41 @@ const createShipBobApi = async (personalAccessToken, apiBaseUrl = 'sandbox-api.s
286
240
  * Example: /product?onHandQuantity=gt:0 Find products where OnHandQty greater than 0
287
241
  */
288
242
  getProducts2_0: async (query) => {
289
- const getProductResult = await httpGet(credentials, PATH_2_0_PRODUCT, query);
290
- return getProductResult;
243
+ return await httpGet(credentials, PATH_2_0_PRODUCT, query);
291
244
  },
292
245
  /**
293
246
  * Note sure how this is different from /2.0/product. Only notable difference is "barcodes" type from string to object.
294
247
  */
295
248
  getProductsExperimental: async (query) => {
296
- const getProductResult = await httpGet(credentials, PATH_EXPERIMENTAL_PRODUCT, query);
297
- return getProductResult;
249
+ return await httpGet(credentials, PATH_EXPERIMENTAL_PRODUCT, query);
298
250
  },
299
251
  createProduct1_0: async (product) => {
300
- const createProductResponse = await httpData(credentials, product, PATH_1_0_PRODUCT);
301
- // console.log(' > Created product:',createProductResponse.success ? createProductResponse.data.reference_id : 'failed');
302
- return createProductResponse;
252
+ return await httpData(credentials, product, PATH_1_0_PRODUCT);
303
253
  },
304
254
  /**
305
255
  * The request part for variant is not accurate. This is just for testing - there are no official docs.
306
256
  */
307
257
  createProduct2_0: async (product) => {
308
- const createProductResponse = await httpData(credentials, product, PATH_2_0_PRODUCT);
309
- // console.log(' > Created product:',createProductResponse.success ? createProductResponse.data.id : 'failed');
310
- return createProductResponse;
258
+ return await httpData(credentials, product, PATH_2_0_PRODUCT);
311
259
  },
312
260
  /**
313
261
  * Unsure how this is different from '2.0/product' except for "barcode" -> "barcodes"
314
262
  */
315
263
  createProductExperimental: async (product) => {
316
- const createProductResponse = await httpData(credentials, product, PATH_EXPERIMENTAL_PRODUCT);
317
- // console.log(' > Created product:',createProductResponse.success ? createProductResponse.data.id : 'failed');
318
- return createProductResponse;
264
+ return await httpData(credentials, product, PATH_EXPERIMENTAL_PRODUCT);
319
265
  },
320
266
  /**
321
267
  * Look in the returned headers to get paging information.
322
268
  */
323
269
  getOrders: async (query) => {
324
- const getOrdersResult = await httpGet(credentials, PATH_1_0_ORDER, query);
325
- return getOrdersResult;
270
+ return await httpGet(credentials, PATH_1_0_ORDER, query);
326
271
  },
272
+ /**
273
+ * NOTE: After you place an order it is not immediately available on the "getOrders" endpoint.
274
+ * You are best off using the returned result. ShipBob suggests 5 seconds as permitted delay time.
275
+ */
327
276
  placeOrder: async (order) => {
328
- const placeOrderResponse = await httpData(credentials, order, PATH_1_0_ORDER);
329
- console.log('place order:', placeOrderResponse);
330
- return placeOrderResponse;
277
+ return await httpData(credentials, order, PATH_1_0_ORDER);
331
278
  },
332
279
  /**
333
280
  * Cancel single Order by Order Id
@@ -335,27 +282,25 @@ const createShipBobApi = async (personalAccessToken, apiBaseUrl = 'sandbox-api.s
335
282
  * @param orderId The order Id to cancel
336
283
  */
337
284
  cancelSingleOrderByOrderId: async (orderId) => {
338
- const placeOrderResponse = await httpData(credentials, undefined, `${PATH_1_0_ORDER}/${orderId}/cancel`);
339
- console.log('place order:', placeOrderResponse);
340
- return placeOrderResponse;
285
+ return await httpData(credentials, undefined, `${PATH_1_0_ORDER}/${orderId}/cancel`);
341
286
  },
342
287
  getShippingMethods: async () => {
343
- const webhooks = await httpGet(credentials, PATH_1_0_SHIPPINGMETHOD);
344
- return webhooks;
288
+ return await httpGet(credentials, PATH_1_0_SHIPPINGMETHOD);
345
289
  },
290
+ /**
291
+ * The responses don't indicate if they were registered with a channel or not.
292
+ */
346
293
  getWebhooks: async () => {
347
- const webhooks = await httpGet(credentials, PATH_1_0_WEBHOOK);
348
- return webhooks;
294
+ return await httpGet(credentials, PATH_1_0_WEBHOOK);
349
295
  },
350
296
  /**
351
297
  *
352
- * @param webhook
298
+ * @param webhook just needs topic and subscription url.
353
299
  * @param sendChannelId defaults `true`. Not providing channel id will (I think) subscribe to all channels. You need to match when unsubscribing.
354
300
  * @returns
355
301
  */
356
302
  registerWebhookSubscription: async (webhook, sendChannelId = true) => {
357
- const registeredWebhook = await httpData(credentials, webhook, PATH_1_0_WEBHOOK, undefined, sendChannelId);
358
- return registeredWebhook;
303
+ return await httpData(credentials, webhook, PATH_1_0_WEBHOOK, undefined, sendChannelId);
359
304
  },
360
305
  /**
361
306
  * Can generate 500 response with data: "The wait operation timed out." If so, check your channel id (or lack thereof) matches the subscription registration.
@@ -365,32 +310,33 @@ const createShipBobApi = async (personalAccessToken, apiBaseUrl = 'sandbox-api.s
365
310
  * @returns
366
311
  */
367
312
  unregisterWebhookSubscription: async (id, sendChannelId = true) => {
368
- const unregisteredWebhook = await httpData(credentials, undefined, `${PATH_1_0_WEBHOOK}/${id}`, 'DELETE', sendChannelId);
369
- return unregisteredWebhook;
313
+ return await httpData(credentials, undefined, `${PATH_1_0_WEBHOOK}/${id}`, 'DELETE', sendChannelId);
370
314
  },
371
315
  getFulfillmentCenters: async () => {
372
- const fulfillmentCenters = await httpGet(credentials, PATH_1_0_FULFILLMENT_CENTER);
373
- console.log('fulfillment centers:', fulfillmentCenters);
374
- return fulfillmentCenters;
316
+ return await httpGet(credentials, PATH_1_0_FULFILLMENT_CENTER);
375
317
  },
376
318
  createWarehouseReceivingOrder: async (request) => {
377
- const createdWRO = await httpData(credentials, request, PATH_2_0_RECEIVING);
378
- return createdWRO;
319
+ // due to failures downstream in their WRO processing. They will need to create multiple WROs that cannot be merged:
320
+ if (request.purchase_order_number) {
321
+ if (!/^[A-Za-z0-9 ]+$/.test(request.purchase_order_number)) {
322
+ const validPurchaseOrderNumber = request.purchase_order_number.replace(/[^A-Za-z0-9 ]/gi, ' ');
323
+ console.log(` Replacing disallowed PO number: '${request.purchase_order_number}' -> '${validPurchaseOrderNumber}'`);
324
+ request.purchase_order_number = validPurchaseOrderNumber;
325
+ }
326
+ }
327
+ return await httpData(credentials, request, PATH_2_0_RECEIVING);
379
328
  },
380
329
  getWarehouseReceivingOrder: async (orderId) => {
381
- const wro = await httpGet(credentials, `${PATH_2_0_RECEIVING}/${orderId}`);
382
- return wro;
330
+ return await httpGet(credentials, `${PATH_2_0_RECEIVING}/${orderId}`);
383
331
  },
384
332
  getWarehouseReceivingOrderBoxes: async (orderId) => {
385
- const wroBoxes = await httpGet(credentials, `${PATH_2_0_RECEIVING}/${orderId}/boxes`);
386
- return wroBoxes;
333
+ return await httpGet(credentials, `${PATH_2_0_RECEIVING}/${orderId}/boxes`);
387
334
  },
388
335
  /**
389
336
  * NOTE: should verify that response matches 1.0 product endpoint
390
337
  */
391
338
  getReceivingExtended: async (query) => {
392
- const getReceivingExtendedResult = await httpGet(credentials, PATH_2_0_RECEIVING_EXTENDED, query);
393
- return getReceivingExtendedResult;
339
+ return await httpGet(credentials, PATH_2_0_RECEIVING_EXTENDED, query);
394
340
  },
395
341
  /**
396
342
  * This must be for setting/clearing if it has been synced externally.
@@ -400,40 +346,22 @@ const createShipBobApi = async (personalAccessToken, apiBaseUrl = 'sandbox-api.s
400
346
  * NOTE: this is tagged experimental, so might change or be dropped
401
347
  */
402
348
  experimentalReceivingSetExternalSync: async (ids, isExternalSync) => {
403
- console.log(`Setting: ${ids.join(',')} to external sync: ${isExternalSync}`);
404
- const response = await httpData(credentials, {
349
+ return await httpData(credentials, {
405
350
  ids,
406
351
  is_external_sync: isExternalSync,
407
352
  }, `${PATH_EXPERIMENTAL_RECEIVING}/:set-external-sync`);
408
- if (response.success) {
409
- for (const result of response.data.results) {
410
- console.log(` > ${result.id} ${result.action}. Success: ${result.is_success} Reason:'${result.reason}'`);
411
- }
412
- console.log('');
413
- }
414
- return response;
415
353
  },
416
354
  /**
417
355
  * NOTE: should verify the response type matches the product 1.0 endpoint
418
356
  */
419
357
  listInventory: async (query) => {
420
- const getInventoryResult = await httpGet(credentials, PATH_1_0_INVENTORY, query);
421
- return getInventoryResult;
358
+ return await httpGet(credentials, PATH_1_0_INVENTORY, query);
422
359
  },
423
360
  /**
424
361
  * Only for sandbox: https://developer.shipbob.com/sandbox-simulations/
425
- *
426
- * NOTE: generates a 200 instead of a 201 like everywhere else
427
362
  */
428
363
  simulateShipment: async (request) => {
429
- const result = await httpData(credentials, request, `${PATH_2_0_SIMULATE}/shipment`);
430
- if (result.success) {
431
- console.log('simulate shipment sent', result.data.simulation_id, result.data.message);
432
- }
433
- else {
434
- console.log('simulate shipment failed:', result.data);
435
- }
436
- return result;
364
+ return await httpData(credentials, request, `${PATH_2_0_SIMULATE}/shipment`);
437
365
  },
438
366
  /**
439
367
  *
@@ -442,8 +370,7 @@ const createShipBobApi = async (personalAccessToken, apiBaseUrl = 'sandbox-api.s
442
370
  * @param simulationId UUID from "/2.0/simulate/shipment" call
443
371
  */
444
372
  getSimulationStatus: async (simulationId) => {
445
- const result = await httpGet(credentials, `${PATH_2_0_SIMULATE}/status/${simulationId}`);
446
- return result;
373
+ return await httpGet(credentials, `${PATH_2_0_SIMULATE}/status/${simulationId}`);
447
374
  },
448
375
  };
449
376
  };
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}