Noon Price Update
Summary of Changes: (The purpose of this table is to keep traceability and Product team to highlight the things that were changed into the scope, based on comments or discussions)
Version | Date | Created / Updated | Notes |
---|---|---|---|
v1.0 | 01/09/2023 | Hristiyan | First publish |
v1.1 | 12/11/2024 | Milen | Namshi dates specifics added |
The price update needs to be sent as a csv file on an sFTP folder. So we need to produce the file and drop it on the dedicated SFTP. In order to control this we want to use the FTP Credentials
table where we input the details and for the price updates we want to control this via an FTP path labelled ‘Send Prices’
The csv file needs to be comma delimited (,)
The file name structure is : Price_Import_YYYYMMDDHHMISS.csv
Mapping : Please note N/A means we exclude it and not map to anything
CSV Header Name | Notes | Hemi FIeld | Comments |
---|---|---|---|
country_code |
Account Noon > Country Code |
We need to provide this with every price update. | |
id_partner |
Account Noon > Partner ID |
This will be an ID which Noon provides for every seller. It is required when sending price updates | |
partner_sku |
Product Account > ChannelItemId |
Product SKU will be matching the ChannelItemId | |
price |
Product Account > RRP |
OR
Product Account
> Price
| This will be based on our RRP handling in the abstraction - Price Update General requirements |
| sale_price
| | Product Account
> Price
| We only send this if we have RRP
> Price
, otherwise we send it as blank |
| sale_start
| | Product Account Noon
> Sale Start Date
| New table and field.
The sale start and end date are required if we are sending sale_price
so we need to have a validation if we are sending sale_price
we need to be sending the start and end date of the sale. If the Sale Start Date
is empty and we are trying to send sale_price
we need to send 'CURTIME' as Sale Start Date
.The format is DD/MM/YYYY so we don’t need to send time.
If no sale_price
is being sent, we should send this as empty value, even if there is data filled in it.
<v1.1> For Account → Distinct Marketplace = ‘namshi’, the format is ‘YYYY-MM-DD HH:MI:SS’ </v1.1> |
| sale_end
| | Product Account Noon
> Sale End Date
| New table and field.
The sale start and end date are required if we are sending sale_price
so we need to have a validation sale_price
we need to be sending the start and end date of the sale. If the Sale End Date
is empty and we are trying to send sale_price
we need to send ‘CURTIME + 1 year' as Sale End Date
. The format is DD/MM/YYYY so we don’t need to send time.
If no sale_price
is being sent, we should send this as empty value, even if there is data filled in it.
<v1.1> For Account → Distinct Marketplace = ‘namshi’, the format is ‘YYYY-MM-DD HH:MI:SS’ </v1.1> |
Validations if to pick an update or not should be as per our standard abstraction Price Update General requirements
We don’t need to add additional logic for Product status
and Listing status
for this integration, we keep it as per abstraction.
Since this will be a one-way communication (we will not receive a response from the marketplace) we want to treat every price update as successful, so once it has passed our internal validations and a file was generated and successfully uploaded to the FTP, we should mark the Product Account
> Update Price
to ‘Not Needed’.