Product Sync
The purpose of this feature is to create and update products in Infigo from printIQ.
This supports both print-on-demand Static PDF products and stock/inventory items.
The concept is that when a product is created or updated in printIQ, a webhook will be triggered from printIQ sending a product payload to your Infigo platform. Infigo will then parse the information channelled through a central "Master" storefront and either create or update the relevant product in the relevant storefront based on information with that request.
The plugin introduces the concept of a blueprint/master product and category to be created and configured so that the display of the products and categories created from printIQ can be controlled to a certain degree. Options like display settings will then be copied over to the new products and categories based on the Master one set.
Setup Process
You need to set up a Master storefront that is used to filter the products from PIQ so that they can be created on their respective storefront. To set this you can either use an existing storefront that is already created on your platform OR you would create a new storefront and set that as the "Master Sync storefront". The benefit of having a separate storefront is that if any of the products are created without the correct category structure in PIQ they would be set up on this separate storefront which would not act as a LIVE storefront. Create the new storefront and make a note of the ID under the manage storefront section OR navigate to the platform level using your Platform Admin account.
Platform level settings
To set the Master storefront you need to go to the platform level and specify the storefront ID of the new Master storefront you wish to use against the connect settings section and the entry for ":"

Whilst still at platform navigate to the Connect plugin section and click configure on PIQ plugin - under the section for Product Sync, enable the sync switches for Sync Print on Demand products + Sync stock products
PrintIQ | Infigo | Comments |
SIName | Product Name | |
SIDescription | Product Description | |
SIActive | IsActive | true = enabled, false = disabled |
SIAllowBackOrders | BackOrders | true = Allow qty below 0 false = No backorders |
InventoryItem.IICode | Product External ID | This will be used as the key mapping between the product in Infigo and the product in IQ. When GetPrice is called to obtain a price this is the product code that is passed, likewise when the order is placed. |
InventoryItem.IICode | SKU | |
InventoryItem.IISingleUnitWeight | Product Unit Weight | |
InventoryItem.ItemWidth | Product width | |
InventoryItem.ItemHeight | Product height | |
InventoryItem.ItemDepth | Product depth | |
InventoryItem.ItemDefaultLocation | Item Location | Not supported |
InventoryItem.ImageFullFilePath | Product Image | Will be displayed on the product landing page and in the product teaser on category pages |
Categories[] | This section details the category structure that needs to be created/updated related to that product | This object will include an array of categories for the entire tree structure |
Categories[i].ID | Category External ID | |
Categories[i].Name | Category Name | |
Categories[i].ParentID | External ID of parent Category | Used to assign the category to a parent category to create the hierarchy |
Categories[i].Description | Category Description | |
Categories[i].ImageURL | Category Image | |
Categories[i].Level | A numerical representation of the hierarchy of that category | Level 0 is always the value of the category where the product is assigned. Any parent categories are then represented with a negative number for each level up (0 = product category, -1 = parent, -2 = parents parent) The top-level category (i.e. the lower number) would be the storefront (Categories[i].Name = storefront external ID) |
Static Print-On-Demand products
The below table describes the mapping from the printIQ payload into Infigo for Static PDF products, demonstrating the information that we capture and how it is used.
PrintIQ | Infigo | Comments |
Name | Product Name | |
Description | Product Description | |
QPDActive | IsActive | true = enabled, false = disabled |
ProductCode | Product External ID | |
ProductCode | SKU | |
Weight | Product Unit Weight | Always in grams |
QPDMinOrderQuantity | Minimum basket quantity | |
QPDMaxOrderQuantity | Maximum basket quantity | |
ThumbnailURL | Product Image | |
PricingItems.SPQuantity | Quantity Tiers | If the pricing method is not set to ‘Each’ for the product in PrintIQ we will create the relevant passed quantity tiers so that customers can only order in those quantities. |
TreeNodes[] | This section details the category structure that needs to be created/updated related to that product | This object will include an array of categories for the entire tree structure |
TreeNodes[i].ID | Category External ID | |
TreeNodes[i].Name | Category Name | |
TreeNodes[i].ParentID | External ID of parent Category | Used to assign the category to a parent category to create the hierarchy |
TreeNodes[i].Description | Category Description | |
TreeNodes[i].ImageURL | Category Image | |
TreeNodes[i].Level | A numerical representation of the hierarchy of that category | Level 0 is always the value of the category where the product is assigned. This will also act as the storefront filter to determine which storefront that product should be created/sync’d on. The lowest level must match the Storefront External ID. |
ArtworkURL | Dictates if a static PDF product should be created (if there is a valid URL set) or not (if the value is empty/null) | |
NOTE: If the Print IQ product contains multiple sections and therefore multiple PDFs we will not pull these into Infigo and treat the product as a inventory stock item. Only when the artwork is a single section, single PDF static product we will create a static PDF product in Infigo.