Capacity Planner API Integration

Capacity Planner API Integration


INTEGRATION – Prestige Scheduler

We have created an integration between Prestige Scheduler and printIQ’s Capacity Planner:
https://pivotalz.com/


 The way it works is that Prestige Scheduler is the ‘master’ software where all jobs are planned.
Via an API connection, job cards are then placed into the capacity planner in printIQ:

A screenshot of a computer

AI-generated content may be incorrect.

Jobs can be viewed within the Capacity planner while being scheduled within Prestige.
API supports options to Create or Update the Capacity Planner time block/card records.
printIQ is to be viewed in a ‘Read Only’ mode. No job cards can be moved within printIQ.
All changes to the schedule are handled in Prestige Scheduler and passed through to printIQ.
This ensures there is no disconnect between the two systems.

Internal users view the board as a work to list and can click on the card to open the modal that allows users to start/stop operations:

A screenshot of a computer

AI-generated content may be incorrect.
Users can utilize the CP to view the schedule and use the CP as a work to list, capture time etc.

SETUP - printIQ

USERS - All users must be setup without the ‘Planner’ role. This is what restricts the Capacity Planner to be viewed in read only mode.
If a user has ‘Planning’ as a role, it will cause conflicts with the integration with Prestige Scheduler.

CAPACITY PLANNER – Capacity Planner must be fully configured in printIQ with all departments, presses and machines configured with their operation hours set.
PRESSES & MACHINES – Any setup where you have multiples of the same machine and want to ‘switch’ from one machine to another will need to be configured using the ‘Inherit Production Path From’ feature:

Machines

For example, you have 3 of the same folder:
A screenshot of a computer

AI-generated content may be incorrect.


Folder 1 would be the main folder used for quoting and folder 2 & 3 would be set to inherit path from folder 1:

A screenshot of a computer

AI-generated content may be incorrect.


Press

Same with presses, if you have multiple of the same press:

A screenshot of a computer

AI-generated content may be incorrect.


Press 1 would be the main press used for quoting and folder 2 & 3 would be set to inherit path from press 1:

A screenshot of a computer

AI-generated content may be incorrect.

*The API provides the option to move a card from one machine to another. It will update both the ProductionOperation and CP TimeBlock tables.

 

SETUP – Prestige Scheduler

Prestige will be responsible for all components, matching machines / press / guillotine one to one, and making connections and record updates to IQ using our APIs.
Prestige Schedule will need to be setup to ‘mirror’ the setup in printIQ.

Capacity Planner API Integration

Summary:
The V0 Quote Process collection now contains 6 endpoints that will allow a 3rd party system to integrate with PrintIQ's Capacity Planning module. A Postman collection is attached or you can access these endpoint details via {yourPrintIQDomain}.com/Swagger

  1. PlanOperations
  2. UpdateOperationPlannedDateTime
  3. ChangePlannedMachine
  4. UnplanOperation
  5. UnplanJob
  6. UnplanTimeBlock
Warning
This assumes the 3rd party manages the integration by utilizing these API endpoints to affect Capacity Planning records within PrintIQ.  The data share is one-way: 3rd Party -> PrintIQ

 System Requirements:

Notes
 Must have Capacity Planning module purchased and enabled
Idea
 When this integration is actively managed by a 3rd party, it is a essential to have the CP board read only in PIQ to avoid the two systems becoming out of sync. This is done by making sure no user accounts have the role of ‘Planner’ configured against them.

Validation:

In order to access these endpoints, the system will require valid PrintIQ user credentials to generate a LoginToken, and an application key to generate an ApplicationLoginToken.  PrintIQ Support can set up the application and provide required Key and Name values. 
These tokens are generated using GetLoginToken and GetApplicationLoginToken, also provided in the postman collection.  These tokens expire every 2 hours; it is recommended you generate a new token any time you call the collection to update a component in Capacity Planning. 

Context Details:

