Create Order Request
This page shows a complete create order request. Getting Started explains how to create an account
and a product, and where to copy the Authorization Header value that replaces {{Authorization}} below.
Request headers
POST https://open.api.rpiprint.com/orders/create
Content-Type: application/json
Authorization: {{Authorization}} # the Authorization Header value from the API Keys table
Request Body
When creating an order, provide the shipping destination, shipping classification, and details of each product being ordered. The following fields are important to understand when preparing your request:
- Shipping Classification (
shippingClassification): Specify the shipping speed requested for this order. This is a customer-selected value that can vary from order to order based on your shipping requirements. Refer to Shipping for supported classifications and destination-specific availability. - Webhook URL (
webhookUrl): Provide an endpoint URL to receive notifications as your order progresses through fulfillment. Webhooks allow your system to receive order updates without repeatedly requesting the order's status. Refer to Webhooks for configuration requirements and supported events. - Product SKU (
sku): Each order item references either a Product SKU from your account's catalog or a Standard Manufacturing SKU. RPI Print API uses this identifier to determine which physical product to manufacture. When you order a Manufacturing SKU you have not set up, the order adds a product for it to your catalog; Managed accounts must set products up first. Orders referencing an unrecognized SKU will fail validation. See Using Product SKUs in Orders. - Retail Price (
retailPrice): Specify the retail selling price of a single unit, regardless of the quantity ordered. This is the per-unit value, not the total price of the order line item. For example, if the retail price is $12.30 per book and the order quantity is 2, submitretailPrice: "12.30", not"24.60". We recommend providing retail pricing for every order item. This value is required for shipments to international destinations, Puerto Rico, and U.S. territories, where it is used for customs declarations. Orders to these destinations without a retail price will fail validation.
Product Files and Templates
The coverUrl and gutsUrl in the example below reference published templates for the Manufacturing SKU
BKPH_HCIW_STD_11.000x8.500IN_80C_GL_40_100T_GLS_44, configured for 20 pages. To use templates for your own product,
replace the Manufacturing SKU in both URLs with your product's Manufacturing SKU and
update pageCount=20 to a supported page count. Use the same page count in both URLs.
Example Request Body
The following illustrates the structure of a create order request. Before submitting an order, use your configured Product SKU, appropriate production files, and order-specific shipping and destination information.
{
"currency": "USD",
"shippingClassification": "standard",
"webhookUrl": "<webhook endpoint>",
"destination": {
"name": "John Doe",
"address1": "3325 S 116th St",
"city": "Tukwila",
"state": "Washington",
"postal": "98168",
"country": "US",
"phone": "(206) 905 5999",
"email": "shipping.dept@rpiprint.com"
},
"orderItems": [
{
"sku": "HCIW_11x8.5_GLS_GL100T",
"quantity": 1,
"retailPrice": "12.30",
"itemDescription": "My photo book",
"product": {
"coverUrl": "https://products.api.rpiprint.com/templates/published/BKPH_HCIW_STD_11.000x8.500IN_80C_GL_40_100T_GLS_44/cover/pdf?units=in&pageCount=20&barcode=false",
"gutsUrl": "https://products.api.rpiprint.com/templates/published/BKPH_HCIW_STD_11.000x8.500IN_80C_GL_40_100T_GLS_44/pages/pdf?units=in&pageCount=20"
}
}
]
}