shipbob-node-sdk 0.0.4 → 0.0.6

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
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
96
55
  * @param options
97
- * @returns
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]) => {
@@ -169,10 +126,22 @@ const createShipBobApi = async (personalAccessToken, apiBaseUrl = 'sandbox-api.s
169
126
  rateLimit,
170
127
  };
171
128
  };
129
+ const getHeaders = (credentials, sendChannelId) => {
130
+ const headers = {
131
+ Authorization: `Bearer ${credentials.token}`,
132
+ 'Content-Type': 'application/json',
133
+ Accept: 'application/json',
134
+ 'User-Agent': 'shipbob-node-sdk',
135
+ };
136
+ if (credentials.channelId && sendChannelId !== false) {
137
+ headers['shipbob_channel_id'] = credentials.channelId.toString();
138
+ }
139
+ return headers;
140
+ };
172
141
  /**
173
142
  * Will GET using our PAT and SAM channel
174
143
  */
175
- const httpGet = async (credentials, path, query) => {
144
+ const httpGet = async (credentials, path, query, sendChannelId = true) => {
176
145
  const url = new node_url_1.URL(`https://${apiBaseUrl}${path}`);
177
146
  if (query) {
178
147
  for (const param of Object.keys(query)) {
@@ -194,24 +163,15 @@ const createShipBobApi = async (personalAccessToken, apiBaseUrl = 'sandbox-api.s
194
163
  }
195
164
  const opts = {
196
165
  method: 'GET',
197
- headers: {
198
- Authorization: `Bearer ${credentials.token}`,
199
- 'Content-Type': 'application/json',
200
- Accept: 'application/json',
201
- 'User-Agent': 'shipbob-node-sdk',
202
- },
203
- // signal: AbortSignal.timeout(60 * 1000) Node 20 only
166
+ headers: getHeaders(credentials, sendChannelId),
204
167
  };
205
- if (credentials.channelId) {
206
- opts.headers.shipbob_channel_id = credentials.channelId.toString();
207
- }
208
168
  const res = await fetch(url.href, opts);
209
169
  return getResult(res);
210
170
  };
211
171
  /**
212
172
  * Will default POST to Shipbob a request as JSON. Can be used for any type of request
213
173
  */
214
- const httpData = async (credentials, data, path, method = 'POST') => {
174
+ const httpData = async (credentials, data, path, method = 'POST', sendChannelId = true) => {
215
175
  if (credentials.channelId === undefined) {
216
176
  throw new Error('Channel ID missing');
217
177
  }
@@ -221,15 +181,8 @@ const createShipBobApi = async (personalAccessToken, apiBaseUrl = 'sandbox-api.s
221
181
  }
222
182
  const opts = {
223
183
  method,
224
- headers: {
225
- Authorization: `Bearer ${credentials.token}`,
226
- 'Content-Type': 'application/json',
227
- Accept: 'application/json',
228
- 'User-Agent': 'shipbob-node-sdk',
229
- shipbob_channel_id: credentials.channelId.toString(),
230
- },
184
+ headers: getHeaders(credentials, sendChannelId),
231
185
  body: data !== undefined ? JSON.stringify(data) : undefined,
232
- // signal: AbortSignal.timeout(60 * 1000) Node 20 only
233
186
  };
234
187
  const res = await fetch(url.href, opts);
235
188
  return getResult(res);
@@ -245,16 +198,14 @@ const createShipBobApi = async (personalAccessToken, apiBaseUrl = 'sandbox-api.s
245
198
  credentials.channelId = smaChannel.id;
246
199
  return {
247
200
  /**
248
- * You would need a product id on your side. Not sure how useful this is in all practicality unless
249
- * you maintain the association on your side.
201
+ * Gets by *their* product id
250
202
  */
251
203
  getProductById: async (productId) => {
252
204
  const getProductResult = await httpGet(credentials, `${PATH_1_0_PRODUCT}/${productId}`);
253
205
  return getProductResult;
254
206
  },
255
207
  getProducts1_0: async (query) => {
256
- const getProductResult = await httpGet(credentials, PATH_1_0_PRODUCT, query);
257
- return getProductResult;
208
+ return await httpGet(credentials, PATH_1_0_PRODUCT, query);
258
209
  },
259
210
  /**
260
211
  * NOTE: you need to use the headers (part of this client response) to page the results.
@@ -267,20 +218,17 @@ const createShipBobApi = async (personalAccessToken, apiBaseUrl = 'sandbox-api.s
267
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.
268
219
  */
269
220
  updateProduct2_0: async (productId, variants) => {
270
- console.log('variants', variants);
271
- const updateProduct2Response = await httpData(credentials, {
221
+ return await httpData(credentials, {
272
222
  variants,
273
223
  }, `${PATH_2_0_PRODUCT}/${productId}`, 'PATCH');
274
- return updateProduct2Response;
275
224
  },
276
225
  /**
277
226
  * Unsure how this is different from /2.0/product except for "barcode" -> "barcodes"
278
227
  */
279
228
  updateProductExperimental: async (productId, variants) => {
280
- const updateProduct2Response = await httpData(credentials, {
229
+ return await httpData(credentials, {
281
230
  variants,
282
231
  }, `${PATH_EXPERIMENTAL_PRODUCT}/${productId}`, 'PATCH');
283
- return updateProduct2Response;
284
232
  },
285
233
  /**
286
234
  * Not supported here, but:
@@ -290,41 +238,37 @@ const createShipBobApi = async (personalAccessToken, apiBaseUrl = 'sandbox-api.s
290
238
  * Example: /product?onHandQuantity=gt:0 Find products where OnHandQty greater than 0
291
239
  */
292
240
  getProducts2_0: async (query) => {
293
- const getProductResult = await httpGet(credentials, PATH_2_0_PRODUCT, query);
294
- return getProductResult;
241
+ return await httpGet(credentials, PATH_2_0_PRODUCT, query);
295
242
  },
296
243
  /**
297
244
  * Note sure how this is different from /2.0/product. Only notable difference is "barcodes" type from string to object.
298
245
  */
299
246
  getProductsExperimental: async (query) => {
300
- const getProductResult = await httpGet(credentials, PATH_EXPERIMENTAL_PRODUCT, query);
301
- return getProductResult;
247
+ return await httpGet(credentials, PATH_EXPERIMENTAL_PRODUCT, query);
302
248
  },
303
249
  createProduct1_0: async (product) => {
304
- const createProductResponse = await httpData(credentials, product, PATH_1_0_PRODUCT);
305
- // console.log(' > Created product:',createProductResponse.success ? createProductResponse.data.reference_id : 'failed');
306
- return createProductResponse;
250
+ return await httpData(credentials, product, PATH_1_0_PRODUCT);
307
251
  },
308
252
  /**
309
253
  * The request part for variant is not accurate. This is just for testing - there are no official docs.
310
254
  */
311
255
  createProduct2_0: async (product) => {
312
- const createProductResponse = await httpData(credentials, product, PATH_2_0_PRODUCT);
313
- // console.log(' > Created product:',createProductResponse.success ? createProductResponse.data.id : 'failed');
314
- return createProductResponse;
256
+ return await httpData(credentials, product, PATH_2_0_PRODUCT);
315
257
  },
316
258
  /**
317
259
  * Unsure how this is different from '2.0/product' except for "barcode" -> "barcodes"
318
260
  */
319
261
  createProductExperimental: async (product) => {
320
- const createProductResponse = await httpData(credentials, product, PATH_EXPERIMENTAL_PRODUCT);
321
- // console.log(' > Created product:',createProductResponse.success ? createProductResponse.data.id : 'failed');
322
- return createProductResponse;
262
+ return await httpData(credentials, product, PATH_EXPERIMENTAL_PRODUCT);
263
+ },
264
+ /**
265
+ * Look in the returned headers to get paging information.
266
+ */
267
+ getOrders: async (query) => {
268
+ return await httpGet(credentials, PATH_1_0_ORDER, query);
323
269
  },
324
270
  placeOrder: async (order) => {
325
- const placeOrderResponse = await httpData(credentials, order, PATH_1_0_ORDER);
326
- console.log('place order:', placeOrderResponse);
327
- return placeOrderResponse;
271
+ return await httpData(credentials, order, PATH_1_0_ORDER);
328
272
  },
329
273
  /**
330
274
  * Cancel single Order by Order Id
@@ -332,57 +276,50 @@ const createShipBobApi = async (personalAccessToken, apiBaseUrl = 'sandbox-api.s
332
276
  * @param orderId The order Id to cancel
333
277
  */
334
278
  cancelSingleOrderByOrderId: async (orderId) => {
335
- const placeOrderResponse = await httpData(credentials, undefined, `${PATH_1_0_ORDER}/${orderId}/cancel`);
336
- console.log('place order:', placeOrderResponse);
337
- return placeOrderResponse;
279
+ return await httpData(credentials, undefined, `${PATH_1_0_ORDER}/${orderId}/cancel`);
338
280
  },
339
281
  getShippingMethods: async () => {
340
- const webhooks = await httpGet(credentials, PATH_1_0_SHIPPINGMETHOD);
341
- return webhooks;
282
+ return await httpGet(credentials, PATH_1_0_SHIPPINGMETHOD);
342
283
  },
343
284
  getWebhooks: async () => {
344
- const webhooks = await httpGet(credentials, PATH_1_0_WEBHOOK);
345
- return webhooks;
285
+ return await httpGet(credentials, PATH_1_0_WEBHOOK);
346
286
  },
347
287
  /**
348
- * NOTE: can consider option to add without providing channel id (would need matching unregister)
288
+ *
289
+ * @param webhook just needs topic and subscription url.
290
+ * @param sendChannelId defaults `true`. Not providing channel id will (I think) subscribe to all channels. You need to match when unsubscribing.
291
+ * @returns
349
292
  */
350
- registerWebhookSubscription: async (webhook) => {
351
- const registeredWebhook = await httpData(credentials, webhook, PATH_1_0_WEBHOOK);
352
- return registeredWebhook;
293
+ registerWebhookSubscription: async (webhook, sendChannelId = true) => {
294
+ return await httpData(credentials, webhook, PATH_1_0_WEBHOOK, undefined, sendChannelId);
353
295
  },
354
296
  /**
355
- * Can generate 500 response with data: "The wait operation timed out." If so, check your channel id matches.
297
+ * Can generate 500 response with data: "The wait operation timed out." If so, check your channel id (or lack thereof) matches the subscription registration.
356
298
  *
357
- * NOTE: can consider option to add without providing channel id (would need matching register)
299
+ * @param id channelId from getWebhooks()
300
+ * @param sendChannelId defaults `true`. You need to match this with when you subscribed. There's no way to see this anywhere.
301
+ * @returns
358
302
  */
359
- unregisterWebhookSubscription: async (id) => {
360
- const unregisteredWebhook = await httpData(credentials, undefined, `${PATH_1_0_WEBHOOK}/${id}`, 'DELETE');
361
- return unregisteredWebhook;
303
+ unregisterWebhookSubscription: async (id, sendChannelId = true) => {
304
+ return await httpData(credentials, undefined, `${PATH_1_0_WEBHOOK}/${id}`, 'DELETE', sendChannelId);
362
305
  },
363
306
  getFulfillmentCenters: async () => {
364
- const fulfillmentCenters = await httpGet(credentials, PATH_1_0_FULFILLMENT_CENTER);
365
- console.log('fulfillment centers:', fulfillmentCenters);
366
- return fulfillmentCenters;
307
+ return await httpGet(credentials, PATH_1_0_FULFILLMENT_CENTER);
367
308
  },
368
309
  createWarehouseReceivingOrder: async (request) => {
369
- const createdWRO = await httpData(credentials, request, PATH_2_0_RECEIVING);
370
- return createdWRO;
310
+ return await httpData(credentials, request, PATH_2_0_RECEIVING);
371
311
  },
372
312
  getWarehouseReceivingOrder: async (orderId) => {
373
- const wro = await httpGet(credentials, `${PATH_2_0_RECEIVING}/${orderId}`);
374
- return wro;
313
+ return await httpGet(credentials, `${PATH_2_0_RECEIVING}/${orderId}`);
375
314
  },
376
315
  getWarehouseReceivingOrderBoxes: async (orderId) => {
377
- const wroBoxes = await httpGet(credentials, `${PATH_2_0_RECEIVING}/${orderId}/boxes`);
378
- return wroBoxes;
316
+ return await httpGet(credentials, `${PATH_2_0_RECEIVING}/${orderId}/boxes`);
379
317
  },
380
318
  /**
381
319
  * NOTE: should verify that response matches 1.0 product endpoint
382
320
  */
383
321
  getReceivingExtended: async (query) => {
384
- const getReceivingExtendedResult = await httpGet(credentials, PATH_2_0_RECEIVING_EXTENDED, query);
385
- return getReceivingExtendedResult;
322
+ return await httpGet(credentials, PATH_2_0_RECEIVING_EXTENDED, query);
386
323
  },
387
324
  /**
388
325
  * This must be for setting/clearing if it has been synced externally.
@@ -392,40 +329,22 @@ const createShipBobApi = async (personalAccessToken, apiBaseUrl = 'sandbox-api.s
392
329
  * NOTE: this is tagged experimental, so might change or be dropped
393
330
  */
394
331
  experimentalReceivingSetExternalSync: async (ids, isExternalSync) => {
395
- console.log(`Setting: ${ids.join(',')} to external sync: ${isExternalSync}`);
396
- const response = await httpData(credentials, {
332
+ return await httpData(credentials, {
397
333
  ids,
398
334
  is_external_sync: isExternalSync,
399
335
  }, `${PATH_EXPERIMENTAL_RECEIVING}/:set-external-sync`);
400
- if (response.success) {
401
- for (const result of response.data.results) {
402
- console.log(` > ${result.id} ${result.action}. Success: ${result.is_success} Reason:'${result.reason}'`);
403
- }
404
- console.log('');
405
- }
406
- return response;
407
336
  },
408
337
  /**
409
338
  * NOTE: should verify the response type matches the product 1.0 endpoint
410
339
  */
411
340
  listInventory: async (query) => {
412
- const getInventoryResult = await httpGet(credentials, PATH_1_0_INVENTORY, query);
413
- return getInventoryResult;
341
+ return await httpGet(credentials, PATH_1_0_INVENTORY, query);
414
342
  },
415
343
  /**
416
344
  * Only for sandbox: https://developer.shipbob.com/sandbox-simulations/
417
- *
418
- * NOTE: generates a 200 instead of a 201 like everywhere else
419
345
  */
420
346
  simulateShipment: async (request) => {
421
- const result = await httpData(credentials, request, `${PATH_2_0_SIMULATE}/shipment`);
422
- if (result.success) {
423
- console.log('simulate shipment sent', result.data.simulation_id, result.data.message);
424
- }
425
- else {
426
- console.log('simulate shipment failed:', result.data);
427
- }
428
- return result;
347
+ return await httpData(credentials, request, `${PATH_2_0_SIMULATE}/shipment`);
429
348
  },
430
349
  /**
431
350
  *
@@ -434,8 +353,7 @@ const createShipBobApi = async (personalAccessToken, apiBaseUrl = 'sandbox-api.s
434
353
  * @param simulationId UUID from "/2.0/simulate/shipment" call
435
354
  */
436
355
  getSimulationStatus: async (simulationId) => {
437
- const result = await httpGet(credentials, `${PATH_2_0_SIMULATE}/status/${simulationId}`);
438
- return result;
356
+ return await httpGet(credentials, `${PATH_2_0_SIMULATE}/status/${simulationId}`);
439
357
  },
440
358
  };
441
359
  };
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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"}