Feed params allow you to customize parsing of custom product feeds. Feed Params is an JSON object that represent how is the feed structured, as CSV or XML file.
Our system is intelligent enough to deal with lots existing feeds formats, as well as customizing it to fit your needs.
Feed Encoding
Sometimes encoding breaks data flows over the internet. While UTF-8 is the most common encoding format, there are some others as well. Choose the right one, if the default breaks (check the Errors tab)
Feed Pagination
We can handle very large files (a few GB in size), but some servers are not able to create those file on the spot. If you don’t have a system that builds a cache of the file, we can do that for you.
In order to synchronise all the products, our system is able to make multiple, paginated calls, that in the end will build a single file.
Note that single product data file is required in order to spot the differences between last parse and current one.
To setup feed pagination you need to have the following option:
concat: 200 (Any integer value in here, higher than 50, will consider a paginated feed and will make subsequent files)
When calling the product feed URL, 2 params will be passed to the endpoint at each request: start and limit
Product Attributes
Our product schema uses special attribute names that are required throughout the system: price, discountPrice, title, category, idInShop, image, url, description, stock, main. Beside these you are free to extend product attributes and use them in product algorithms, templates and a few more places.
Depending on the settings, some fields can be set mandatory. The following attributes are required when creating the product feed:
- Product IDÂ (required)
- Title (required)
- Category (a root category will be automatically added to all products)
- Image (if missing and mandatory, we will set it to https://files2.vtcdn.net/_assets/images/no_image.png)
Reserved product attributes
There is a list of default attribute names that are reserved and can not be modified:
"viewed7": { "type": "integer" }, "purchased7": { "type": "integer" }, "updatedOn": { "type": "date" }, "createdOn": { "type": "date" }, "url": { "type": "text", }, "image": { "type": "text", }, "title": { "type": "text", }, "category": { "type": "integer" }, "description": { "type": "text", }, "price": { "type": "float" }, "discount": { "type": "float" }, "discountPrice": { "type": "float" }, "old_price": { "type": "float" }, "idInShop": { "type": "string" }, "stock": { "type": "integer" }, "active": { "type": "boolean" }, "main": { "type": "boolean" }, "parent": { "type": "string" }
Adding new attributes
You can have other attributes in your product feed that you want to use in our system.
There are a few rules to consider about them:
- by default they will be saved as string (text). You can modify this behaviour using type and csv_type. Type is the final format and csv_type is the one found in the csv. Possible values are: string, float, integer, boolean
- process section will process the field and support transformation, conditional method. Please contact us regarding transforming fields from a value to another. Examples
- Slice description
- Transform: “in stock” to integer stock value
- split text into multiple values
To add the new attributes:
- Go to Setup Catalogue
- In the Feed Params section follow instructions to extend default configuration.