Marketplaces / BOL Technical Scope [In Progress] / Bol Product Management / Bol Update Offer Price

Bol Update Offer Price

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 update Offer Price on Bol.

We want all triggers, validations and standardizations which are not mentioned here to be a per Price Update General requirements

API Call:PUT https://api.bol.com/retailer/offers/{offer-id}/priceAPI Docs: https://api.bol.com/retailer/public/redoc/v9/retailer.html#tag/Offers/operation/update-offer-price The offer-id is our Product Account > Channel Item ID. The offer price updates are product per product

Sample Request:

{
  "pricing": {
    "bundlePrices": [
      {
        "quantity": 1,
        "unitPrice": 9.99
      }
    ]
  }
}

Mapping:

Bol Field Required Hemi Field Comment
pricing
bundlePrices
quantity Yes “1“ Hardcoded as “1“
unitPrice Yes Product Account > Price

Sample Response:

{
  "processStatusId": "1234567",
  "entityId": "987654321",
  "eventType": "UPDATE_OFFER_PRICE",
  "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 price update is asynchronous and we will have to create a new feed in Marketplace Feeds table. After each successfully sent feed for offer price update we will receive the processStatusIdfrom 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 “Update Price
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 any errors are returned we want to store them in Product Account > Update Price Error after the Bol Product Response Reader

Please note we will also add the feed objects which after processing need to be removed.

Is this article helpful?
0 0 0