Product feed setup - Custom platform

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, Salesforce Commerce Cloud, etc) then please refers to those docs for setting up your product feed.

Requirements

  • Product feed in either CSV or JSON (ndjson) 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.

options

array

"options":[

{

"name":"Size",

 "values":["L","XL",XXL"]

},

{

"name":"Inseam",

 "Values":[30 ,32, 34, 36]

},

{

"name":"Color",

 "values":["Black","Blue","Gray"]

}

]

 


Properties of the product. Size is the most option, but can be customized, for example "Pant Waist" and "Pant Inseam"

variants

array

"variants":[

{

  "variantId":"123123321",

  "sku":"SHR-BLK-L-30",

  "option1":"L",

  "option2":30,

  "option3:"Black

}

..

.]

 


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.

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.