Testing the print partner integration

This documentation describes how to test your Cloudprinter.com print partner integration. The test cases are the same if you have a direct integration with the Cloudprinter.com solution, or if you are using a partner integration like Enfocus Switch.

If you have not already read the Getting started guide and the How to integrate guide, we recommend that you start there.


Preparations

Before the testing can start a few configurations have to be in place, each described here.

Production Interface

Create a "Production Interface" - This is configuration set telling the Cloudprinter.com system how and where to deliver orders to the print partner. It provides you with a unique API key, which links the order to the specific account. When receiving orders you endpoint must validate the API key.

Login to the admin dashboard and go to "Production Interfaces". Create a production interface in test mode. Make sure to set the ACL a comma-separated list of the IP addresses from where you will fetch the order PDF's.


Here is how it looks:

CloudSignal API Interfaces

Create a "CloudSignal API Interface" - This creates an interface where Cloudprinter.com can receive signals back from your system. All signals are sent to the same CloudSignal Interface. The API key of the CloudSignal must be included in every signal and is used for authentication.

Signals are very important for both Cloudprinter.com and our clients. Signals that fails delivery must be retried a number of times with a fair interval in between.


The configuration page looks like this:

Test mode

Having a "Production Interface" in test mode enables the use of the "Test Center" concept for generating test orders. These test orders are an important part of the print partner integration tests.


Receiving the first order

Inside the Cloudprinter.com admin dashboard, you find "Test Center", from here you can create test cases. The test cases can create test orders and push them to your endpoint. Creating test orders this way is fast and easy. The normal processing time for a test order is 3-5 minutes.

It can happen that your endpoint rejects the order, and for test orders, there is no automatic retry mechanism. You can instead log in to the admin dashboard, go to "Orders", click on the order that failed, click on the "Actions" tab, select reupload and click the "Update" button. The system will now retry uploading the order, the delay is normally 1-2 minutes.


Sending the first signals

For each order that you process, a number of signals must be generated and sent to Cloudprinter. This is as minimum ItemRegistered and ItemShipped, and in case of an error or a cancellation, the ItemError and ItemCanceled signals.

Signals are quite important for both Cloudprinter.com performance calculation of you as a print partner, but also for our client that use the signals to trigger automated communication flow etc. This means that if a signal fails you have to retry sending the signal. The retry must be done multiple times over a period of time.

Signals update the state of the items in the order. Verification that the signals have been imported to Cloudprinter.com correctly is done in two steps. First, check the response code on the HTTP POST to the "CloudSignal API Interface" and second, manually check in the Cloudprinter.com admin dashboard under "Orders" and details on the order. The state for each item should be updated as the signals are received.


Testing checklist

Cloudprinter.com has a predefined test checklist, that is required for all print partners to follow. It ensures that all aspects of the integration are tested in an easy and structured way.

Preconditions:

  • A signed print partner contract with Cloudprinter.com.
  • Initial prices imported to the Cloudprinter.com system.
  • Enabled supported shipping options.
  • Uploaded shipping prices.
  • "CloudSignal API Interface" configured.
  • "Production Interface" configured.

