Bol Delete Offer
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)
Date | Version | Created / Updated | Notes |
---|---|---|---|
10/05/2023 | v1.0 | Bogomil Pavlov | First publish |
The purpose of this document is to describe how we delete offer on Bol
The delete request is product per product and the triggers is: Product Account > End Listing = YesProduct Account > Product Status = Product PublishedProduct Account > Channel Item Id != ““
API Call: DEL https://api.bol.com/retailer/offers/{offer-id}API Docs: https://api.bol.com/retailer/public/redoc/v9/retailer.html#tag/Offers/operation/delete-offer
The offer-id is our Product Account > Channel Item ID. The offer price updates are product per productSample Response: There is no body or parameters
Sample Response:
{
"processStatusId": "1234567",
"entityId": "987654321",
"eventType": "DELETE_OFFER",
"description": "Example process status description for processing 987654321.",
"status": "SUCCESS",
"errorMessage": "Example process status error message.",
"createTimestamp": "2018-11-14T09:34:41+01:00",
"links": [
{
"rel": "self",
"href": "https://api.bol.com/shared/process-status/1234567",
"method": "GET"
}
]
}
The offer delete is asynchronous and we will have to create a new feed in Marketplace Feeds table.
After each successfully sent feed for offer delete we will receive the processStatusId
from the response and need to store it in Marketplace Feeds table with the rest of the details as follows.
Bol Field | Hemi Field | Comment |
---|---|---|
processStatusId |
Marketplace Feed > External ID | |
Marketplace Feed > Account | For which account is the feed generated. | |
eventType |
Marketplace Feed > External Type | |
Marketplace Feed > Type | Hardcoded as “Delete Offer “ |
|
createTimestamp |
Marketplace Feed > Submitted Date | When the feed is submitted |
Marketplace Feed > Sent Objects Count | How many products we have pushed in the feed | |
Marketplace Feed > Status | If the external status is “PENDING“ we want to set the status as “Processing“. | |
If the external status is “SUCCESS“ or “FAILURE” or “TIMEOUT” we want to set the status as “Completed“. | ||
status |
Marketplace Feed > External Status |
If the offer is deleted successfully we want to mark it as: Product Account > End Listing = NoProduct Account > Product Status = Product RemovedProduct Account > Channel Item Id = ““
If any errors are returned we want to store them in Product In Order > End Listing Error after the Bol Product Response Reader
Please note we will also add the feed objects which after processing need to be removed.