Reference · built on requestConnectorShipping & logistics

ShipBob

Orders, shipments, inventory by fulfillment center, receiving orders, returns, and webhooks from the ShipBob API.

About

ShipBob is a third-party logistics network with its own fulfillment centers. Its API takes orders from your channel, splits them into shipments, and reports each shipment's status, carrier, tracking_number, and the estimated_fulfillment_date ShipBob committed to. Inventory is counted per component, not per bundle, and broken down by fulfillment center. A warehouse receiving order announces inbound stock by box or pallet, and a return records what is coming back and whether to restock, quarantine, or dispose of it. Webhooks cover shipping, tracking, delivery, exceptions, holds, returns, receiving, and billing.

An operator on Fibric watches for the shipment that stalls in OnHold or Exception and proposes the fix, the cancellation, or the customer message.

This is a reference listing. It documents what Fibric would read from ShipBob and what it could propose, based on the vendor's published interfaces. Fibric builds it under a managed deployment when you request it; selecting it here installs nothing.

Inputs

  • Orders with status Processing, Exception, PartiallyFulfilled, Fulfilled, Cancelled, or ImportReview, filtered by HasTracking or LastUpdateStartDate
  • Shipments with status Processing, Completed, Exception, OnHold, Cancelled, LabeledCreated, or CleanSweeped, plus status_details and location
  • Tracking per shipment: carrier, tracking_number, tracking_url, estimated_fulfillment_date, and actual_fulfillment_date
  • Inventory levels per inventory_id, tracked at the component level and broken down by fulfillment center
  • Warehouse receiving orders with status Awaiting, PartiallyArrived, Arrived, Processing, Completed, or Cancelled
  • Returns with status AwaitingArrival, Arrived, Processing, Completed, or Cancelled and the requested_action per item
  • Webhooks such as order.shipped, order.shipment.tracking.updated, order.shipment.exception, order.shipment.on_hold, return.completed, and wro.box.arrived

Proposed actions

  • Target capability: propose an order through POST /2026-07/order with reference_id, recipient, products by SKU, and shipping_method
  • Target capability: propose cancelling an order and its shipments through POST /2026-07/order/{orderId}:cancel and record each shipment's result
  • Target capability: propose a return through POST /2026-07/return with the fulfillment_center and a requested_action of Restock, Quarantine, Dispose, or Default
  • Target capability: propose a warehouse receiving order through POST /2026-07/receiving with boxes, tracking numbers, and an expected_arrival_date

Proposed actions are target capabilities. Every action runs propose-first and needs a validated deployment and the appropriate permissions.

What you can build

  • Catch the shipment on hold

    Subscribe to order.shipment.on_hold and order.shipment.exception. Read status_details, match the order, and propose the address fix or the customer note before the estimated_fulfillment_date passes.

    With Carrier Exception, Address Repair

  • Cancel before the pick

    When a customer cancels inside your window, propose the order cancel call and show the per-shipment results before the refund is confirmed.

    With Cancellation Window

  • Announce inbound stock and watch it land

    Draft the warehouse receiving order from the purchase order, then follow wro.box.arrived and wro.completed to flag the box that never scans.

    With Inbound Delay, Receipt Variance

  • Restock or quarantine on arrival

    Create the return with the requested_action your policy dictates and follow return.completed to close the ticket.

    With Return Restock

Requirements

  • A ShipBob merchant account and a channel id, read from the channel endpoint before any other call
  • A Personal Access Token, or OAuth 2.0 scopes such as orders_read, orders_write, inventory_read, and fulfillments_read
  • Requests against the versioned path, 2026-07 at the time of writing, on api.shipbob.com or sandbox-api.shipbob.com
  • Products created in ShipBob first, since each one gets the inventory_id that orders and receiving reference
Authentication
A Bearer token: a Personal Access Token generated under Integrations > API Tokens in the ShipBob dashboard, or OAuth 2.0 with PKCE for multi-user apps; every request also sends a shipbob_channel_id header.

Limits

  • 150 requests per minute per user per application in a sliding window; excess returns 429 with x-retry-after and x-remaining-calls
  • A receiving order's expected_arrival_date must be tomorrow or later, and it can be cancelled only while Awaiting
  • Inventory ids can change when products are merged, so reconcile them regularly
  • An order cancel is refused unless the order is in a cancellable state; results come back per shipment as Success, Failure, or PartialSuccess

Access and pricing

Reference listing. Fibric builds the connector under a managed deployment when you request it. Your quote covers the build, capabilities, usage, and support.

Request ShipBob ↗

Questions and answers

How does ShipBob sign webhooks?
Each delivery carries webhook-id, webhook-timestamp, and webhook-signature headers plus x-webhook-topic. The signature is an HMAC-SHA256 over the id, timestamp, and payload joined by full stops, keyed with your base64-decoded signing secret. Failed deliveries retry immediately, then at 5 seconds, 5 minutes, 30 minutes, 2 hours, 5 hours, and 10 hours twice.
What does a shipment status of OnHold mean?
The shipment is on hold for missing information and will not move until it is fixed; ShipBob raises order.shipment.on_hold when it happens. Exception marks a shipment that moved to exception status, and status_details on the shipment explains why.
Is there a sandbox?
Yes. Sandbox tokens are generated in the sandbox dashboard and calls go to sandbox-api.shipbob.com, including the channel endpoint for the shipbob_channel_id header. Production calls go to api.shipbob.com under the same versioned paths.
Ask about ShipBob

Ask about the capabilities and requirements in this listing.

For project-specific requirements, contact Fibric.