ShipBob Component
Shipbob offers an end to end fulfillment services for Ecommerce vendors.
Component key: shipbob
Description
Shipbob offers an end to end fulfillment services for Ecommerce vendors.
Use the Shipbob component to manage orders, shipments, labels, and more.
Connections
ShipBob Personal Access Token
If you're building a single-user custom integration, you can use the Personal Access Token (PAT) method. This generates a ready-to-use bearer-type token with full access to the merchant's account.
You can generate credentials from the ShipBob dashboard.
For Production Environment, click here. For Sandbox Environment, click here.
When you request your first PAT, ShipBob automatically generates an application (called "SMA" or single-merchant application) and channel to house all your future PATs. You can request as many as you like, and revoke them at any time.
NOTE: These tokens do not expire, so be extremely cautious when sharing them.
Your PAT should automatically have read and write access to the entire ShipBob account.
To use your PAT, just provide the token as an Authorization header formatted like this:
bearer [your_api_token]
First you should use your PAT to hit the GET Channel endpoint, so you can use your channel ID in the headers of subsequent API calls. Your response will look like this:
| Input | Notes | Example |
|---|---|---|
| Personal Access Token | Log in to https://web.shipbob.com/app/merchant/#/Integrations/token-management to fetch a personal access token for development purposes |
Triggers
Webhook
Receive and validate webhook requests from ShipBob for webhooks you configure. | key: webhook
Event Topic Subscription
Get notified when a specific event occurs | key: eventTopicSubscription
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Overwrite Webhook Settings | True to delete existing webhook settings pointing to this flow's URL and create new ones | false |
| Topics to Subscribe | Topics to subscribe to | |
| Version | The version of the ShipBob API to use | 1.0 |
Data Sources
Fetch Fulfillment Centers
Fetch an array of Fulfillment Centers | key: fulfillmentCenters | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Version | The version of the ShipBob API to use | 1.0 |
{
"result": [
{
"label": "Cicero (IL)",
"key": "0"
},
{
"label": "5900 W Ogden Ave Suite 100 / USA, IL, Cicero",
"key": "47012"
}
]
}
Fetch Inventory
Fetch an array of Inventories | key: inventory | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Version | The version of the ShipBob API to use | 1.0 |
{
"result": [
{
"label": "TShirtBlueM",
"key": "0"
},
{
"label": "Medium Blue T-Shirt",
"key": "47012"
}
]
}
Fetch Locations
Fetch an array of locations | key: locations | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Version | The version of the ShipBob API to use | 1.0 |
{
"result": [
{
"label": "Cicero (IL)",
"key": "0"
},
{
"label": "Other",
"key": "47012"
}
]
}
Fetch Products
Fetch an array of Products | key: products | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Version | The version of the ShipBob API to use | 1.0 |
{
"result": [
{
"label": "TShirtBlueM",
"key": "0"
},
{
"label": "Other",
"key": "47012"
}
]
}
Actions
Cancel Order
Cancel an existing Order by Order ID | key: cancelOrder
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Order ID | The order ID to retrieve | |
| ShipBob Channel ID | Channel Id for Operation | |
| Version | The version of the ShipBob API to use | 1.0 |
Cancel Shipments
Cancel multiple Shipments by Shipment ID | key: cancelShipment
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| ShipBob Channel ID | Channel Id for Operation | |
| Shipment IDs | Shipment IDs to cancel | 000xxx |
| Version | The version of the ShipBob API to use | 1.0 |
Cancel Warehouse Receiving Order
Cancels a Warehouse Receiving Order by Order ID | key: cancelWarehouseReceivingOrder
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Receiving ID | Id of the receiving order | |
| Version | The version of the ShipBob API to use | 2.0 |
Create Order
Create a new Order | key: createOrder
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Financials | Sum of all line item prices, discounts, and taxes in USD | |
| Gift Message | Gift message associated with the order | |
| Location ID | Desired Fulfillment Center Location ID. If not specified, ShipBob will determine the location that fulfills this order. | |
| Order Number | User friendly orderId or store order number that will be shown on the Orders Page. If not provided, referenceId will be used | |
| Products | Products included in the order. Products identified by reference_id must also include the product name if there is no matching ShipBob product. | |
| Purchase Date | Date this order was purchase by the end user | |
| Recipient | Information about the recipient of an order | |
| Reference ID | Unique and immutable order identifier from your upstream system | |
| Retailer Program Data | Contains shipping properties that need to be used for fulfilling an order. | |
| ShipBob Channel ID | Channel Id for Operation | |
| Shipping Method | Client-defined shipping method matching what the user has listed as the shipping method on the Ship Option Mapping setup page in the ShipBob Merchant Portal. If they don’t match, we will create a new one and default it to Standard | |
| Shipping Terms | Contains shipping properties that need to be used for fulfilling an order. | |
| Tags | Key value pair array to store extra information at the order level for API purposes. ShipBob won't display the info in the ShipBob Merchant Portal or react based on this data. | |
| Type | Defaults to Direct to Consumer (DTC) if not provided. Note: B2B is not supported at this time. One of DTC, B2B, DropShip | |
| Version | The version of the ShipBob API to use | 1.0 |
Create Warehouse Receiving Order
Create a new Warehouse Receiving Order | key: createWarehouseReceivingOrder
| Input | Notes | Example |
|---|---|---|
| Box Packaging Type | ||
| Boxes | Box shipments to be added to this receiving order | |
| Connection | ||
| Expected Arrival Date | Expected arrival date of all the box shipments in this receiving order | |
| Fulfillment Center | Model containing information that assigns a receiving order to a fulfillment center. If the fulfillment center provided is in a receiving hub region, then the response will be the receiving hub location. | |
| Package Type | ||
| Purchase Order Number | Purchase order number for this receiving order | |
| Version | The version of the ShipBob API to use | 2.0 |
Create Webhook
Creates a new Webhook | key: createWebhook
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| ShipBob Channel ID | Channel Id for Operation | |
| Subscription URL | URL we will call when an event matching the subscription topic is raised. Must have ssl enabled (https) and accept POST requests with content type of application/json | |
| Topic | Topic of the webhooks requested | |
| Version | The version of the ShipBob API to use | 1.0 |
Delete All Instanced Webhooks
Delete all webhooks that point to a flow in this instance | key: deleteAllWebhooks
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Version | The version of the ShipBob API to use | 1.0 |
Delete Webhook
Delete a Webhook by Webhook ID | key: deleteWebhook
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Version | The version of the ShipBob API to use | 1.0 |
| Webhook ID | Id of the webhook |
Get a list of Inventory Items by Product ID
Retrieve a list of Inventory Items by their Product ID | key: listByProductId
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Product ID | The product ID to retrieve | |
| ShipBob Channel ID | Channel Id for Operation | |
| Version | The version of the ShipBob API to use | 1.0 |
{
"data": [
{
"inventoryId": 0,
"name": "Medium Blue T-Shirt",
"isDigital": true,
"isCasePick": true,
"isLot": true,
"dimensions": {
"weight": 0,
"length": 0,
"width": 0,
"depth": 0
},
"totalFulfillableQuantity": 0,
"totalOnHandQuantity": 0,
"totalCommitedQuantity": 0,
"totalSellableQuantity": 0,
"totalAwaitingQuantity": 0,
"totalExceptionQuantity": 0,
"totalInternalTransferQuantity": 0,
"totalBackorderedQuantity": 0,
"isActive": true,
"fulfillableQuantityByFulfillmentCenter": [
{
"fulfillmentCenterId": 0,
"name": "Cicero",
"fulfillableQuantity": 0,
"onHandQuantity": 0,
"committedQuantity": 0,
"awaitingQuantity": 0,
"internalTransferQuantity": 0
}
],
"fulfillableQuantityByLot": [
{
"lotNumber": "1234",
"expirationDate": "2019-08-24T14:15:22Z",
"fulfillableQuantity": 0,
"onHandQuantity": 0,
"committedQuantity": 0,
"awaitingQuantity": 0,
"internalTransferQuantity": 0,
"fulfillableQuantityByFulfillmentCenter": [
{
"fulfillmentCenterId": 0,
"name": "Cicero",
"fulfillableQuantity": 0,
"onHandQuantity": 0,
"committedQuantity": 0,
"awaitingQuantity": 0,
"internalTransferQuantity": 0
}
]
}
],
"packagingAttribute": "None"
}
]
}
Get All Shipments for Order
Retrieve all Shipments on an Order by Order ID | key: getAllShipmentsForOrder
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Order ID | The order ID to retrieve | |
| ShipBob Channel ID | Channel Id for Operation | |
| Version | The version of the ShipBob API to use | 1.0 |
Get Inventory Item
Get single inventory item by Inventory ID | key: getInventoryItem
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Inventory ID | The inventory ID to retrieve | |
| ShipBob Channel ID | Channel Id for Operation | |
| Version | The version of the ShipBob API to use | 1.0 |
{
"data": {
"inventoryId": 0,
"name": "Medium Blue T-Shirt",
"isDigital": true,
"isCasePick": true,
"isLot": true,
"dimensions": {
"weight": 0,
"length": 0,
"width": 0,
"depth": 0
},
"totalFulfillableQuantity": 0,
"totalOnHandQuantity": 0,
"totalCommitedQuantity": 0,
"totalSellableQuantity": 0,
"totalAwaitingQuantity": 0,
"totalExceptionQuantity": 0,
"totalInternalTransferQuantity": 0,
"totalBackorderedQuantity": 0,
"isActive": true,
"fulfillableQuantityByFulfillmentCenter": [
{
"fulfillmentCenterId": 0,
"name": "Cicero",
"fulfillableQuantity": 0,
"onHandQuantity": 0,
"committedQuantity": 0,
"awaitingQuantity": 0,
"internalTransferQuantity": 0
}
],
"fulfillableQuantityByLot": [
{
"lotNumber": "1234",
"expirationDate": "2019-08-24T14:15:22Z",
"fulfillableQuantity": 0,
"onHandQuantity": 0,
"committedQuantity": 0,
"awaitingQuantity": 0,
"internalTransferQuantity": 0,
"fulfillableQuantityByFulfillmentCenter": [
{
"fulfillmentCenterId": 0,
"name": "Cicero",
"fulfillableQuantity": 0,
"onHandQuantity": 0,
"committedQuantity": 0,
"awaitingQuantity": 0,
"internalTransferQuantity": 0
}
]
}
],
"packagingAttribute": "None"
}
}
Get Logs for Shipment
Retrieve logs for a Shipment by Shipment ID | key: getLogsShipment
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| ShipBob Channel ID | Channel Id for Operation | |
| Shipment ID | The shipment ID to retrieve | |
| Version | The version of the ShipBob API to use | 1.0 |
Get Multiple Products
Retrieve a list of several Products | key: listProduct
| Input | Notes | Example |
|---|---|---|
| Active Status | ||
| Bundle Status | ||
| Connection | ||
| Order IDs | Comma separated list of product ids to filter by | |
| Limit | Amount of orders per page to request | |
| Page | Page of orders to get | |
| Reference IDs | Reference ids to filter by, comma separated | |
| Search | Search is available for 2 fields of the inventory record related to the product: Inventory ID and Name | |
| ShipBob Channel ID | Channel Id for Operation | |
| Version | The version of the ShipBob API to use | 1.0 |
{
"data": [
{
"id": 0,
"reference_id": "TShirtBlueM",
"bundle_root_information": {},
"created_date": "2019-08-24T14:15:22Z",
"channel": {},
"sku": "TShirtBlueM",
"name": "Medium Blue T-Shirt",
"barcode": "123456789012",
"gtin": "012345678905",
"upc": "012345678912",
"unit_price": 20.32,
"total_fulfillable_quantity": 0,
"total_onhand_quantity": 0,
"total_committed_quantity": 0,
"fulfillable_inventory_items": [],
"fulfillable_quantity_by_fulfillment_center": []
}
]
}
Get Order
Retrieve an order by Order ID | key: getOrder
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Order ID | The order ID to retrieve | |
| ShipBob Channel ID | Channel Id for Operation | |
| Version | The version of the ShipBob API to use | 1.0 |
Get Shipment
Retrieve a Shipment by Shipment ID | key: getShipment
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| ShipBob Channel ID | Channel Id for Operation | |
| Shipment ID | The shipment ID to retrieve | |
| Version | The version of the ShipBob API to use | 1.0 |
Get Single Product
Retrieve a single product by Product ID | key: getProduct
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Product ID | The product ID to retrieve | |
| ShipBob Channel ID | Channel Id for Operation | |
| Version | The version of the ShipBob API to use | 1.0 |
{
"data": {
"id": 0,
"reference_id": "TShirtBlueM",
"bundle_root_information": {
"id": 0,
"name": "string"
},
"created_date": "2019-08-24T14:15:22Z",
"channel": {
"id": 0,
"name": "House of Slippers"
},
"sku": "TShirtBlueM",
"name": "Medium Blue T-Shirt",
"barcode": "123456789012",
"gtin": "012345678905",
"upc": "012345678912",
"unit_price": 20.32,
"total_fulfillable_quantity": 0,
"total_onhand_quantity": 0,
"total_committed_quantity": 0,
"fulfillable_inventory_items": [
{}
],
"fulfillable_quantity_by_fulfillment_center": [
{}
]
}
}
Get Warehouse Receiving Order Box Labels
Retrieves Receiving Order Box Labels by Order ID | key: getWarehouseReceivingOrderBoxLabels
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Receiving ID | Id of the receiving order | |
| Version | The version of the ShipBob API to use | 2.0 |
Get Warehouse Receiving Orders
Receive a Warehouse Receiving Order by ID | key: getWarehouseReceivingOrders
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Receiving ID | Id of the receiving order | |
| Version | The version of the ShipBob API to use | 2.0 |
List Channels
List user-authorized channels info | key: listChannels
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Version | The version of the ShipBob API to use | 1.0 |
List Fulfillment Centers
Retrieves a list of Fulfillment Centers | key: listFulfillmentCenters
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Version | The version of the ShipBob API to use | 1.0 |
List Inventory Items
Retrieve a list of Inventory Items | key: listInventoryItems
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Order IDs | Order ids to filter by, comma separated | |
| IsActive | Whether the inventory should be active or not | false |
| IsDigital | Whether the inventory is digital or not | false |
| Limit | Amount of orders per page to request | |
| Location Type | LocationType is valid for hub, spoke, or lts. LocationType will default to all locations. | |
| Page | Page of orders to get | |
| Search | Search is available for 2 fields of the inventory record related to the product: Inventory ID and Name | |
| ShipBob Channel ID | Channel Id for Operation | |
| Sort | 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 | |
| Version | The version of the ShipBob API to use | 1.0 |
{
"data": [
{
"inventoryId": 0,
"name": "Medium Blue T-Shirt",
"isDigital": true,
"isCasePick": true,
"isLot": true,
"dimensions": {
"weight": 0,
"length": 0,
"width": 0,
"depth": 0
},
"totalFulfillableQuantity": 0,
"totalOnHandQuantity": 0,
"totalCommitedQuantity": 0,
"totalSellableQuantity": 0,
"totalAwaitingQuantity": 0,
"totalExceptionQuantity": 0,
"totalInternalTransferQuantity": 0,
"totalBackorderedQuantity": 0,
"isActive": true,
"fulfillableQuantityByFulfillmentCenter": [
{
"fulfillmentCenterId": 0,
"name": "Cicero",
"fulfillableQuantity": 0,
"onHandQuantity": 0,
"committedQuantity": 0,
"awaitingQuantity": 0,
"internalTransferQuantity": 0
}
],
"fulfillableQuantityByLot": [
{
"lotNumber": "1234",
"expirationDate": "2019-08-24T14:15:22Z",
"fulfillableQuantity": 0,
"onHandQuantity": 0,
"committedQuantity": 0,
"awaitingQuantity": 0,
"internalTransferQuantity": 0,
"fulfillableQuantityByFulfillmentCenter": [
{
"fulfillmentCenterId": 0,
"name": "Cicero",
"fulfillableQuantity": 0,
"onHandQuantity": 0,
"committedQuantity": 0,
"awaitingQuantity": 0,
"internalTransferQuantity": 0
}
]
}
],
"packagingAttribute": "None"
}
]
}
List Locations
Receives a list of the physical locations across a fulfillment network | key: listLocations
| Input | Notes | Example |
|---|---|---|
| Access Granted | Return all the access granted locations | false |
| Connection | ||
| Include Inactive | Whether the inactive locations should be included or not | false |
| Receiving Enabled | Return all the receiving enabled locations | false |
| Version | The version of the ShipBob API to use | 1.0 |
List Orders
Retrieve all Orders | key: listOrders
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Delivery En Date | End date to filter orders with delivery date earlier than the supplied date. Will only return orders that have tracking information | |
| Delivery Start Date | Start date to filter orders with delivery date later than the supplied date. Will only return orders that have tracking information | |
| End Date | End date to filter orders inserted earlier than | |
| Fulfillment End Date | End date to filter orders fulfillment date later than the supplied date. Will only return orders that have tracking information | |
| Fulfillment Start Date | Start date to filter orders with fulfillment date later than the supplied date. Will only return orders that have tracking information | |
| Has Tracking | Has any portion of this order been assigned a tracking number | false |
| Order IDs | Order ids to filter by, comma separated | |
| Is Tracking Uploaded | Filter orders that their tracking information was fully uploaded | false |
| Last Tracking Update End Date | End date to filter orders updated later than the supplied date. Will only return orders that have tracking information | |
| Last Tracking Update Start Date | Start date to filter orders with tracking updates later than the supplied date. Will only return orders that have tracking information | |
| Last Update End Date | End date to filter orders updated earlier than | |
| Last Update Start Date | Start date to filter orders updated later than | |
| Limit | Amount of orders per page to request | |
| Page | Page of orders to get | |
| Reference IDs | Reference ids to filter by, comma separated | |
| ShipBob Channel ID | Channel Id for Operation | |
| Sort Order | Order to sort results in. One Of Newest, Oldest | |
| Start Date | Start date to filter orders inserted later than | |
| Version | The version of the ShipBob API to use | 1.0 |
List Warehouse Receiving Orders
Retrieve all Warehouse Receiving Orders | key: listWarehouseReceivingOrders
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Fulfillment Center IDs | Comma separated list of WRO fulfillment center IDs to filter by | 000xxx |
| Order IDs | Order ids to filter by, comma separated | |
| Insert End Date | Latest date that a WRO was created | |
| Insert Start Date | Earliest date that a WRO was created | |
| Limit | Number of WROs per page to request | |
| Page | Page of WROs to get | |
| Purchase Order Numbers | Comma separated list of WRO PO numbers to filter by | 000xxx |
| Statuses | Items Enum: 'Awaiting' 'Processing' 'Completed' 'Cancelled' 'Incomplete' 'Arrived' 'PartiallyArrived' Comma separated list of WRO statuses to filter by | 000xxx |
| Version | The version of the ShipBob API to use | 2.0 |
List Webhooks
Get a list of active Webhooks | key: listWebhooks
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Limit | Amount of Webhooks per page to request | |
| Page | Page of Webhooks to get | |
| Topic | Topic of the webhooks requested | |
| Version | The version of the ShipBob API to use | 1.0 |
Raw Request
Send raw HTTP request to ShipBob | key: rawRequest
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Data | The HTTP body payload to send to the URL. | {"exampleKey": "Example Data"} |
| Debug Request | Enabling this flag will log out the current request. | false |
| File Data | File Data to be sent as a multipart form upload. | [{key: "example.txt", value: "My File Contents"}] |
| File Data File Names | File names to apply to the file data inputs. Keys must match the file data keys above. | |
| Form Data | The Form Data to be sent as a multipart form upload. | [{"key": "Example Key", "value": new Buffer("Hello World")}] |
| Header | A list of headers to send with the request. | User-Agent: curl/7.64.1 |
| Max Retry Count | The maximum number of retries to attempt. Specify 0 for no retries. | 0 |
| Method | The HTTP method to use. | |
| Query Parameter | A list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2. | |
| Response Type | The type of data you expect in the response. You can request json, text, or binary data. | json |
| Retry On All Errors | If true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors. | false |
| Retry Delay (ms) | The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled. | 0 |
| Timeout | The maximum time that a client will await a response to its request | 2000 |
| URL | This is the URL to call. | Input the path only (/orders), The base URL is already included (https://api.shipbob.com/1.0). For example, to connect to https://api.shipbob.com/1.0/orders, only /orders is entered in this field. e.g. /orders |
| Use Exponential Backoff | Specifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored. | false |
| Version | The version of the ShipBob API to use | 1.0 |
Update Product
Update information on a single Product | key: updateProduct
| Input | Notes | Example |
|---|---|---|
| Barcode | Barcode for the product | |
| Connection | ||
| GTIN | Global Trade Item Number - unique and internationally recognized identifier assigned to item by company GS1. | |
| Name | The name of the product | |
| Product ID | The product ID to retrieve | |
| ShipBob Channel ID | Channel Id for Operation | |
| Sku | The stock keeping unit of the product | |
| Unit Price | The price of one unit | |
| UPC | Universal Product Code - Unique external identifier | |
| Version | The version of the ShipBob API to use | 1.0 |
{
"data": {
"id": 0,
"reference_id": "TShirtBlueM",
"bundle_root_information": {
"id": 0,
"name": "string"
},
"created_date": "2019-08-24T14:15:22Z",
"channel": {
"id": 0,
"name": "House of Slippers"
},
"sku": "TShirtBlueM",
"name": "Medium Blue T-Shirt",
"barcode": "123456789012",
"gtin": "012345678905",
"upc": "012345678912",
"unit_price": 20.32,
"total_fulfillable_quantity": 0,
"total_onhand_quantity": 0,
"total_committed_quantity": 0,
"fulfillable_inventory_items": [
{}
],
"fulfillable_quantity_by_fulfillment_center": [
{}
]
}
}