Sandbox Simulations

View as Markdown

ShipBob’s Simulation Terminal is now available in all sandbox accounts. It lets you simulate the full lifecycle of ShipBob operations — fulfillment, receiving, and inventory adjustments — directly from the merchant dashboard, without needing real warehouse activity.

This is the fastest way to test your integration end-to-end and build confidence before going live.

Simulation Terminal on the Orders page


Before You Start

Make sure the following conditions are met before running a simulation.

  • Packaging Preferences: Set via API or in Merchant App → Products → [Your Product] → Packaging Preferences.
  • Customs Info: Required if testing international shipments (set under Customs Information).
  • Shipment Status: Must not be On-Hold, Exception, or Cancelled.
  • Test Payment Method: Add a dummy card in Dashboard → Payment Details using 4111 1111 1111 1111, any name, email, expiration, and CVC.
  • FC Access: Your account must have access to the spoke FC location where the WRO will be received.
  • Bin Stock: Inventory must be present on a bin in the FC allocated to your account.

Accessing the Simulation Terminal

The Simulation Terminal is embedded at the bottom of the Orders and Warehouse Receiving Orders page in your sandbox account here.

  1. Log in to your sandbox account.
  2. Look for the Simulations bar pinned to the bottom of the screen.
  3. Click it to expand, or toggle it with Ctrl + M.
The terminal shows “Connected” when it’s active and ready to accept commands.

Available Commands

CommandDescription
help [command]List all commands, or describe a specific one
listDisplay available workflows
<workflowId>Start a workflow interactively
<workflowId> --from <stage> --to <stage>Run a specific stage range
status [runId]Show the current state of a run, or the active run if no ID is provided
cancel [runId]Cancel a running workflow, or the active run if no ID is provided
clearClear the terminal output

Available Workflows

Run list in the terminal to see all workflows available in your sandbox:

$ list
Found 3 workflow(s):
[1] receive-wro — 5 stage(s), 1 input field(s)
[2] fulfill-order — 5 stage(s), 1 input field(s)
[3] adjust-inventory — 2 stage(s), 1 input field(s)
WorkflowStagesDescription
receive-wro5Simulates a warehouse receiving order (WRO) being processed
fulfill-order5Simulates the complete fulfillment lifecycle for a shipment
adjust-inventory2Simulates an inventory quantity adjustment

Tutorial: Simulating Order Fulfillment

The fulfill-order workflow is the most commonly used simulation. It walks a shipment through every stage of the fulfillment pipeline — from picking to delivery — so you can test webhook handlers, polling logic, and UI state transitions without touching real inventory.

Step 1: Get a Shipment ID

From the Orders page in your sandbox, find a shipment in Awaiting Pick status and copy its Shipment ID (e.g., 106675083).

Step 2: Start the workflow

In the Simulation Terminal, type:

$ fulfill-order

When prompted, enter the Shipment ID:

Workflow: Fulfill Order — Complete order fulfillment lifecycle
Enter Shipment ID: 106675083

Step 3: Choose stages to run

The workflow will display all available stages:

Available stages:
1. Picked — Start pick, fetch pick lines, and perform picks
2. Packed — Complete packing
3. Shipped — Generate label, print, and validate
4. InTransit — Update tracking status to InTransit
5. Delivered — Update tracking status to Delivered
Enter start stage number (1-5), or press Enter to run all:
  • Press Enter to run the full workflow from start to finish.
  • To run a specific stage range, use the --from and --to flags instead:
$ fulfill-order --from 2 --to 4

Step 4: Watch real-time progress

The terminal streams live progress as the workflow runs:

[ 0%] Fulfill Order - Starting...
[ 0%] Fulfill Order - Picked
→ Fetch Shipment Details ✓ (0.08s)
→ Start Shipment Pick ✓ (4.89s)
→ Get Shipment Pick ✓ (1.10s)
→ Pick Lines ✓ (2.53s)
✓ Picked (8.61s)
[25%] Fulfill Order - Packed
→ Fetch Shipment Details ✓ (0.09s)
→ Complete Packing ✓ (0.55s)
✓ Packed (2.95s)
[38%] Fulfill Order - Shipped
→ Fetch Shipment Details ✓ (0.04s)
→ Generate Label ✓ (9.49s)
→ Print Label ✓ (0.12s)
→ Label Validated ✓ (0.09s)
✓ Shipped (9.74s)
[63%] Fulfill Order - InTransit
→ Fetch Shipment Details ✓ (0.09s)
→ Get Shipment Tracking Info ✓ (0.08s)
→ Update InTransit Status ✓ (0.22s)
✓ InTransit (0.39s)
[81%] Fulfill Order - Delivered
→ Fetch Shipment Details ✓ (0.03s)
→ Get Shipment Tracking Info ✓ (0.04s)
→ Update Delivered Status ✓ (0.07s)
✓ Delivered (0.16s)
[100%] Fulfill Order - Complete
✓ Workflow completed (32.4s)

Each stage maps to real status transitions in the ShipBob platform. You can use these to verify that your integration correctly handles each shipment status.

Pro tip: click the refresh icon after running a simulation to see the shipment update.

Shipment Status Transitions

StageResulting Shipment Status
PickedPicked
PackedPacked
ShippedLabelledShipped
InTransitInTransit
DeliveredDelivered

Other Workflows

receive-wro

Simulates a Warehouse Receiving Order being processed at a ShipBob fulfillment center. Useful for testing inventory replenishment flows and WRO webhook events.

$ receive-wro
Workflow: Receive WRO — Simulate warehouse receiving lifecycle
Enter WRO ID: <your-wro-id>

adjust-inventory

Simulates an inventory quantity adjustment. Useful for testing low-stock alerts, inventory sync logic, or backorder scenarios.

$ adjust-inventory
Workflow: Adjust Inventory — Simulate inventory level change
Enter Inventory ID: <your-inventory-id>

Tips

  • Refresh after a simulation — The current page doesn’t auto-update. Click the refresh icon in the table or open a new tab to see the latest shipment or inventory state. Simulation Terminal on the Orders page

  • Run partial workflows — Start from any stage to test a specific status transition without re-running the full lifecycle.

  • Chain workflows — Run receive-wro to stock inventory, then fulfill-order to move it through fulfillment, all in the same sandbox session.

  • Verify webhooks in real time — The terminal’s live output is synchronized with the actual API calls, so webhook events fire at the exact moment each stage completes.


Supported Environments

The Simulation Terminal is available exclusively in sandbox accounts (webstage.shipbob.dev). It is not available in production.


FAQ

Using the UI Terminal, the following workflows are supported:

  • Fulfill Order — Simulate shipping and delivering an order (5 stages).
  • Receive WRO — Simulate receiving a warehouse receiving order (5 stages).
  • Adjust Inventory — Simulate inventory adjustments (2 stages).

Using the API, you can simulate shipment events only:

  • Mark as Shipped — Mark a shipment/order as shipped.
  • Mark as Delivered — Mark a shipment/order as delivered.

No. The order cannot be On-Hold, Exception, or Cancelled.

No. Simulations are only supported in the Sandbox.

Yes. Inventory must be available in a supported fulfillment center.