Order states
Once an order has been successfully created, API clients and RPI Dashboard users can monitor order's progress by monitoring the order status.
| Order status | Final state | Description |
|---|---|---|
| RECEIVED | no | Initial state, order has been received by RPI Print API and queued for async validation. |
| QUEUED | no | Initial state, order has been received by RPI Print API, but the customer has exceeded their Orders Limit. |
| VALIDATING | no | Order is being validated. This includes SKU and address validation and print asset processing & validation. It also includes pricing & tax calculation. |
| VALID_AWAITING_PAYMENT | no | Order has been validated and is waiting for payment. Default payment method must be set in RPI Print API Dashboard. |
| VALID_HOLDING_BIN | no | Order is in holding bin and is waiting to be sent to printing. While order is in holding bin it can be cancelled. |
| PRINTING | no | Order has been submitted to the printer. Cancellation requests are forwarded to the printer, which may still reject them. |
| RECEIVED_BY_PRINTER | no | The printer has accepted the order. Cancellation requests are forwarded to the printer, which may still reject them. |
| IN_PRODUCTION | no | The printer has begun producing the order. Cancellation requests are forwarded to the printer, which may still reject them. |
| READY_TO_SHIP | no | The order has been produced and is ready to ship. Cancellation requests are forwarded to the printer, which may still reject them. |
| SHIPPED | yes | Order has been shipped. Tracking number (if available) has been provided. Cancellation is no longer possible. |
| FAILED | yes | Order has failed validation or pre-print processing. There should be an error message included in order details. |
| CANCELLATION_REQUESTED | no | Cancellation has been requested for this order. This is an async process that might take a while to complete. |
| CANCELLED | yes | Order has been cancelled, full or partial refund has been queued (depending on where in the workflow order was cancelled) |
| EXCEPTION | yes | Order has entered an exception state due to a printer cancellation rejection or other internal error. Requires manual action or contacting customer support. |
| REJECTED | yes | Order has exceeded the maximum number of orders queued and is now rejected. |
info
Orders in final states cannot be updated.
note
PRINTING is the API and webhook status value for an order that has been submitted to the printer; the RPI Dashboard displays this same status as "Submitted to Printer". The status value on the API/webhook contract remains PRINTING.
The printer then reports progress through RECEIVED_BY_PRINTER, IN_PRODUCTION, and READY_TO_SHIP before SHIPPED.
Success flow
flowchart TD
SHIPPED(((SHIPPED)))
START{POST /orders/create}
START==>RECEIVED
RECEIVED==>VALIDATING
VALIDATING==>VALID_AWAITING_PAYMENT
VALID_AWAITING_PAYMENT==>|Scheduled automatic payment| VALID_HOLDING_BIN
VALID_HOLDING_BIN==> |Submitted for printing| PRINTING
PRINTING==> |Accepted by printer| RECEIVED_BY_PRINTER
RECEIVED_BY_PRINTER==> |Production started| IN_PRODUCTION
IN_PRODUCTION==> |Production complete| READY_TO_SHIP
READY_TO_SHIP===> |Order shipped|SHIPPED
Full flow
flowchart TB
START{POST /orders/create}
START==>|Over queue limit| REJECTED(((REJECTED)))
START==>RECEIVED
RECEIVED==>VALIDATING
VALIDATING==>VALID_AWAITING_PAYMENT
VALID_AWAITING_PAYMENT==>|Payment processed| VALID_HOLDING_BIN
VALID_HOLDING_BIN==>|Submitted for printing| PRINTING
PRINTING==>|Accepted by printer| RECEIVED_BY_PRINTER
RECEIVED_BY_PRINTER==>|Production started| IN_PRODUCTION
IN_PRODUCTION==>|Production complete| READY_TO_SHIP
READY_TO_SHIP==>|Order shipped| SHIPPED(((SHIPPED)))
START==>|Over 24h limit| QUEUED
QUEUED==>RECEIVED
VALIDATING--->|Validation failed| FAILED(((FAILED)))
RECEIVED--->|cancelled| CANCELLED(((CANCELLED)))
QUEUED--->|cancelled| CANCELLED
VALID_AWAITING_PAYMENT--->|cancelled| CANCELLED
VALID_HOLDING_BIN--->|cancelled| CANCELLED
PRINTING--->|cancellation sent to printer| CANCELLATION_REQUESTED
RECEIVED_BY_PRINTER--->|cancellation sent to printer| CANCELLATION_REQUESTED
IN_PRODUCTION--->|cancellation sent to printer| CANCELLATION_REQUESTED
READY_TO_SHIP--->|cancellation sent to printer| CANCELLATION_REQUESTED
CANCELLATION_REQUESTED-.->|printer rejected cancellation| EXCEPTION(((EXCEPTION)))
CANCELLATION_REQUESTED-->|printer confirmed cancellation| CANCELLED