StepDescription
1Account - A print partner Cloudprinter.com account has been created, a print partner contract has been signed and initial prices have been exchanged and agreed on.
2"Production Interface" - A "Production Interface" has been created using version 2.0
3Security - ACL (Access Control List) IP address/addresses have been set in the "Production Interface". This is the list of IP addresses that can access the production PDF's for the orders. This is typically your public IP addresses.
4"CloudSignal API Interface" - A "CloudSignal API Interface" has been created. This is the interface where signals back to Cloudprinter.com is received by the Cloudprinter.com system.
5Can receive test order with success - Verify that an order created from "Test Center" can be received at your endpoint. Your endpoint should receive the data and the Cloudprinter.com admin dashboard must show the order in the state "Uploaded".
6ItemRegistered signal - Once an order has been registered in your system the ItemRegistered signal must be sent to Cloudprinter.com via the "CloudSignal API Interface". Verify that the signal was sent from your system and that the state of the item change in the admin dashboard.
7Download PDF's - Verify that your system can download the PDF files for the items in the order. If access is rejected please check the ACL configuration on the "Production Interface". MD5 sum and size verification must be done on each PDF file.
8ItemShipped signal - Verify that your system can send the ItemShipped signals with tracking code and shipping option included. Verify in the admin dashboard that the tracking code is added to the item.
9ItemError signal - Verify that your system can send an ItemError signal on an order item. The signal should indicate the delay the recoverable error will cause and include a description of the issue.
10ItemCanceled signal - Verify that your system can send an ItemCanceled signal on an order item. The signal must include the cancellation cause and cancellation description. On cancellation only a single item is canceled, the rest of the order is produced and shipped as normal.
11Item options - Verify that your system can parse the options given on the order items. The options can be a paper type, cover finish etc. For books, the number of pages in the books must also be parsed.
12Product Integration - Verify that your system can receive and process an order with all supported products. Cloudprinter.com provides a test case specific for the purpose. The goal is to see that all product codes can be parsed and items can be registered in your system. The order does not contain printable PDF files, but we still recommend that the PDF files are download and verified.
13End-to-end test - Cloudprinter.com has designed test cases in "Test Center" for end-to-end tests. These test orders have print-ready PDF files. The purpose of the tests is to test the full chain from Cloudprinter.com to your system, full production flow and ending with ItemShipped signals back to Cloudprinter. It is important to produce the items to see that the entire flow is actually working and that all process is handled automatically.
14Produced order - Verify that a few end-to-end tests was performed and check the final printed product against the PDF's files and the specs, does it all match? Is the quality of the product good?
15Shipping consignor - Verify that the shipping labels are created with Consignor name from the order data as the sender's name in the sender address. In case this is a problem with your shipping software/integration please contact us.
16Ship orders to Cloudprinter.com - All end-to-end test orders have our address information included. A number of end-to-end test orders should be shipped to Cloudprinter.com for assessment. The assessment is used in your production rating. We look at the print quality, the cutting, the binding, the general product quality, the packing, and the shipping label.
17Reorder, Production - Verify that your system check for and parse the reorder information from a reorder with a production issue. There are "Test Center" cases made for this purpose. Reorders must be marked as free of charge and the error cause and description must be made available to the print operators. Test orders of this type can only be released by Cloudprinter.
18Reorder, Shipping - Verify that your system check for and parse the reorder information from a reorder with a shipping issue. There are "Test Center" cases made for this purpose. Reorders must be marked as free of charge and the error cause and description must be made available to the print operators. Test orders of this type can only be released by Cloudprinter.
19Test and Live flows - Verify that you have both a "Live" and a "Test" "Production Interface" created. The test order interface is used after you go live for the integration of new products and general testing when needed.
20Encrypted communication - Verify that a valid SSL certificate is installed and HTTPS communication method is selected on the "Production Interface" for live orders. Test orders can continue on HTTP, but we recommend to run all communication on HTTPS.
21GDPR in EU - All printers in EU must verify that follow the GDPR guidelines for data protection and storage. Once an order has been shipped the data for the order is no longer needed and should be deleted or encrypted.
22Retry signal sending - Signals are quite important for both Cloudprinter.com performance calculation of you as a print partner, but also for our client that use the signals to trigger automated communication flow etc. This means that if a signal fails you have to retry sending the signal. The retry must be done multiple times over a period of time.

Go live

Before you can go live you have to complete the integration with Cloudprinter.com and pass the print partner integration tests. The decision of when you can go live is made by Cloudprinter.com alone.


The first live order

Cloudprinter.com will start providing orders to you slowly and for the first orders we always monitor the process and in most cases we will be in contact with you before the order is pushed in.

The Cloudprinter.com system uses performance data, price information etc for routing calculations, this means that you might not receive a lot of orders for the first time after you go live, this is perfectly normal. In any case, reach out to us and we can see if we have to change parameters in the algorithm or if your prices are at the high end.