shipbob-node-sdk 0.0.10 → 0.0.11
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 +81 -4
- package/dist/WebScraper.d.ts +19 -0
- package/dist/WebScraper.js +143 -0
- package/dist/WebScraper.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +26 -12
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +17 -1
- package/dist/types.js.map +1 -1
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -148,7 +148,7 @@ For making changes to this library locally - use `yarn link` to test out the cha
|
|
|
148
148
|
You can fake out this library itself, or otherwise mocking the ShipBob API http calls are quite easy to simulate with `nock`. Here's a way to test creating an order verifying idempotent operation.
|
|
149
149
|
|
|
150
150
|
```javascript
|
|
151
|
-
// NOTE: nock > 14 is needed to mock underlying fetch calls
|
|
151
|
+
// NOTE: nock > 14 with undici is needed to mock underlying "fetch" calls
|
|
152
152
|
const CHANNELS_RESPONSE: ChannelsResponse = [{
|
|
153
153
|
id: 1,
|
|
154
154
|
application_name: 'SMA',
|
|
@@ -186,6 +186,7 @@ You can create a monitor using polling with api.experimentalReceivingSetExternal
|
|
|
186
186
|
If you want something more event driven, you can use the emails they send out with an inbound email processor:
|
|
187
187
|
ie:
|
|
188
188
|
```javascript
|
|
189
|
+
// this is done using Mandrill/Mailchimp Inbound mail processor:
|
|
189
190
|
for (const event of events) {
|
|
190
191
|
const { subject } = event.msg;
|
|
191
192
|
switch (subject) {
|
|
@@ -218,7 +219,7 @@ for (const event of events) {
|
|
|
218
219
|
You can publish that as an event or push to a queue and it will act as a "webhook".
|
|
219
220
|
|
|
220
221
|
# OAuth
|
|
221
|
-
There is no S2S (server-to-server) oAuth. User intervention is required. There are only helper methods to help with that.
|
|
222
|
+
There is no S2S (server-to-server) oAuth. User intervention is required. There are only helper methods to help with that. You could bypass that with a webscraper (see next section).
|
|
222
223
|
- `oAuthGetConnectUrl()` direct an end user to follow the generated URL. Use 'offline_access' as part of scope to get a refresh token.
|
|
223
224
|
- `oAuthGetAccessToken()` call this with the `code` query string fragment `https://yourname.ngrok.io/#code=...&id_token=...` the redirect_uri (and your client Id and secret from ShipBob App)
|
|
224
225
|
- `oAuthRefreshAccessToken()` call this with the last `refresh_token` you received, otherwise the same as `oAuthGetAccessToken()` without `code`.
|
|
@@ -226,8 +227,84 @@ There is no S2S (server-to-server) oAuth. User intervention is required. There
|
|
|
226
227
|
The method to get/refresh access token both return `access_token`, so you provide that to `createShipBobApi(...)` with your application name.
|
|
227
228
|
Then you can use the same as a PAT (Personal Access Token).
|
|
228
229
|
|
|
230
|
+
# Access APIs available to web.shipbob.com
|
|
231
|
+
The Web UI has a much broader set of unsupported APIs (ordersapi.shipbob.com, shippingservice.shipbob.com, merchantpricingapi.shipbob.com, etc.). For example, you cannot "patch" a WRO on the public receiving API, but you can somehow with a web login, so it unlocks extra functionality and has a separate rate limit from the API.
|
|
232
|
+
You would need to create a ShipBob account and then use those credentials to login with a scraper (see /src/WebScraper.ts). The account can only be logged with one session at a time. Look through AuthScopesWeb.ts you can probably work backwards the scopes needed for each API.
|
|
233
|
+
|
|
234
|
+
There is no documentation for these extra APIs - you can look through network tracing in the browser. See unit tests for full example:
|
|
235
|
+
```typescript
|
|
236
|
+
// scrape web.shipbob.com website:
|
|
237
|
+
const authResponse = await getAccessTokenUI({
|
|
238
|
+
email,
|
|
239
|
+
password
|
|
240
|
+
});
|
|
241
|
+
|
|
242
|
+
const missingChannelScope = authResponse.scopes.indexOf("channel_read") === -1;
|
|
243
|
+
|
|
244
|
+
const webUIAPI = await createShipBobApi(authResponse.accessToken, url, '<unused>', {
|
|
245
|
+
skipChannelLoad: missingChannelScope,
|
|
246
|
+
});
|
|
247
|
+
|
|
248
|
+
const inventoryListResponse = await webUIAPI.listInventory({ Ids: [20104984] });
|
|
249
|
+
```
|
|
250
|
+
|
|
229
251
|
# Polling Orders for tracking
|
|
230
|
-
|
|
252
|
+
This is a suggested way to track orders from ShipBob. This may be better than using the webhook, sometimes the `order_shipped` webhook fires with no tracking information.
|
|
253
|
+
1. Poll GET `/1.0/order?HasTracking=true&IsTrackingUploaded=false&startDate=03-25-2025`
|
|
254
|
+
```typescript
|
|
255
|
+
const results = await api.getOrders({
|
|
256
|
+
HasTracking: true,
|
|
257
|
+
IsTrackingUploaded: false,
|
|
258
|
+
StartDate: '03-25-2025'
|
|
259
|
+
});
|
|
260
|
+
```
|
|
231
261
|
2. Iterate through each order (and each shipment)
|
|
232
262
|
3. Sync the tracking back to your platform
|
|
233
|
-
4. Mark the order as shipped using this endpoint (https://developer.shipbob.com/api-docs/#tag/Orders/paths/~11.0~1shipment~1%7BshipmentId%7D/put). Or, you can mark it as shipped using the bulk mark as shipped endpoint (https://developer.shipbob.com/api-docs/#tag/Orders/paths/~11.0~1shipment~1:bulkUpdateTrackingUpload/post).
|
|
263
|
+
4. Mark the order as shipped using this endpoint (https://developer.shipbob.com/api-docs/#tag/Orders/paths/~11.0~1shipment~1%7BshipmentId%7D/put). Or, you can mark it as shipped using the bulk mark as shipped endpoint (https://developer.shipbob.com/api-docs/#tag/Orders/paths/~11.0~1shipment~1:bulkUpdateTrackingUpload/post).
|
|
264
|
+
|
|
265
|
+
**NOTE:** `PUT`/`POST` to `/1.0/shipment` not implemented in this library yet.
|
|
266
|
+
|
|
267
|
+
# How to sync WROs (Warehouse Receiving Orders) back to your system
|
|
268
|
+
There are 2 options to do this:
|
|
269
|
+
|
|
270
|
+
## Option #1 - Simple (wait until the WRO status is Completed)
|
|
271
|
+
|
|
272
|
+
- Poll our GET WRO endpoint for WROs in Completed status:
|
|
273
|
+
GET https://sandbox-api.shipbob.com/2.0/receiving-extended?Statuses=Completed&ExternalSync=false
|
|
274
|
+
```typescript
|
|
275
|
+
// with this library
|
|
276
|
+
const results = await api.getReceivingExtended({
|
|
277
|
+
Statuses: 'Completed',
|
|
278
|
+
ExternalSync: false,
|
|
279
|
+
});
|
|
280
|
+
```
|
|
281
|
+
- Iterate through each inventory id in the inventory_quantities array and sync the stowed_quantity back to your system
|
|
282
|
+
- Mark the WRO as synced (see below for the endpoint to use and sample request)
|
|
283
|
+
- Poll the GET WRO endpoint again and 442946 will no longer show up as you already synced this and ExternalSync is now set to true
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
Mark the WRO as synced (this is optional and a alternative option to continuously polling completed WROs that you may or may not know you have already synced)
|
|
287
|
+
|
|
288
|
+
POST https://sandbox-api.shipbob.com/experimental/receiving/:set-external-sync
|
|
289
|
+
```json
|
|
290
|
+
{
|
|
291
|
+
"ids": [442946],
|
|
292
|
+
"is_external_sync": true
|
|
293
|
+
}
|
|
294
|
+
```
|
|
295
|
+
```typescript
|
|
296
|
+
// with this library
|
|
297
|
+
// use Ids from "getReceivingExtended" with ExternalSync: false.
|
|
298
|
+
const results = await api.experimentalReceivingSetExternalSync([443001], true);
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
## Option #2 - Advanced (partial receiving)
|
|
302
|
+
|
|
303
|
+
- Poll our GET WRO endpoint for WROs with statuses "processing" and "completed": https://sandbox-api.shipbob.com/2.0/receiving-extended?Statuses=Processing,Completed&ExternalSync=false.
|
|
304
|
+
|
|
305
|
+
**Note:** When initially testing you can remove the statuses from the query params, and you will see the default status of "AwaitingArrival" whenever a WRO is created. There is no sandbox simulation to move these forward.
|
|
306
|
+
|
|
307
|
+
- For each WRO, make a request to the Get Warehouse Receiving Order Boxes endpoint: https://sandbox-api.shipbob.com/2.0/receiving/442997/boxes
|
|
308
|
+
- Iterate through each box
|
|
309
|
+
- Iterate through each item in the box_items array
|
|
310
|
+
- Sync the stowed_quantity for each item back to your system
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export type AuthResponse = {
|
|
2
|
+
success: false;
|
|
3
|
+
reason: string;
|
|
4
|
+
} | {
|
|
5
|
+
success: true;
|
|
6
|
+
accessToken: string;
|
|
7
|
+
refreshToken: string;
|
|
8
|
+
scopes: string[];
|
|
9
|
+
};
|
|
10
|
+
export type Credentials = {
|
|
11
|
+
email: string;
|
|
12
|
+
password: string;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Retrieves an auth and refresh token from web.shipbob.com Merchant Login
|
|
16
|
+
*
|
|
17
|
+
* NOTE: this is obviously brittle and unsupported - can break at any time - even a small UI update on ShipBob side.
|
|
18
|
+
*/
|
|
19
|
+
export declare const getAccessTokenUI: (credentials: Credentials, timeoutInSeconds?: number) => Promise<AuthResponse>;
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getAccessTokenUI = void 0;
|
|
4
|
+
const puppeteer_1 = require("puppeteer");
|
|
5
|
+
/**
|
|
6
|
+
* This is the /connect/token in regular auth flow
|
|
7
|
+
*/
|
|
8
|
+
const SAVE_TOKEN_PAGE = '/Account/SaveToken';
|
|
9
|
+
/**
|
|
10
|
+
* Attempt to login and return an auth token (that can in turn be used to access API)
|
|
11
|
+
*/
|
|
12
|
+
const loginShipBob = async (page, credentials, waitTimoutInSeconds = 30) => {
|
|
13
|
+
// hopefully this doesn't change!
|
|
14
|
+
await page.goto('https://web.shipbob.com/app/Merchant/#/Login', {
|
|
15
|
+
timeout: 0, // no timeout - it's a slow page
|
|
16
|
+
});
|
|
17
|
+
await page.waitForNavigation({ waitUntil: 'networkidle0' });
|
|
18
|
+
await page.waitForSelector('input[name=Username]');
|
|
19
|
+
// <input name="Username" type="email" data-sb-automation="username-input" ...>
|
|
20
|
+
await page.type('input[name=Username]', credentials.email);
|
|
21
|
+
// await page.type('input[type="password"]', password);
|
|
22
|
+
// <input name="Password" id="password-input" type="password" data-sb-automation="password-input">
|
|
23
|
+
await page.type('input[name=Password]', credentials.password);
|
|
24
|
+
// we will attach to this context as we progress authentication
|
|
25
|
+
const context = {
|
|
26
|
+
scopes: [],
|
|
27
|
+
};
|
|
28
|
+
const interceptorPromise = new Promise((resolve, reject) => {
|
|
29
|
+
const loginTimoutHandle = setTimeout(() => {
|
|
30
|
+
reject(new Error('timeout occured waiting to login'));
|
|
31
|
+
}, waitTimoutInSeconds * 1000);
|
|
32
|
+
// setup interception, before clicking login button
|
|
33
|
+
page.setRequestInterception(true);
|
|
34
|
+
// probably we could use only "request" and it would work, too. Untested.
|
|
35
|
+
page.on('request', (request) => {
|
|
36
|
+
const { host, pathname, searchParams } = new URL(request.url());
|
|
37
|
+
// lots of the traffic for "i.clarity.ms", "px.ads.linkedin.com", "connect.facebook.net", "www.facebook.com", etc.
|
|
38
|
+
// we only care about auth.shipbob.com and web.shipbob.com:
|
|
39
|
+
if (host.endsWith('shipbob.com')) {
|
|
40
|
+
console.log(`request > host:${host}${pathname.substring(10)}...`);
|
|
41
|
+
switch (pathname) {
|
|
42
|
+
case '/connect/authorize/callback':
|
|
43
|
+
console.log(' > returning to shipbob UI...');
|
|
44
|
+
break;
|
|
45
|
+
case '/app/Merchant/signin-callback':
|
|
46
|
+
// cancel timout for logging in (hopefully our continuation works. CF clearance and API token).
|
|
47
|
+
clearTimeout(loginTimoutHandle);
|
|
48
|
+
console.log(' > Checking for code querystring fragment (and storing scope)');
|
|
49
|
+
if (searchParams.has('code')) {
|
|
50
|
+
const authToken = searchParams.get('code');
|
|
51
|
+
const scopes = searchParams.get('scope');
|
|
52
|
+
console.log('short-lived auth token received');
|
|
53
|
+
if (authToken === null || scopes === null) {
|
|
54
|
+
reject(new Error('Authtoken or scope null'));
|
|
55
|
+
break;
|
|
56
|
+
}
|
|
57
|
+
// attach the scopes to context. ie: channel_read not available
|
|
58
|
+
const decodedScopes = decodeURIComponent(scopes);
|
|
59
|
+
context.scopes = decodedScopes.split(' ');
|
|
60
|
+
}
|
|
61
|
+
break;
|
|
62
|
+
// this seems to be what makes the account allow one login (everybody else gets spinners)
|
|
63
|
+
// if you haven't hit this page, you will get a 401 with the "short-lived" token
|
|
64
|
+
case SAVE_TOKEN_PAGE:
|
|
65
|
+
{
|
|
66
|
+
page.on('response', (event) => {
|
|
67
|
+
const { host, pathname } = new URL(event.url());
|
|
68
|
+
console.log(` > response from: ${host}${pathname}`);
|
|
69
|
+
if (host.endsWith('shipbob.com')) {
|
|
70
|
+
if (pathname === SAVE_TOKEN_PAGE) {
|
|
71
|
+
const responseHeaders = event.headers();
|
|
72
|
+
const accessToken = responseHeaders['accesstoken'];
|
|
73
|
+
const refreshToken = responseHeaders['refreshtoken'];
|
|
74
|
+
if (accessToken === undefined) {
|
|
75
|
+
reject(new Error(`response is missing access token: ${Object.keys(responseHeaders)}`));
|
|
76
|
+
}
|
|
77
|
+
page.removeAllListeners();
|
|
78
|
+
resolve({
|
|
79
|
+
success: true,
|
|
80
|
+
accessToken,
|
|
81
|
+
refreshToken,
|
|
82
|
+
scopes: context.scopes,
|
|
83
|
+
});
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
break;
|
|
90
|
+
default:
|
|
91
|
+
if (!pathname.endsWith('js') && !pathname.endsWith('css')) {
|
|
92
|
+
// this is where cf-clearance cookies are set:
|
|
93
|
+
console.log(` > Shipbob ignored path: ${pathname}`);
|
|
94
|
+
}
|
|
95
|
+
break;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
request.continue();
|
|
99
|
+
});
|
|
100
|
+
// kick off login process - navigation listeners are already registered
|
|
101
|
+
Promise.all([page.waitForNavigation({ waitUntil: 'networkidle0' }), page.click('#login-button')]).then(() => {
|
|
102
|
+
console.log(' > Login clicked (interceptors are running)');
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
return interceptorPromise;
|
|
106
|
+
};
|
|
107
|
+
/**
|
|
108
|
+
* Retrieves an auth and refresh token from web.shipbob.com Merchant Login
|
|
109
|
+
*
|
|
110
|
+
* NOTE: this is obviously brittle and unsupported - can break at any time - even a small UI update on ShipBob side.
|
|
111
|
+
*/
|
|
112
|
+
const getAccessTokenUI = async (credentials, timeoutInSeconds = 60) => {
|
|
113
|
+
let browser = null;
|
|
114
|
+
try {
|
|
115
|
+
browser = await puppeteer_1.default.launch({
|
|
116
|
+
headless: true, // for v16.2.0
|
|
117
|
+
// headless: 'new', // equivalent to headless:true in the future - use for Chrome > 112
|
|
118
|
+
args: [
|
|
119
|
+
'--no-sandbox', // not running as root
|
|
120
|
+
'--disable-setuid-sandbox',
|
|
121
|
+
],
|
|
122
|
+
});
|
|
123
|
+
const page = await browser.newPage();
|
|
124
|
+
await page.setViewport({ width: 1920, height: 1080 });
|
|
125
|
+
page.setUserAgent('Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:136.0) Gecko/20100101 Firefox/136.0');
|
|
126
|
+
const loginResponse = await loginShipBob(page, credentials, timeoutInSeconds);
|
|
127
|
+
if (loginResponse.success !== true) {
|
|
128
|
+
console.error('reason:', loginResponse.reason);
|
|
129
|
+
}
|
|
130
|
+
return loginResponse;
|
|
131
|
+
}
|
|
132
|
+
catch (e) {
|
|
133
|
+
console.error(e);
|
|
134
|
+
throw e;
|
|
135
|
+
}
|
|
136
|
+
finally {
|
|
137
|
+
if (browser !== null) {
|
|
138
|
+
await browser.close();
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
exports.getAccessTokenUI = getAccessTokenUI;
|
|
143
|
+
//# sourceMappingURL=WebScraper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebScraper.js","sourceRoot":"","sources":["../src/WebScraper.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { AddProductResponse, CancelOrderResponse, Channel, CreateOptions, ExperimentalPagedResult, FulfillmentCenter, GetInventory1_0Result, GetOrdersQueryStrings, GetProduct1_0Result, GetProduct2_0Response, GetProductExperimentalResponse, GetProductQueryStrings, GetProducts1_0QueryString, ListInventoryQueryStrings, Order, OrderShipment, PlaceOrderRequest, SetExternalSyncResponse, ShippingMethod, SimulateShipmentRequest, SimulateShipmentResponse, SimulationResponse, VariantRequestProduct2_0, VariantRequestProductExperimental, WarehouseReceivingOrderBoxesResponse, WarehouseReceivingOrderRequest, WarehouseReceivingOrderResponse, Webhook } from './types';
|
|
2
2
|
export * from './types';
|
|
3
3
|
export * from './oAuth';
|
|
4
|
+
export * from './WebScraper';
|
|
4
5
|
export type Nullable<T> = T | null;
|
|
5
6
|
export type Credentials = {
|
|
6
7
|
token: string;
|
|
@@ -183,7 +184,7 @@ export declare const createShipBobApi: (token: string | undefined, apiBaseUrl?:
|
|
|
183
184
|
/**
|
|
184
185
|
* NOTE: should verify the response type matches the product 1.0 endpoint
|
|
185
186
|
*/
|
|
186
|
-
listInventory: (query
|
|
187
|
+
listInventory: (query?: Partial<ListInventoryQueryStrings>) => Promise<DataResponse<GetInventory1_0Result[]>>;
|
|
187
188
|
/**
|
|
188
189
|
* Only for sandbox: https://developer.shipbob.com/sandbox-simulations/
|
|
189
190
|
*/
|
package/dist/index.js
CHANGED
|
@@ -19,6 +19,7 @@ exports.createShipBobApi = void 0;
|
|
|
19
19
|
const node_url_1 = require("node:url"); // WHATWG
|
|
20
20
|
__exportStar(require("./types"), exports);
|
|
21
21
|
__exportStar(require("./oAuth"), exports);
|
|
22
|
+
__exportStar(require("./WebScraper"), exports);
|
|
22
23
|
// Products
|
|
23
24
|
const PATH_1_0_CHANNEL = '/1.0/channel';
|
|
24
25
|
const PATH_1_0_PRODUCT = '/1.0/product';
|
|
@@ -60,6 +61,7 @@ const DEFAULT_CHANNEL_APPLICATION_NAME = 'SMA';
|
|
|
60
61
|
*/
|
|
61
62
|
const createShipBobApi = async (token, apiBaseUrl = 'sandbox-api.shipbob.com', channelPredicateOrApplicationName = DEFAULT_CHANNEL_APPLICATION_NAME, options = {
|
|
62
63
|
logTraffic: false,
|
|
64
|
+
skipChannelLoad: false,
|
|
63
65
|
}) => {
|
|
64
66
|
if (token === undefined || token === '') {
|
|
65
67
|
throw new Error('Cannot create a ShipBob API without a PAT');
|
|
@@ -104,6 +106,7 @@ const createShipBobApi = async (token, apiBaseUrl = 'sandbox-api.shipbob.com', c
|
|
|
104
106
|
retryAfter,
|
|
105
107
|
};
|
|
106
108
|
const hasJsonContentHeader = (res) => {
|
|
109
|
+
// TODO: consider making this case-insensitive
|
|
107
110
|
const contentType = res.headers.has(CONTENT_TYPE) ? res.headers.get(CONTENT_TYPE) : null;
|
|
108
111
|
return (contentType &&
|
|
109
112
|
(contentType.startsWith('application/json') || contentType.startsWith('application/problem+json')));
|
|
@@ -145,6 +148,12 @@ const createShipBobApi = async (token, apiBaseUrl = 'sandbox-api.shipbob.com', c
|
|
|
145
148
|
if (credentials.channelId && apiConfiguration.sendChannelId !== false) {
|
|
146
149
|
headers['shipbob_channel_id'] = credentials.channelId.toString();
|
|
147
150
|
}
|
|
151
|
+
if (options.extraHeaders) {
|
|
152
|
+
for (const key of Object.keys(options.extraHeaders)) {
|
|
153
|
+
// these will be logged if they are configured
|
|
154
|
+
headers[key] = options.extraHeaders[key];
|
|
155
|
+
}
|
|
156
|
+
}
|
|
148
157
|
if (options.logTraffic === true) {
|
|
149
158
|
const headersToLog = Object.keys(headers).reduce((prev, cur) => {
|
|
150
159
|
prev.push(cur === 'Authorization' ? `${cur}:Bearer <redacted>` : `${cur}:${headers[cur]}`);
|
|
@@ -203,20 +212,25 @@ const createShipBobApi = async (token, apiBaseUrl = 'sandbox-api.shipbob.com', c
|
|
|
203
212
|
const res = await fetch(url.href, opts);
|
|
204
213
|
return getResult(res);
|
|
205
214
|
};
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
+
if (options.skipChannelLoad !== true) {
|
|
216
|
+
const channelsResponse = await httpGet(credentials, PATH_1_0_CHANNEL);
|
|
217
|
+
if (!channelsResponse.success) {
|
|
218
|
+
throw new Error(` > GET /1.0/channel -> ${channelsResponse.statusCode} '${channelsResponse.data}'`);
|
|
219
|
+
}
|
|
220
|
+
const selectedChannel = typeof channelPredicateOrApplicationName === 'string'
|
|
221
|
+
? channelsResponse.data.find((c) => c.application_name === channelPredicateOrApplicationName)
|
|
222
|
+
: channelPredicateOrApplicationName(channelsResponse.data);
|
|
223
|
+
if (selectedChannel === undefined) {
|
|
224
|
+
throw new Error(`Did not find channel. Available application names: {${channelsResponse.data.map((c) => c.application_name).join(',')}}`);
|
|
225
|
+
}
|
|
226
|
+
if (options.logTraffic) {
|
|
227
|
+
console.log(` > Found channel id: ${selectedChannel.id} with application name: '${selectedChannel.application_name}'`);
|
|
228
|
+
}
|
|
229
|
+
credentials.channelId = selectedChannel.id;
|
|
215
230
|
}
|
|
216
|
-
|
|
217
|
-
console.
|
|
231
|
+
else {
|
|
232
|
+
console.warn(' > channel load skipped. All requests will be sent without a channel id.');
|
|
218
233
|
}
|
|
219
|
-
credentials.channelId = selectedChannel.id;
|
|
220
234
|
return {
|
|
221
235
|
get sendingChannelIds() {
|
|
222
236
|
return apiConfiguration.sendChannelId;
|
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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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1263,8 +1263,9 @@ export type ListInventoryQueryStrings = {
|
|
|
1263
1263
|
* ShipBob recommends sending only 150/request
|
|
1264
1264
|
*
|
|
1265
1265
|
* NOTE: if you pass ie: 250 IDs then you will get 404s from shipbob.
|
|
1266
|
+
* NOTE: it's IDs in the documentation. Web UI sends "Ids", so probably case-insensitive
|
|
1266
1267
|
*/
|
|
1267
|
-
|
|
1268
|
+
Ids: number[];
|
|
1268
1269
|
/**
|
|
1269
1270
|
* Sort will default to ascending order for each field. To sort in descending order please pass a "-" in front of the field name. For example, Sort=-onHand,name will sort by onHand descending
|
|
1270
1271
|
*
|
|
@@ -1449,7 +1450,22 @@ export type CreateOptions = {
|
|
|
1449
1450
|
* Setup if the API sends the channel. You can alter/check this on the API object after API builder creation.
|
|
1450
1451
|
*/
|
|
1451
1452
|
sendChannelId?: boolean;
|
|
1453
|
+
/**
|
|
1454
|
+
* Set to `true` to skip checking channels on init and/or are missing "channels_read" scope.
|
|
1455
|
+
*
|
|
1456
|
+
* ie: If you scrape web.shipbob.com with a web login, it will not have access to `/channels/1.0`
|
|
1457
|
+
*/
|
|
1458
|
+
skipChannelLoad?: boolean;
|
|
1459
|
+
/**
|
|
1460
|
+
* Send these along with each request
|
|
1461
|
+
*
|
|
1462
|
+
* ie: You can send extra headers like User-Agent. This may be needed to bypass cloudflare.
|
|
1463
|
+
*/
|
|
1464
|
+
extraHeaders?: Record<string, string>;
|
|
1452
1465
|
};
|
|
1466
|
+
/**
|
|
1467
|
+
* NOTE: no `channels_read`, so you'll need to use "skipChannelLoad" when creating an API from this.
|
|
1468
|
+
*/
|
|
1453
1469
|
export type AuthScopesWeb = 'openid' | 'profile' | 'email' | 'read' | 'write' | 'offline_access' | 'inboundManagement_read' | 'fulfillments_read' | 'orders_read' | 'orders_write' | 'orderstateapi_read' | 'receiving_read' | 'receiving_write' | 'returns_read' | 'returns_write' | 'addressValidation' | 'labeling_read' | 'shipment_tracking_read' | 'labeling_write' | 'inventory_read' | 'inventory_write' | 'channels_read' | 'locations_read' | 'locations_write' | 'workOrders_read' | 'workOrders_write' | 'powerBIconfig_read' | 'products_read' | 'pricing_read' | 'fulfillment_customization_write' | 'fulfillment_customization_read' | 'cartbob_write' | 'cartbob_read' | 'onboarding_read' | 'onboarding_write' | 'inventoryallocation_read' | 'internal_integrations_read' | 'internal_integrations_write' | 'internal_fulfillments_write' | 'fba_read' | 'fba_write' | 'pricing_write' | 'token_management' | 'products_write' | 'b2bpacking_read' | 'b2bpacking_write' | 'membership_read' | 'membership_write' | 'useraccounts_read' | 'useraccounts_write' | 'shippingservice_read' | 'inventory_views_read' | 'inventory_views_write';
|
|
1454
1470
|
/**
|
|
1455
1471
|
* These are the scopes granted by generated OAuth clients
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AA+lCA,IAAY,oBAWX;AAXD,WAAY,oBAAoB;IAC9B,wBAAwB;IACxB,qFAAqB,CAAA;IACrB,qEAAW,CAAA;IACX,6EAAiB,CAAA;IACjB,iGAA2B,CAAA;IAC3B,qEAAa,CAAA;IACb,yEAAe,CAAA;IACf,2EAAgB,CAAA;IAChB,uLAAsE,CAAA;IACtE,iGAA2B,CAAA;AAC7B,CAAC,EAXW,oBAAoB,oCAApB,oBAAoB,QAW/B;AAED,IAAY,iBAWX;AAXD,WAAY,iBAAiB;IAC3B,uDAAS,CAAA;IACT,2EAAmB,CAAA;IACnB,uEAAiB,CAAA;IACjB,cAAc;IACd,uEAAiB,CAAA;IACjB,qEAAgB,CAAA;IAChB,iEAAc,CAAA;IACd,2FAA2B,CAAA;IAC3B,yFAA0B,CAAA;IAC1B,sFAAyB,CAAA;AAC3B,CAAC,EAXW,iBAAiB,iCAAjB,iBAAiB,QAW5B;AAED;;;;GAIG;AACH,IAAY,YAaX;AAbD,WAAY,YAAY;IACtB;;OAEG;IACH,qDAAW,CAAA;IACX;;OAEG;IACH,2DAAc,CAAA;IACd;;OAEG;IACH,qDAAW,CAAA;AACb,CAAC,EAbW,YAAY,4BAAZ,YAAY,QAavB;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AA+lCA,IAAY,oBAWX;AAXD,WAAY,oBAAoB;IAC9B,wBAAwB;IACxB,qFAAqB,CAAA;IACrB,qEAAW,CAAA;IACX,6EAAiB,CAAA;IACjB,iGAA2B,CAAA;IAC3B,qEAAa,CAAA;IACb,yEAAe,CAAA;IACf,2EAAgB,CAAA;IAChB,uLAAsE,CAAA;IACtE,iGAA2B,CAAA;AAC7B,CAAC,EAXW,oBAAoB,oCAApB,oBAAoB,QAW/B;AAED,IAAY,iBAWX;AAXD,WAAY,iBAAiB;IAC3B,uDAAS,CAAA;IACT,2EAAmB,CAAA;IACnB,uEAAiB,CAAA;IACjB,cAAc;IACd,uEAAiB,CAAA;IACjB,qEAAgB,CAAA;IAChB,iEAAc,CAAA;IACd,2FAA2B,CAAA;IAC3B,yFAA0B,CAAA;IAC1B,sFAAyB,CAAA;AAC3B,CAAC,EAXW,iBAAiB,iCAAjB,iBAAiB,QAW5B;AAED;;;;GAIG;AACH,IAAY,YAaX;AAbD,WAAY,YAAY;IACtB;;OAEG;IACH,qDAAW,CAAA;IACX;;OAEG;IACH,2DAAc,CAAA;IACd;;OAEG;IACH,qDAAW,CAAA;AACb,CAAC,EAbW,YAAY,4BAAZ,YAAY,QAavB;AAmUD;;;;GAIG;AACH,IAAY,YA8BX;AA9BD,WAAY,YAAY;IACtB;;;;OAIG;IACH,8CAA8B,CAAA;IAC9B;;;OAGG;IACH,wDAAwC,CAAA;IACxC;;;;OAIG;IACH,wDAAwC,CAAA;IACxC;;;;OAIG;IACH,kDAAkC,CAAA;IAClC;;;;OAIG;IACH,wDAAwC,CAAA;AAC1C,CAAC,EA9BW,YAAY,4BAAZ,YAAY,QA8BvB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "shipbob-node-sdk",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.11",
|
|
4
4
|
"description": "ShipBob API node SDK",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
"eslint": "^9.20.1",
|
|
25
25
|
"mocha": "^11.1.0",
|
|
26
26
|
"prettier": "^3.5.1",
|
|
27
|
+
"puppeteer": "^24.5.0",
|
|
27
28
|
"rimraf": "^6.0.1",
|
|
28
29
|
"tsx": "^4.19.3",
|
|
29
30
|
"typescript": "^5.7.3",
|