Whitelabel Virtual Product Creator

Whitelabel Virtual Product Creator

The whitelabel virtual product creator (VPC) is a tool that can be embedded into external systems (e.g. an ecommerce site) to allow a user to quickly create products both in CPP and the external system.

Key Features

  • Embeds into an external system via an iframe and a Javascript API.
  • Supports both multi product and single product modes.
  • Can make use of any suitable personalisation app.
  • Can make use of an external CSS stylesheet.
  • Able to only show products suitable for the selected orientation (square, landscape and portrait).
  • Hooks into an approvals system so that site administrators can control which products get published.


Unlike a normal personalisation app iframe, the VPC iframe has extra security features which mean that it must be embedded into the external system by somebody with programming experience. The extra security features are necessary because the VPC iframe allows direct access into CPP.

The base URL is as follows:


In addition, the following URL parameters must be specified:

company_ref_idThe company to which any created products will belong.
pending_pcThe holding category for any created products whilst they await approval.
approved_pcThe permanent category for any created products once they have been approved.
square_pcControls which products are available if the user selects the ‘Square’ orientation.
landscape_pcControls which products are available if the user selects the ‘Landscape’ orientation.
portrait_pcControls which products are available if the user selects the ‘Portrait’ orientation.
product_idOptional Enables single product mode when set.
cssOptional Loads an external CSS stylesheet URL
app[l]Controls which personalisation app is used (defaults to acp3_2-staging).
app[c]Controls which personalisation app config is used (defaults to mt217h0kr51b1wh).
timeSecurity feature, see developer documentation
nonceSecurity feature, see developer documentation
originSecurity feature, see developer documentation
hmacSecurity feature, see developer documentation

The VPC User

The VPC will assume the role of a CPP user with the user name whitelabel-vpc-XYZ, where XYZ is the company ref ID.

This user must already exist in CPP and have read access to the square, landscape and portrait product categories as well as write access to the pending product category.

The user should have a random password set along with a custom role that denies all access.

Creating Products

Once the user clicks Create Products (in multi product mode) or Save (in single product mode), the VPC app will then create products using the user’s design in CPP.

Once the CPP products have been created, the VPC app will expose product information to the external system via the use of a simple Javascript API.

The product information given to the external system will include:

  • The CPP product ID (both for the virtual product and the base product).
  • The base product supplier SKU.
  • The name of the virtual product.
  • An automatically generated retail SKU for the virtual product.
  • A thumbnail of the virtual product.

The Approval Process

A normal CPP user with a suitable access role and write access to both the pending and approval product categories can then see any pending approvals via the Approval Requests tool in CPPv2.

Approving a product will:

  • Remove the approval request
  • Move the product from the pending category into the approved category
  • Lock the product
  • Trigger a webhook callback

Rejecting a product will:

  • Remove the approval request
  • Trigger a webhook callback

The Approval Webhook

The approval webhook allows a external system to know when a product has been approved or rejected.

The data passed to the webhook includes the product ID and a flag to indicate approval or rejection.

The webhook URL can be set via the Webhooks / Product Approval Status Change URL advanced company setting.

The system sends a JSON PUT request to the specified URL, see an example below


  "product_id": 123,

   "status_name": "approved"




  "product_id": 123,

   "status_name": "rejected"


    • Related Articles

    • Woocommerce Smartlinks Plugin - Virtual Product Creator (VPC)

      This article covers how to use the Virtual Product Creator (VPC) within the Woocommerce Smartlink Product Designer Plugin.  It assumes the Plugin has already been installed. Initial Set up Categories Creation Within Kornit X Platform, navigate ...
    • POBS | Virtual Product Onboarding Overview (For Brands and Retailers)

      1. OVERVIEW The Product Onboarding System (POBS) is a dedicated system for managing the creation and approval of new Virtual Products within the Custom Product Platform (CPP).  Virtual Product ‘Jobs’ can be imported via CSV - this process ...
    • Virtual Products | Virtual Aspects & Options

      This article assumes a certain level of knowledge regarding Virtual product creation, please ensure that you are familiar with either our academy course for retailers or our knowledge base articles on Virtual product creation. ...
    • Create Your First | Virtual Products: Interactive

      Overview INTERACTIVE is a simplified Virtual Product Creation routine focused on speed and efficiency. It allows you to select one or multiple Blank Products, and interactively create a simple design to be applied to all of them in a single ...
    • Virtual Products | Explained

      What is a Virtual Product? A 'Virtual Product' is a Product that is created from a Supplier approved Blank Product on CPP. Thus, it directly inherits all Supplier and production related properties (such as the Preview and Print Specification) which ...