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.
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:
https://whitelabel.custom-gateway.net/artists/vpc
In addition, the following URL parameters must be specified:
Parameter | Description |
---|---|
company_ref_id | The company to which any created products will belong. |
pending_pc | The holding category for any created products whilst they await approval. |
approved_pc | The permanent category for any created products once they have been approved. |
square_pc | Controls which products are available if the user selects the ‘Square’ orientation. |
landscape_pc | Controls which products are available if the user selects the ‘Landscape’ orientation. |
portrait_pc | Controls which products are available if the user selects the ‘Portrait’ orientation. |
product_id | Optional Enables single product mode when set. |
css | Optional 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 ). |
time | Security feature, see developer documentation |
nonce | Security feature, see developer documentation |
origin | Security feature, see developer documentation |
hmac | Security feature, see developer documentation |
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.
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:
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:
Rejecting a product will:
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"
}