Picture of PrintIQ - Product Sync

PrintIQ - Product Sync

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 ":"

Screenshot 2024-03-28 at 21.43.05.png

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

Screenshot 2024-03-28 at 21.45.57.png

Master Storefront settings

Now set the settings on the Master storefront.  Here you will need to ensure that in the PIQ plugin the same General settings for the plugin using the V0 and V1 (Base 64 token) credentials as platform, provided by PIQ are entered.

Then under the Product sync section - ensure the settings are empty...

Remember to turn on the plugin under Connect settings (checkbox for PIQ plugin) as per the Platform settings and images above/below.

Screenshot 2024-03-28 at 21.58.26.png

Storefront level settings

The final part of the setup; you need to enable the print IQ plugin as image above, then go into the PIQ plugin itself and then set the product sync section.

Firstly though create a blank 'Master' product in product management - set that with a prefix naming convention of "Master_" and set it as a stock product.

Do the same for the categories section in admin if syncing category data from PIQ. Again using "Master_" as a prefix.

Then inside the PIQ plugin you should be able to select those options in the dropdown to set the master product/category to be used to as a base template to create the product.category on your storefront.

Turn on the sync options as required.

 

Next step is setting the PIQ Product Category code used for the customer's clients in PIQ.  This code has to be set against each storefront's connect link, where the products are designated to go from within the PIQ category hierarchy.  

In your PIQ instance each Under the Product Categories section, you should have a list of Customers, and then within those they will have set categories, and set products. That ID (a four digit code) will need to be set against the Infigo Storefront connect link section.  It is not the PIQ customer ID.  

Example image; "1234"

Navigate to Storefront Management section in infigo admin and select the storefront you wish to map to using the individual customer category codes from PIQ. Click the connect link and add the ID.

Screenshot 2024-03-28 at 22.03.33.png

Map the IDs per client ID to each storefront as required.

Important notes

The category structure of the products is passed from printIQ to Infigo as per the table below. It is important that the category structure in PrintIQ is correctly set as this will be represented in Infigo.

It is also important to note that, due to the nature of multiple storefront setups adopted by many users, that the very top-level category in PrintIQ is named the same as the Infigo Storefront External ID. This is used in Infigo to determine which storefront the product is subsequently created and updated on.

 

Products are created with a free type quantity box for all products in PrintIQ that are set up with a pricing method of ‘Each’. Otherwise, if a quantity exists against a product, we create quantity tiers in Infigo for each quantity and ignore any pricing that is stored in Infigo which restricts the end user from being able to order that product apart from only in those specified set quantities.

Pricing should be held solely in PrintIQ and Infigo requests this via the GetPrice API.

 

Inventory Products

The below table describes the mapping from the printIQ payload into Infigo for Inventory products, demonstrating the information that is captured and how it is used.

PrintIQInfigoComments
SINameProduct Name 
SIDescriptionProduct Description 
SIActiveIsActivetrue = enabled, false = disabled
SIAllowBackOrdersBackOrders

true = Allow qty below 0

false = No backorders

InventoryItem.IICodeProduct External IDThis 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.IICodeSKU 
InventoryItem.IISingleUnitWeightProduct Unit Weight 
InventoryItem.ItemWidthProduct width 
InventoryItem.ItemHeightProduct height 
InventoryItem.ItemDepthProduct depth 
InventoryItem.ItemDefaultLocationItem LocationNot supported
InventoryItem.ImageFullFilePathProduct ImageWill 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 productThis object will include an array of categories for the entire tree structure
Categories[i].IDCategory External ID 
Categories[i].NameCategory Name 
Categories[i].ParentIDExternal ID of parent CategoryUsed to assign the category to a parent category to create the hierarchy
Categories[i].DescriptionCategory Description 
Categories[i].ImageURLCategory Image 
Categories[i].LevelA 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.

PrintIQInfigoComments
NameProduct Name 
DescriptionProduct Description 
QPDActiveIsActivetrue = enabled, false = disabled
ProductCodeProduct External ID 
ProductCodeSKU 
WeightProduct Unit WeightAlways in grams
QPDMinOrderQuantityMinimum basket quantity 
QPDMaxOrderQuantityMaximum basket quantity 
ThumbnailURLProduct Image 
PricingItems.SPQuantityQuantity TiersIf 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 productThis object will include an array of categories for the entire tree structure
TreeNodes[i].IDCategory External ID 
TreeNodes[i].NameCategory Name 
TreeNodes[i].ParentIDExternal ID of parent CategoryUsed to assign the category to a parent category to create the hierarchy
TreeNodes[i].DescriptionCategory Description 
TreeNodes[i].ImageURLCategory Image 
TreeNodes[i].LevelA 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.

ArtworkURLDictates 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.

Incomplete