Blank products in the platform can have multiple variants which are inherited by virtual products. When ordering virtual products in a smartlink the platform knows the variant because the choice is made inside the smartlink but how does a Sales Channel send details of a variant choice on the purchase of a virtual product when not ordering via a smartlink?
There are 3 ways this can be done.
Method 1 - If orders are being sent to Kornit X via API then the items object can include
textual_product_id - which should be Kornit X product ID for the virtual product being ordered.
variant_id - which is the ID of the variant on the blank product (which can be obtained from a variant export)
An example of what this may look like is below, both in item type 1 (external) and 3 (POD)
- "items": [
- {
- "sku": "IP4",
- "external_ref": "TEST-0001-01",
- "description": "iPhone 4",
- "quantity": 1,
- "textual_product_id": "12345",
- "variant_id": "987654",
- "type": 1,
- "external_url": "http://my.gateway3d.com/ep/output/output_viewer/0/49020//49020_final.png",
- "external_thumbnail_url": "http://my.gateway3d.com/ep/output/output_viewer/0/49020/49020_thumbnail.png"
- },
- {
- "sku": "IP4",
- "external_ref": "TEST-0001-03",
- "description": "iPhone 4",
- "textual_product_id": "12345",
- "variant_id": "987654",
- "quantity": 1,
- "type": 3,
- "print_on_demand_ref": "hjldskhfj"
- }
This method specifically targets both the virtual and variant to be used when the order is placed
Method 2 - There is a specific SKU format that if it can be adhered to allows virtual variant SKUS to be be build and maintained on the platform and in product feeds.
This format must be as below for the
BLANK PRODUCT
Fulfiller SKU = X
Variant SKU = XY
VIRTUAL PRODUCT
Retail SKU = X{VirtualProductID}
VIRTUAL VARIANT SKUS - X{VirtualProdyuctID}Y
Some other more contextual examples are below
Supplier SKU (on the virtual and master base product = mt
Variant SKU (on the base product) = mt-black-s
Retail SKU (on the virtual) = mt-12345
VIRTUAL VARIANT ORDERED SKU = mt-12345-black-s
Sales Channels can submit this "combination" sku which the platform will be able to use to derrive the virtual variant ordered.
Method 3 - SKU mapping can be used to map any incoming SKU (which should be virtual and variant specific) to a specific product and variant ID in the platform.
SKU map can be set on the dropship normally as SKU would be unique to each sales channel and supplier connection but if needed can also be on Fulfiller if the map applies to all Sales Channels
see image below for a screenshot of the sku mapping page
This is accessed under the Advanced tab on companies and the "SKU Mapping" section.
The core requirements to complete are
FROM SKU - should be the SKU unique to this variant and virtual in the ecommerce system sending the order into the platform
TO PRODUCT ID - should be the Kornit X product ID of the virtual product
TO VARIANT ID - should be the base product variant ID (can be obtained from a variant export)