Once you can generate tokens, you will utilize GetAcceptanceDetails with a Job Number to extract most required key values.  The response will contain operations context within 
AcceptanceDetails{}.Products[].MiddlewareProductDetail.Operations[].POKey (this is the operation key used by most endpoints). The object will also contain the operation name.  All Capacity Planning is relative to these operations per job. 
A screenshot of a computer program

AI-generated content may be incorrect.

For any endpoints that require a Machine (Machine, Press, Guillotine), you can get details within the PrintIQ UI to reference their system names. 
../FactoryAdmin/Press.aspx
../FactoryAdmin/Guillotine.aspx
../FactoryAdmin/Machine.aspx

PlanOperations

When using this endpoint, you must provide either a Machine, Press, or Guillotine.  If you do not specify DurationMinutes, it will keep the previous duration of the operation. If the operation is planned elsewhere, Unplan it first. If the operation cannot be planned where specified, it will keep previous details and remain in prior slot or remain unplanned. 

Provide a Planned Start as 'YYYY-MM-DD', and provide your StartMinute as relative minute to local start time. i.e. "300" = 5AM, "1439" = 11:59PM
You may update multiple operations in this call. 

POST //api/QuoteProcess/PlanOperations?LoginToken={{appToken}} HTTP/1.1
Host: {{yourDomain}}.printiq.com
Content-Type: application/json
Content-Length: 253
{
  "PlanOperations": [
    {
      "POKey": 290812, //as extracted from GetAcceptanceDetails for the operation you want to plan
      "ScheduleDate": "2025-07-09",
      "StartMinute": 600,
      "Machine": null,
      "Press": "WF - HP 11000",
      "Guillotine": null,
      "DurationMinutes": 60
    }
  ]

UpdateOperationPlannedDateTime

Similar to PlanOperations, but only for a single operation already planned but just changing the date/time (not machine). If DurationMinutes isnt specified, it will keep the previous duration of the operation.
{
  "POKey": 290812,
  "PlannedStart": "2025-03-13",
  "StartMinute": 300, 
  "DurationMinutes": null 
}

ChangePlannedMachine

Provide the operation key, and either Machine, Press, or Guillotine you are changing the planned operation for.  We will provide an error response if the provided machine is invalid, or not applicable to the operation. 
{
  "POKey": 290812,
  "Machine": null,
  "Press": "WF - Onset X3",
  "Guillotine": null
}

UnplanOperation

Removes operation from planned block, you only provide POKey.
{
  "POKey": 290812
}

UnplanJob

Removes all operations of Job from schedule. 
{
  "JobNo": "J002819"
}

UnplanTimeBlock

Unplans an operation.  Time Block (PTBKey) is a back-end identifier for the record of the operation, machine, and time scheduled as a block.

PlanOperation - response
{
    "PTBKeys": [
        4957
    ],
    "ErrorMessage": null,
    "IsError": false,
    "WarningMessage": null,
    "IsWarning": false
}
 
{
  "PTBKey": 4957
}
    • Related Articles

    • Capacity Planning - Part 1 - Planner

      Capacity Summary The Capacity Summary screen can be used as an overview of the factory’s current capacity. At first you will see a summary of the entire factory based on the ‘View’ selected. Below that you can see the summary of any ‘Departments’ you ...
    • Capacity Planning - Part 3 - Staff Use

      Staff can use the boards as ‘Work to Lists’. Inside the staff users account, under the ‘Departments’ tab, assign them to the departments they belong to. In this example we are setting up an offset printers access. We add the department of ‘Offset ...
    • printIQ Integration toolbox

      Integration Toolbox Getting started with integration and API overview Access printable attachment at the top or bottom of this article depending on your browser. Introduction  When it comes to workflow and integration, everyone’s requirements are ...
    • Setting Up Infigo Integration with printIQ

      Summary This article outlines the steps required to configure your Infigo platform to integrate with printIQ. Most of the setup is performed within the Infigo environment. Note: The printIQ team does not manage the Infigo-side configuration. Please ...
    • Sage 50 Integration Documents

      Specialist Paul van Tongeren Introduction The integration to HyperSage is primarily a push from printIQ. This is a manual process requiring the user to export from within a record or to select multiple records from the appropriate area and click the ...