API Print Service

Using the PrinterLogic API Print Service can enable printing from systems that don't typically support it by accepting print jobs via web requests. Doing so eliminates the need to install print queues on your source application and allows moving to a driverless print model, reducing the work required to maintain the print environment. There are several supported requests:

  • Print job request - Sends the file to be printed to the API Print Service along with metadata about the file that dictates where the job is sent, as well as color, duplex, and other finishing options.
  • Batch open request - Used to ensure certain files are printed in a specific order. Batch open is used to begin the batch printing process and includes an ordered list of print job UUIDs that will be sent.
  • Batch close request - Sent after a Batch open request, and all associated files have been sent to an API Print Service. Once a batch is closed, the files with UUIDs listed in the initial Batch open request will be printed in the order the UUIDs were listed in the initial request.
  • Print Job Status - Once a job has been printed, or if it failed to print, the API Print Service will make a request back to the URL specified in the "statusURL" field as part of the initial print job request to inform the customer application on the status of the print job with the associated UUID.
You'll need to configure settings for the API Print Service in two places. In the PrinterLogic Admin Console and inside your source application to make RESTful API calls for submitting print jobs or batch print requests.

Prerequisites

  1. You must have a functional Service Client that meets the minimum required specs listed on the service client topic.

    If running IPv6 on your Windows service client, you may experience conflicts. If so, disabling IPv6 on the network adapter of the service client computer may be needed to resolve the conflict.

  2. Your Service Client must be able to access https://agent-api.app.printercloud.com/

    Ensure you add the region code after printercloud if applicable. Examples:
    • If you are located in Canada, add a 15 after printercloud as shown in the following example:
      • https://agent-api.app.printercloud15.com/
    • If you are located in EMEA, add a 5 after printercloud as shown in the following example:
      • https://agent-api.app.printercloud5.com/
    • If you are located in APAC, add a 10 after printercloud as shown in the following example:
      • https://agent-api.app.printercloud10.com/
  3. Have a certificate signed by a CA trusted by your source application.
  4. Contact your PrinterLogic representative to activate the Output Automation integration.

API Print Service Schema

Below is the recommended schema for configuring you API Print Service. There are two schemas, one for Print Job Requests and one for Print Job Status Reply. Within the Print Job Request schema there are also options for Batch Printing.

Print Job Request

Print Job Status

Configuring the API Print Service

  1. In the tree view, select the Service Client you are going to configure the Print Service on.
  2. Select the Output Automation tab.

    Service Client's Output Automation tab selected with a red arrow pointing to it.

  3. Enter the DNS Name of the Service Client being used for Output Automation.

    The DNS name entered here must match the name found in the device certificate.

    Output Automation tab with a red arrow pointing to the DNS Domain name field.

    If this field is empty, the service will fail to start, and a "Failed to get host address" error will appear in the log.

    The Shared Storage and Zone sections are only needed if you are configuring high availability failover. These options are covered in the Configure High Availability documentation.

  4. Scroll down and select the box to Enable API Print Service.

    Output Automations's Epic Connector section with an arrow pointing to the Enable Epic Connector Service setting.

  5. If needed, change the port number to match your source application settings. It is initially set to the default of 31990.

    Epic Connector section with an arrow pointing to the Port field.

  6. Optional: Check the box to Enable Basic Authentication. This will generate an authorization code, but this can be modified to a code of your choosing. This code will be used on the source application side to give authorization to send jobs to PrinterLogic.

    Epic Connector section with an arrow pointing to the Enable Basic Authorization setting, and the Basic Authorization Key field is shown with the key generated.

  7. Enter the information for your certificate using one of the following options:

    1. Path to Certificate: Enter the filepath for where your .pem and .key files are stored on the service client. Example: c:\certificates\certificate.pem

      Epic Connector section with an arrow pointing to the Path to Certificate bubble, and a box around the Certificate Path and Certificate Key fields where the data is entered.

    2. Enter Certificate: Paste the contents of the certificate and key files into the corresponding text boxes.

      Epic Connector section with an arrow pointing to the Enter Certificate bubble, and the Certificate Body and Certificate Key fields filled out and highlighted with a box.

  8. (Optional) If you are wanting to configure an API call to receive a status of the print job, enter the credentials to used to authenticate the status update. These credentials must match the Username and Password set on your application using basic authorization.

    Print Job Failure section showing the Failed print jobs will be recovered as held jobs, setting.

  9. Click Save.
  10. The Status section should now display a Green circle and state the service is Online.

    Output Automation Status section showing the Service is Online message and green circle.

printapi printstatusapi