Create a new Print-Job
Print-Jobs are the core resource of the Print API. A Printjob consists of line items, shipping information and some additional metadata.
Elements of a Print-Job
Line Items
A line item represents a book that should be printed or in short a printable. Printables consist of cover and interior files as well as a pod_package_id. The pod_package_id represents the manufacturing options; see the "Select a product" section for details. Each printable can be identified by an immutable printable_id. The printable_id can be used for re-orders so that the files don''t have to be transferred again.
Linen Wrap Foil
Foil stamping is available on Linen Wrap books, and printed on the spine of the book, not the accompanying dust jacket. Text is entered into both the foil_stamp_title_text and foil_stamp_author_text. Combined, two fields comprising of the foil stamp text cannot exceed 42 characters.
Lulu's foil stamping supports the following characters:
- Roman Character sets (A-Z, a-z, 0-9)
- [];',./!`^&*()~+=:?"]ˇ˘°´¨¸¯- ØŁ
- ÀÁÃĀÄĂĆČÇĎÈÉËĒĔĚĞÌÍĨÏĪĬĽĹÑŃŇÒÓÕÖŌŎŔŘŚŞŠŢŤÙÚŨŪÜŬÝŸŹŽ
- àáãäāăćčçďèéëēĕěğìíĩïīĭľĺñńňòóõöōŏŕřśşšţťùúũūüŭýÿźž
Unsupported characters:
- all non-roman character sets (Cyrillic, Arabic, Hebrew, Farsi, Chinese, Japanese, Thai, etc.), and the underscore character (_) are not supported.
Your linen and foil stamping color selections should be included at the end of your SKU using the following letters to indicate color, with the linen option first and the foil stamping option last:
-
Linen:
- Navy: N
- Gray: G
- Red: R
- Black: B
- Tan: T
- Forest: F
-
Foil:
- Gold: G
- Black: B
- White: W
For example: 0600X0900.BW.STD.PB.060UW444.MNG
Shipping Information & Metadata
Print-Jobs have to contain a shipping_address as well as a shipping_level. Lulu offers five different service levels that differ in speed and traceability.
Additional Metadata
A few additional metadata fields can be specified in the Print-Job as well:
-
contact_email for questions related to the Print-Job itself
-
production_delay allows you to specify a delay (between 60 minutes and 2,880 minutes) before the Print-Job goes to production.
-
external_id allows you to link the Print-Job to an internal order number or other reference.
-
recipient_tax_id is required for shipping addresses to Brazil, Chile, and Mexico. This field holds the recipient's tax identification number (CPF/CNPJ for Brazil, RUT for Chile, and RFC for Mexico). The tax ID can be provided in formatted form (with dots, dashes, or slashes), but will be standardized to a compact version without separators (e.g., "12.345.678/0001-90" will be converted to "12345678000190") for further processing.
For shipping addresses in the following countries, the recipient_tax_id can be provided, but no validation will be applied: AF, DZ, BS, BH, BJ, BT, BA, BW, BF, BI, CV, KH, CM, CF, TD, KM, CG, CD, CI, DJ, DM, GQ, ER, SZ, ET, FJ, GA, GM, GD, GN, GW, HT, HN, IR, IQ, JO, KI, KP, LA, LB, LS, LR, LY, MG, MW, MV, ML, MH, FM, MN, MZ, MM, NA, NR, NP, NE, OM, PW, PG, QA, RW, KN, LC, SN, SL, SB, SO, SS, SD, SR, SY, TZ, TG, TO, TL, UG, VA, ZM, ZW.
File Handling and Normalization
Interior and cover files have to be specified with a URL from which Lulu can download the files. Using encoded basic authentication in the URL is ok. All files processed by Lulu will be validated and normalized before sending them to production. If problems with the file occur, the PrintJob will be rejected or cancelled and an error message will be displayed.
Automation and Payment
After a Print-Job has been created successfully, it will remain in an UNPAID state until it is paid for through the developer portal. However, you can automate the process by putting a credit card on file. Then, the Print-Job will automatically transition to the PRODUCTION_DELAY status and your card will charged when the Print-Job is sent to production.
Request body
Response
Created
Example response
{
"contact_email": "test@test.com",
"costs": {
"line_item_costs": null,
"shipping_cost": null,
"total_cost_excl_tax": null,
"total_cost_incl_tax": null,
"total_tax": null
},
"date_created": "2017-08-07T08:47:26.485456Z",
"date_modified": "2017-08-07T08:47:26.485490Z",
"estimated_shipping_dates": {
"arrival_max": "2017-08-12",
"arrival_min": "2017-08-10",
"dispatch_max": "2017-08-09",
"dispatch_min": "2017-08-07"
},
"external_id": "demo-time",
"id": 1,
"line_items": [
{
"external_id": "item-reference-1",
"id": 1,
"printable_id": null,
"printable_normalization": {
"cover": {
"job_id": null,
"normalized_file": null,
"page_count": null,
"source_file": null,
"source_md5sum": "e78512c777e7f5841fe8f1992cefb898",
"source_url": "https://www.dropbox.com/sh/p3zh22vzsaegiri/AADP367j0bTWlt8fCu-_tm2ia/161025/139056_cover.pdf?dl=1"
},
"interior": {
"job_id": null,
"normalized_file": null,
"page_count": null,
"source_file": null,
"source_md5sum": "7f8af20c296747689756f8e310135d79",
"source_url": "https://www.dropbox.com/sh/p3zh22vzsaegiri/AACOUn3LFKsITDzylh13bQpsa/161025/thesis2.pdf?dl=1"
},
"pod_package_id": "0600X0900.BW.STD.PB.060UW444.MXX"
},
"quantity": 20,
"status": {
"messages": {
"info": "Line-item is currently being validated"
},
"name": "CREATED"
},
"title": "My Book"
}
],
"production_delay": 120,
"production_due_time": null,
"shipping_address": {
"city": "Lübeck",
"country_code": "DE",
"is_business": false,
"name": "Hans Dampf",
"phone_number": "844-212-0689",
"postcode": "23552",
"state_code": "",
"street1": "Holstenstr. 48",
"street2": ""
},
"shipping_level": "MAIL",
"shipping_option_level": "MAIL",
"status": {
"changed": "2017-08-07T08:47:26.480493Z",
"message": "Print-job is currently being validated",
"name": "CREATED"
}
}Changes
No recorded changes to this endpoint across all 1 revision of this API.