An overview of how prints are triggered and the different approaches to integrations
Methods of printing with Penny Black
At a high level, the printing of personalised inserts from Penny Black can be operated in a couple of ways:
- full stack - we provide our satellite devices in your warehouse to trigger prints on Penny Black-approved printers
- pdf only - we generate PDFs that you can retrieve from an API endpoint and print using your own hardware and processes
In either approach, PDFs are generated shortly after they are received from the e-commerce platform and stored ready to print. This ensures that prints are simply sending a file to it's destination and queuing it for print - this makes it as fast as possible.
The rest of this guide describes the integration required for the “full stack” approach.
The hardware and communication flow
In our full stack setup, the flow is as follows:
- the intent to print is triggered from a workstation that is fulfilling orders
- this sends an API call to our cloud platform
- the cloud platform sends a message to the appropriate satellite within your warehouse to tell it what to print
- the satellite downloads the personalised pdf and sends it to the local printer
A typical hardware install is completed in under an hour
How and when to trigger a print
It only takes a simple API call to trigger a Penny Black print, and we support a variety of methods, platforms and tools to fire this trigger. When to trigger a print will depend on your packing process and the technology that you use.
Printing at the point of pack
When you want to trigger your Penny Black prints at point-of-pack, with a printer on each packing bench.
A single-sided Penny Black print usually takes between 7 and 12 seconds depending on many factors including artwork size and complexity, print quality, network latency, and whether double-sided printing is required.
To ensure there’s no impact on your packing process we suggest triggering the print at the earliest possible point in the operator workflow, and ideally automated. Commonly, this is when the order is first opened by scanning an associated barcode or selecting the order from your WMS UI. This is sometimes when other printing-related triggers happen, such as the courier labels.
The API call
Use the Request print API endpoint, which requires 4 pieces of information:
- API Key - we will provide this for you
- Merchant ID - our identifier for the merchants that you are fulfilling
- Order number/ID - an identifier for the order from its e-commerce platform
- Location ID - an identifier for the packing bench. We are flexible as to the structure of these identifiers, but we recommend the format
WAREHOUSE_NAME_01
where the number relates to the same number or name that you use to describe your bench, so that in the case of troubleshooting we are using the same terminology.
Batch packing and printing
When you have (at least) one centralised printer and a batch packing/collation process.
The trigger for this call would usually be at the point that you create the batch for picking. As with bench-based printing, the earlier that you can trigger the print the better to allow time for the full batch to complete.
For batch printing we support, and strongly recommend ensuring, that the order number is visible on generated prints. This helps with reconciling to ensure the correct prints goes in the order package. Personalised prints will usually contain the first name of the recipient, but an order number is more conclusive. You will need to ensure that the merchants you are printing for add this to their campaign designs.
The API call
Use the Request batch print API endpoint.
The information is as above, except this time you provide a list or array of order numbers rather than just a single one.
We still need a location ID (even if it’s a single printing location), which we will agree with you.
Integration approaches
For existing integrations, see our supported WMS list.
1. Native platform integration
- Descartes Peoplevox - Set up Penny Black as a dedicated ‘printer’ and give it our Request print via Peoplevox API endpoint.
- Woocommerce - Our plugin allows you to print directly from Woocommerce, useful for merchants fulfilling their own orders.
- iPacky - This first-class integration will allow you to choose the time of print within the packing process and assign your print location names relating to the workbenches in use.
2. Chrome extension
A method of embedding our print functionality into a third-party application without a direct integration. It sits as a layer on top of a WMS app and adds our print buttons in the appropriate place in the admin UI. Read more about the Chrome extension.
3. Bespoke integration
If you maintain your own WMS or work with a development partner who does, you can provide them with the above guidance and the link to our full API printing documentation.
The API calls are straightforward, assuming the data is available. You will also likely need some code to map certain terminology from your identifiers to those within the Penny Black (location IDs and merchant IDs). We have worked with multiple partners who have completed and tested the integration in 1 day.
In addition to triggering prints, you can also fetch information about whether a print is required for a particular order. This is strongly recommended where possible - it is useful for displays to show whether the packer should expect a print or not.
You can also re-print orders using the same API endpoints. This can be used when there’s a problem printing and you want to try again. Add this call connected to a barcode scan or button on your admin UI to keep it simple for the operator.