Order Simulator
Test your webhook integrations by simulating order status progressions for test orders
The Order Simulator allows you to manually progress test orders through the fulfillment workflow. This is useful for testing your webhook integrations and verifying that your application handles order status updates correctly.
Test Orders Only
The simulator only works with orders created using a Test API key.
Real Webhooks
Status changes fire real webhooks to your configured endpoints.
Mock Data
Shipping and billing records are created with mock data for realistic testing.
Overview
When you create orders via the API using a Test API key, those orders are marked as test orders and will not be fulfilled in production. However, you may still want to test how your application handles the various status updates and webhooks that occur during the fulfillment process.
The Order Simulator provides a UI in the merchant dashboard that lets you manually advance a test order through each status, triggering the same webhooks that would fire in production.
Accessing the Simulator
Create a Test Order
First, create an order using your Test API key. Orders created with test keys are automatically marked as test orders.
POST https://api.roastify.app/v1/orders
x-api-key: rty_test_your_key_here
{
"shippingAddress": { ... },
"items": [{ "sku": "COL-SO-12", "quantity": 1 }]
}Navigate to the Order Detail Page
In the merchant dashboard, go to Orders and click on your test order to view its details.
Open the Simulator Tab
Test orders display a fourth tab called Simulator (indicated by a flask icon). Click this tab to access the order simulator.
The Simulator tab only appears for test orders. Live orders do not have this option.
Status Progression
Orders follow a linear progression through the fulfillment workflow. The simulator enforces the same rules as production—you cannot skip statuses or move backwards.
Workflow Statuses
| Status | Description | Next Status |
|---|---|---|
| Created | Order received, awaiting fulfillment | Picked |
| Picked | Items picked from inventory | Printed |
| Printed | Shipping label printed | Packaged |
| Packaged | Order packaged and ready to ship | Shipped |
| Shipped | Order handed off to carrier | (Terminal) |
Cancellation
Orders can only be canceled when in the Created status (before fulfillment begins). Once an order moves to "Picked" or beyond, it cannot be canceled. Cancellation is immediate—there is no approval step required.
Using the Simulator
The simulator displays a visual timeline showing the current order status and available actions.
Advancing Status
View Current Status
The timeline shows completed, current, and upcoming statuses. The current status is highlighted.
Click Advance Button
Click the Advance to [Next Status] button to progress to the next status.
Webhook Fires
A webhook is sent to your configured endpoint with the new status. You'll see a success toast confirming the update.
Canceling an Order
If the order is in "Created" status, you can click Cancel Order to cancel it. This immediately moves the order to "Canceled" status (a terminal state) and fires a fulfillment.canceled webhook.
Mock Data Created
To provide a realistic testing experience, the simulator creates mock records when certain statuses are reached.
At "Packaged" Status
When you advance an order to "Packaged", a mock Shipping Label is created with:
| Field | Value |
|---|---|
| Tracking Number | TEST-{timestamp} |
| Tracking URL | https://tools.usps.com/go/TrackConfirmAction?tLabels=TEST-{timestamp} |
| Carrier | USPS |
| Service | Priority Mail |
| Shipping Cost | $8.50 |
| Estimated Delivery | 5 days from simulation |
At "Shipped" Status
When you advance an order to "Shipped", the following occurs:
- Shipping Label status is updated to "in_transit"
- A mock Transaction is created with:
| Field | Value |
|---|---|
| Amount | $12.50 |
| Payment Status | succeeded |
| Card Last 4 | 4242 |
| Is Test | true |
Best Practices
Troubleshooting
Next Steps
Webhooks Guide
Learn more about webhook events, payloads, and signature verification. Webhooks →
API Quickstart
Get started with the Roastify API and create your first test order. Quickstart →