Fulfilling Personalized Books
Fulfilling personalized books is possible by creating a transient order on bookvault through our API.
What do we mean by transient?
With personalized books, Bookvault assumes a new file is to be provided with every order. To avoid having to create a new title for every order, we use something called a transient title. This is a title which contains no files, but is simply a placeholder for the specifications. At present, we're only able to fulfill transient orders in the UK, whilst the process is still in its infancy.
How to submit a transient order
At present, transient orders can be submitted via the Bookvault API. If you have a larger project you wish to discuss, you can always get in touch with our support team here.
Setup API Access
To get started, you will first want to setup API access to your Bookvault account. A guide on how this can be done can be found here.
Generating a Product SKU
As previously mentioned, transient titles are handled a little differently. You won't need to pay a title upload fee and you also won't be able to see them on your Bookvault account. A transient title is defined by a product SKU. This is a short line of text defining how to produce your title. We've put together an Excel calculator for you to help define SKU's, or alternatively you can form it using the below logic:
Example SKU: 150CWMSB234H156W
Paper Stock [150CW]
This is the interior paper stock your title will be printed on. A current list of our stocks and codes can be seen below:
| Paper | Paper Weight | Coating | Colour | Code |
| 70gsm Cream | 070 | U | C | 070UC |
| White 80gsm Bond | 080 | U | W | 080UW |
| 80gsm Premium Cream | 080 | U | C | 080UC |
| 100gsm Coated | 100 | C | W | 100CW |
| 115gsm Coated | 115 | C | W | 115CW |
| 150gsm Coated | 150 | C | W | 150CW |
| 170gsm Premium Bond | 170 | U | W | 170UW |
Lamination [M]
The next part of the code is the lamination. This defines what lamination the cover will have. All current lamination codes can be seen below:
| Lamination | Code |
| Gloss | G |
| Matte | M |
Binding [SB]
This is the binding of the final product. Current examples below:
| Binding | Code |
| Paperback | PB |
| Hardback | HB |
| Spiral Bound | SB |
| Wire-O-Bound | WB |
| Saddle Stich | SS |
Book Size [234H156W]
This defines the final size of the book in millimeters. At present it is only possible to supply it as such. The above example would produce a 234mm tall by 156mm wide book. It's important that each field is zero filled to 3 characters, so 99 would become 099. Other examples could include:
- 210H210W - 210mm tall by 210mm wide
- 210H297W - 210mm tall by 297mm wide
It's best to make sure the sizing you wish is available first by using our quote tool, to avoid any errors.
Placing an order
Placing a transient order is done in the same way as a normal Bookvault order, just instead of supplying an ISBN, you supply the transient request. An example payload can be seen below:
Url
POST https://api.bookvault.app/v3/Order
Headers
Authorization: basic bv_YOUR_API_KEY
Body
Some fields to note:
- ProductSku is the string we formed in the earlier section
- MonoPages is the number of black and white pages in this book
- ColPages is the number of colour pages in this book
- MonoPages + ColPages should total the number of pages in the text file
- LineTitle is a title for the book. I.e. if it's a personalized story of Alex's first day at school, it would be "Alex's first day at school"
- Files is a list of the files for the order. This is required for each order, even if a file is always the same, transient orders require a file for each item on every order. It is important to ensure the URL provided is publicly accessible.
Testing
Once you have placed an order, you'll be able to see the order on your Bookvault dashboard. If you view the order, at the bottom of the page, you'll be able to see the order lines you submitted and an outline of the specifications received. At present, there isn't a way to view processed files, but this is an imminent update. If you have any doubts, you can reach out to the support team who will be able to confirm.
