The Range - Price Update - In progress
The purpose of this page is to describe in detail how to use functionality “update Price“ on The Range MP.
Price needs to be “updated” when we are creating a product for the first time and/or In live trading scenarios when we have a flag Update Price = Pending.
When we create a product, we have a separate node where we can push the price of the product.
Please see below the case with Update Price flag on “Pending“
Price update flow & statuses:
We are able to update the price when we have the following internal statuses:
Product status = Product Published; Listing Status = Active; Update price - Pending;
If update was successful, we will have following statuses:
Product status -Product Published; Listing Status -Active; Update Price - Not Needed;
If we receive an error, we will have:
Product status -Product Published; Listing Status -Active; Update Price - Error and we must store the respectively error into the field “Update Price Error“
API Call: POST https://supplier.rstore.com/rest/product_feed.api?supplier_id=12345
API Docs: https://marketplacetherange.zendesk.com/hc/en-gb/articles/360018370397-API-Product-Feed
Example Call:
{
"product_arr": [
{
"vendor_sku": "ABC 123",
"price_arr": [
{
"price": "999.99",
"currency": "GBP",
"effective_from": "2099-12-01" #date must be in the future
}
]
},
{
"vendor_sku": "DEF 456",
"price_arr": [
{
"price": "999.99",
"currency": "GBP",
"effective_from": "2099-12-01" #date must be in the future
}
]
}
]
}
In order to perform price update, we need to push the vendor_sku
. This means we are able to push different price to a different variants of the product.
Mapping:
Integration Field | Integration Notes | Integration required | Hemi Mapping | Hemi Notes | ||
---|---|---|---|---|---|---|
product_arr |
||||||
vendor_sku |
Yes | Product > SKU | ||||
price_arr |
||||||
price |
Yes | Product Account > Price | ||||
currency |
GBP only ( Not supporting other currencies at the moment ) | TBD | If support only 1 currency, we do not need this to be taken from Account > Exchange Rate Calculator field “currency“?? | |||
effective_from |
2099-12-01" #date must be in the future | TBD | TBD | Some more clarifications needed here. Is it mandatory field? |
Example response:
{"result":[{"label": "product_feed", "sku_list":"tstprd,tstprd999"}]}
Error cases:
TBC - If we update price for 10 variants, and we have incorrect parameters only for one variant, what will be the response? It will show us the variants which update were successful and the failed variant? Or it will show a general error to all variants and no one of the variant will be updated?
1. This response will be returned if the cookie is missing or we are not logged:
HTTP/1.0 401 Not Authenticated
User not authenticated
2. This response will be returned if we are not authorized
HTTP/1.0 400 Invalid Request
User not authorised to send product feeds for this supplier
3. This response will be returned if we did not pushed the information into product array.
HTTP/1.0 400 Invalid Request
Invalid JSON provided
4. This response will be returned if we have missed to fill the vendor_sku ( similar error if the other required fields are missing)
HTTP/1.0 400 Invalid Request Invalid JSON: No Vendor SKU found for this product