Setup product feed for Fit Advisor to integrate with your custom e-comm platform using SFTP
Before you begin
If you are using a 3rd party e-comm platform (Shopify, BigCommerce, etc) then please refers to those docs for setting up your product feed.
Requirements
- Product feed in either JSON (ndjson) or CSV file format
- Ability to push files (daily) over SFTP
SFTP Transfer
- Transfer is expected to be pushed daily with full set of products (does not need to be a diff of changes).
- We will need a public key and IPs to whitelist
Product feed file formats
Both JSON and CSV file formats are accepted formats to push product feed to Fit Advisor platform. Typically this will depend on how products are stored in your platform or what available formats are already being exported. The benefit to JSON is that product data can remain structured and does not need to be flattened (denormalized) into variants resulting in a larger amount of data to sync.
Using JSON (preferred)
- Important to note that the expected file format is ndjson where each file line is a json object.
productId string |
"productId":"123412341234" Unique identifier for the product. Typically an unsigned int or GUID |
productKey string |
"productKey":"mens-shirt-longsleeve" Human-friendly unique identifier. Also referred to as productHandle. If not available, productId will be used. |
createdAt string |
"createdAt":"2012-02-15T15:12:21-05:00" Product created timestamp in ISO 8601 format |
title string |
"name": "Men’s Long-sleeve Shirt" Human-friendly product title or name |
category string |
"category": "shirts-long-sleeve" Categorization of the product, also referred to as productType. |
tags string |
"tags":"shirt, long sleeve, mens" A string of comma separated tags for additional metadata |
vendor string |
"vendor":"My Sub Brand" The name of the products vendor. Can also distinguish brands in a multi-brand scenario |
image string |
"image":"https://cdn.mysite.com/image.jpg" Images associated with product |
published boolean |
"published":true If product is currently published on ecomm site. If unsure, default to true. |
gender string (optional) |
"gender":"female" Gender of product: male | female | unisex |
options array |
"options":[
Properties of the product. Size is the most option, but can be customized, for example "Pant Waist" and "Pant Inseam" |
variants array |
"variants":[
A list of product variants representing all the versions of the product. |
Using CSV
- Flat files (denormalized) in csv format using data format below.
- Each row represents a variant. I.e. a product with 10 variants would be represented as 10 rows with productId repeated in each row.
Product data format (product variant per row):
productId string |
"productId":"123412341234" Unique identifier for the product. Typically an unsigned int or GUID |
productKey string |
"productKey":"mens-shirt-longsleeve" Human-friendly unique identifier. Also referred to as productHandle. If not available, productId will be used |
createdAt string |
"createdAt":"2012-02-15T15:12:21-05:00" Product created timestamp in ISO 8601 format |
title string |
"name": "Men’s Long-sleeve Shirt" Human-friendly product title or name |
category string |
"category": "shirts-long-sleeve" Categorization of the product, also referred to as productType. |
tags string |
"tags":"shirt, long sleeve, mens" A string of comma separated tags for additional metadata |
vendor string |
"vendor":"My Sub Brand" The name of the products vendor. Can also distinguish brands in a multi-brand scenario |
image string |
"image":"https://cdn.mysite.com/image.jpg" Images associated with product |
published boolean |
"published":true If product is currently published on ecomm site. If unsure, default to true. |
gender string (optional) |
"gender":"female" Gender of product: male | female | unisex |
variantId |
"variantId":"1231414241241" Unique identifier for product variant. Each version of the product should be represented as a distinct variant |
sku |
"sku":"SHR-XL-30-LGY" SKU value that represents that current product variant |
option1Name string |
"option1Name":"Size" Name of property for the product. Most common property is Size. |
option1Value string |
"option1Value":"XL" Property value of the product. |
option2Name string |
"option2Name":"Inseam" Property value of the product. |
option2Value string |
"option2Value":"30" Property value of the product. |
option3Name string |
"option3Name":"Color" Property name of the product. |
option3Value string |
"option3Value":"Light Gray" Property value of the product. |