Use this to get started
shipbob_channel_id
within the request header to successfully create an order. To find which channel you have write access to, you can call the GET Channel endpoint to view a list of permissions you have access to under each channel. You will only have write access for one channel (your own integration channel), but you typically will have the ability to read data across other channels.
x1 Blue Shirt - SKU = 123123x1 Red Shirt - SKU = 234234x1 Hat - SKU = 345345The bundle itself also has its own SKU, such as BUNDLE123. There are two primary options for handling bundles via ShipBob API.
shipbob_channel_id
header parameter. It is advised to pass this parameter for the channel you have write access to, so you only retrieve order and shipment details from orders that were created from your integration. Excluding the channel id will be a global search across all channels for the Merchant, which has the possibility to retrieve order details from other sources/integrations a merchant has installed that you may not need.
If your platform supports split orders/shipments, you will need to refer to the multiple shipment objects returned in the API response in the event that an order has been split.
Within the order response, you will see an array of shipments (please refer to the sample response in the documentation linked above). An order can have a one-to-many relationship to shipments if the order has been split. Each shipment associated with an order will have a unique tracking number and will detail which products have been packed and shipped as part of that individual shipment.
Each shipment will also have a status. When a shipment has tracking details, the shipment status will be “LabeledCreated”. This status will quickly move to “Completed”. If you have a use-case that requires you to look at specific ShipBob statuses, it is recommended to use both statuses when checking for tracking details from ShipBob.
To see more detail on other statuses you may encounter, please refer to our documentation here.
Error Code | Meaning | Solution | |
---|---|---|---|
400 Bad Request | Missing required field | Ensure all required fields are included | |
401 Unauthorized | Invalid API token | Verify authentication headers | |
404 Not Found | Invalid endpoint or ID | Check endpoint and request parameters | |
429 Too Many Requests | Rate limit exceeded | Implement exponential backoff retries |