Overview
RPI Print API is an API for automating the printing of books on demand.
The order endpoints are the core of RPI Print API. They let you place orders, retrieve them, and cancel them. Orders are charged to a credit card you add to your account in the RPI Print API Dashboard. The Dashboard accounts page explains how your user account relates to your organization.
Products
Before you place an order, you must add your products on the dashboard's Products page. Products are a mapping from a product SKU to a set of physical attributes for manufacturing. Each order item specifies its product by the product SKU. Products explains products in more detail.
Placing an order
To place an order, you send a destination address and, for each item you want printed, its product SKU and its design files. An order ships to one destination only. The address must be a destination RPI ships to, as Shipping explains.
Every book takes an interior book block. This is the PDF holding the design of the book's pages, and a create-order
request carries it in gutsUrl. Which further files a book takes depends on the product: a product with a designable
cover takes a cover, and a product with a designable dust jacket takes a dust jacket. Each file is a PDF that you host
at a public HTTPS URL. RPI downloads it from that URL after you create the order, so the URL must stay reachable until
RPI has processed the file. Files explains which files you must provide and how to provide them.
An order moves through a series of states. RPI preflights its files,
collects payment, and holds the order in the holding bin. The order then leaves the holding bin, manufacturing begins,
and RPI ships the books. To follow an order's progress, either include a webhookUrl in the create-order request so
that RPI sends you webhooks, or poll the order for its status.
Authentication
The API is served over HTTPS. Each request carries the Authorization Header value of one of your API keys, which uses HTTP Basic authentication. The API key identifies and authenticates your account. It also decides whether an order is a sandbox order or a production order, because each mode has its own set of API keys. API Keys explains how to get and manage your keys.
API keys are authentication secrets. Store them securely and provide them to your application securely. If a key is exposed for any reason, rotate it.