Marketplaces / BOL Technical Scope [In Progress] / Authorization, Limits & Database Structure

Authorization, Limits & Database Structure

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 10/05/2023 Bogomil Pavlov First publish
v1.1 07.07.2023 Bogomil Pavlov Move Client ID/Client Secret to integrations tables
v1.2 18.07.2023 Bogomil Pavlov Rename Client ID/Client Secret and move them back to Account Bol

The purpose of this document is to describe how we authenticate on Bol marketplaces and also, to describe the database structure and API limits. We treat Bol as an existing marketplace so the same tables and fields will be used. We will have just new set of crons which have to be activated and the old ones to be stopped.

Authorization

The base URL for all your API connections is https://api.bol.com/retailer.

Bol use Basic OAuth authentication and based on username and password we can generate an access token which expires in 299 seconds.

For the credentials please contact Bogomil PavlovAPI Call: POST https://login.bol.com/token?grant_type=client_credentialsRequest Parameters: grant_type=client_credentials

<v1.2>Mapping:

Bol Field Hemi Field Comment
Username Account Bol > Username Basic Auth
Password Account Bol > Password Basic Auth

We want to store the credentials in Account Bol.**</v1.2>**Sample Request:

Sample Response:

200

{
    "access_token": "eyJraWQiOiJyc2EzIiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiJjODYxYjRkZi1kZTQwLTRjMzUtYjNiZC1jOTBlOGUwNTRhZWEiLCIyZmEtZW5hYmxlZCI6ZmFsc2UsImF6cCI6ImM4NjFiNGRmLWRlNDAtNGMzNS1iM2JkLWM5MGU4ZTA1NGFlYSIsImNsaWVudG5hbWUiOiJIZW1pc3BoZXJlIiwiaXNzIjoiaHR0cHM6XC9cL2xvZ2luLmJvbC5jb20iLCJzY29wZXMiOiJSRVRBSUxFUiIsImV4cCI6MTY4MzcxMTgyMCwiaWF0IjoxNjgzNzExNTIwLCJhaWQiOiJDTE5UQzpiZTJiNzAxNi03MzQ2LWMzNmUtZDEzOC03NzcwODE3M2Y3YmMgU0xSOjE1NjYxODIiLCIyZmEiOmZhbHNlLCJqdGkiOiJhYTJhMzhkZC04NmQwLTRjOGUtYjU1Zi1hNWMyODE0YzZjN2IifQ.Mxp90l970sAmuyyzopby2CZwDx9Qlh2KunbELc9dejjf34KVCkE6ULGEFhAoQNct_3ra0IEZmsItqrj29gvCpPev-XW0pa-1EwNn3OGJ5GF0u57hfpHkSpukrJzpH-LVtFppDfFRoKpdalDE-h1V7IGIq7EpFLCzVCOoMNIxElhfIxxLiJyMk28ghSk-9BNH0lbnRoELHoAlJhwLSO0db_V-EXMP__j9Gq2UPZeLxYNJYBse7KiNId-OTggF5_QlU4ZkXWu0BqJQUwVrAVQR1_xDe_qVGGnzZOHZzYb5Bgbt6nu_vCJmAT_QyXYoDDt_PvgLX6BDSOUolKp5qlN3uQ",
    "token_type": "Bearer",
    "expires_in": 299,
    "scope": "RETAILER"
}

Please note it is up to the dev team if we shall store the access token in the cache or in the database.

Limits

In terms of limits the most important thing is that when we have a client using both FBR and FBB models we will have two separate accounts in Hemi which means their Limits will be shared. So when we are talking about limits we want to group all Accounts with distinct marketplace Bol and the same Account Bol > Username and have shared limits.

[ {
  "path" : "/shared/process-status/*",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "100",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/shared/process-status",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "2",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/shared/process-status",
  "methods" : "POST, OPTIONS",
  "maxCapacity" : "2",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/retailer/transports/*",
  "methods" : "PUT, OPTIONS",
  "maxCapacity" : "10",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/retailer/subscriptions/test/*",
  "methods" : "POST, OPTIONS",
  "maxCapacity" : "1",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/retailer/subscriptions/signature-keys",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "10",
  "timeToLive" : "1",
  "timeUnit" : "HOURS"
}, {
  "path" : "/retailer/subscriptions/*",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "10",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/retailer/subscriptions/*",
  "methods" : "PUT, OPTIONS",
  "maxCapacity" : "10",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/retailer/subscriptions/*",
  "methods" : "DELETE, OPTIONS",
  "maxCapacity" : "10",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/retailer/subscriptions",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "10",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/retailer/subscriptions",
  "methods" : "POST, OPTIONS",
  "maxCapacity" : "10",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/retailer/shipping-labels/delivery-options",
  "methods" : "POST, OPTIONS",
  "maxCapacity" : "240",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/retailer/shipping-labels/*",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "240",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/retailer/shipping-labels",
  "methods" : "POST, OPTIONS",
  "maxCapacity" : "240",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/retailer/shipments/invoices/requests",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "25",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/retailer/shipments/invoices/*",
  "methods" : "POST",
  "maxCapacity" : "25",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/retailer/shipments/*",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "50",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/retailer/shipments",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "25",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/retailer/returns/*",
  "methods" : "PUT, OPTIONS",
  "maxCapacity" : "20",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/retailer/returns/*",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "20",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/retailer/returns",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "20",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/retailer/returns",
  "methods" : "POST, OPTIONS",
  "maxCapacity" : "20",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/retailer/retailers/*",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "25",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/retailer/replenishments/product-labels",
  "methods" : "POST, OPTIONS",
  "maxCapacity" : "10",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/retailer/replenishments/product-destinations/*",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "10",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/retailer/replenishments/product-destinations",
  "methods" : "POST, OPTIONS",
  "maxCapacity" : "10",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/retailer/replenishments/pickup-time-slots",
  "methods" : "POST, OPTIONS",
  "maxCapacity" : "10",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/retailer/replenishments/delivery-dates",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "10",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/retailer/replenishments/*/pick-list",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "10",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/retailer/replenishments/*/load-carrier-labels",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "10",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/retailer/replenishments/*",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "10",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/retailer/replenishments/*",
  "methods" : "PUT, OPTIONS",
  "maxCapacity" : "10",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/retailer/replenishments",
  "methods" : "POST, OPTIONS",
  "maxCapacity" : "10",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/retailer/replenishments",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "10",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/retailer/promotions/*/products",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "25",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/retailer/promotions/*",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "25",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/retailer/promotions",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "25",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/retailer/products/list-filters",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "25",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/retailer/products/list",
  "methods" : "POST, OPTIONS, HEAD",
  "maxCapacity" : "25",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/retailer/products/*/ratings",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "25",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/retailer/products/*/product-ids",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "25",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/retailer/products/*/placement",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "25",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/retailer/products/*/offers",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "25",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/retailer/products/*/assets",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "25",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/retailer/process-status/*",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "100",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/retailer/process-status",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "2",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/retailer/process-status",
  "methods" : "POST, OPTIONS",
  "maxCapacity" : "2",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/retailer/orders/shipment",
  "methods" : "PUT, OPTIONS",
  "maxCapacity" : "25",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/retailer/orders/cancellation",
  "methods" : "PUT, OPTIONS",
  "maxCapacity" : "25",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/retailer/orders/*",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "25",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/retailer/orders",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "25",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/retailer/offers/unpublished/*",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "9",
  "timeToLive" : "1",
  "timeUnit" : "HOURS"
}, {
  "path" : "/retailer/offers/unpublished",
  "methods" : "POST, OPTIONS",
  "maxCapacity" : "5",
  "timeToLive" : "1",
  "timeUnit" : "HOURS"
}, {
  "path" : "/retailer/offers/export/*",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "9",
  "timeToLive" : "1",
  "timeUnit" : "HOURS"
}, {
  "path" : "/retailer/offers/export",
  "methods" : "POST, OPTIONS",
  "maxCapacity" : "9",
  "timeToLive" : "1",
  "timeUnit" : "HOURS"
}, {
  "path" : "/retailer/offers/*/stock",
  "methods" : "PUT, OPTIONS",
  "maxCapacity" : "50",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/retailer/offers/*/price",
  "methods" : "PUT, OPTIONS",
  "maxCapacity" : "50",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/retailer/offers/*",
  "methods" : "PUT, OPTIONS",
  "maxCapacity" : "50",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/retailer/offers/*",
  "methods" : "DELETE, OPTIONS",
  "maxCapacity" : "50",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/retailer/offers/*",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "25",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/retailer/offers",
  "methods" : "POST, OPTIONS",
  "maxCapacity" : "50",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/retailer/invoices/*/specification",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "9",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/retailer/invoices/*",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "24",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/retailer/invoices",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "24",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/retailer/inventory",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "20",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/retailer/insights/search-terms",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "10",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/retailer/insights/sales-forecast",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "25",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/retailer/insights/price-star-boundaries/*",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "50",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/retailer/insights/performance/indicator",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "20",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/retailer/insights/offer",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "25",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/retailer/content/upload-report/*",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "10",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/retailer/content/products",
  "methods" : "POST, OPTIONS",
  "maxCapacity" : "10",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/retailer/content/chunk-recommendations",
  "methods" : "POST, OPTIONS",
  "maxCapacity" : "10",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/retailer/content/catalog-products/*",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "10",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/retailer/commission/*",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "28",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/retailer/commission",
  "methods" : "POST, OPTIONS",
  "maxCapacity" : "28",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/advertiser/sponsored-products/target-products/*",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "40",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/advertiser/sponsored-products/target-products/*",
  "methods" : "PUT, OPTIONS",
  "maxCapacity" : "200",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/advertiser/sponsored-products/target-products",
  "methods" : "POST, OPTIONS",
  "maxCapacity" : "200",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/advertiser/sponsored-products/target-products",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "40",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/advertiser/sponsored-products/share-of-voice/reports/*",
  "methods" : "POST, OPTIONS, HEAD",
  "maxCapacity" : "30",
  "timeToLive" : "1",
  "timeUnit" : "HOURS"
}, {
  "path" : "/advertiser/sponsored-products/share-of-voice/reports/*",
  "methods" : "GET",
  "maxCapacity" : "10",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/advertiser/sponsored-products/search-term-performance/*",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "100",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/advertiser/sponsored-products/product-performance/*",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "100",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/advertiser/sponsored-products/negative-keywords/*",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "40",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/advertiser/sponsored-products/negative-keywords/*",
  "methods" : "DELETE",
  "maxCapacity" : "200",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/advertiser/sponsored-products/negative-keywords",
  "methods" : "POST, OPTIONS",
  "maxCapacity" : "200",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/advertiser/sponsored-products/negative-keywords",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "40",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/advertiser/sponsored-products/keywords/*",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "40",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/advertiser/sponsored-products/keywords/*",
  "methods" : "PUT, OPTIONS",
  "maxCapacity" : "200",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/advertiser/sponsored-products/keywords/*",
  "methods" : "DELETE, OPTIONS",
  "maxCapacity" : "200",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/advertiser/sponsored-products/keywords",
  "methods" : "POST, OPTIONS",
  "maxCapacity" : "200",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/advertiser/sponsored-products/keywords",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "40",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/advertiser/sponsored-products/keyword-performance/*",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "100",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/advertiser/sponsored-products/campaigns/*",
  "methods" : "PUT, OPTIONS, HEAD",
  "maxCapacity" : "200",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/advertiser/sponsored-products/campaigns/*",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "40",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/advertiser/sponsored-products/campaigns",
  "methods" : "POST, OPTIONS, HEAD",
  "maxCapacity" : "200",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/advertiser/sponsored-products/campaigns",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "40",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/advertiser/sponsored-products/campaign-performance/*",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "100",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/advertiser/sponsored-products/advertiser-performance",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "100",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/advertiser/sponsored-products/ad-groups/*",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "40",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/advertiser/sponsored-products/ad-groups/*",
  "methods" : "PUT, OPTIONS, HEAD",
  "maxCapacity" : "200",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/advertiser/sponsored-products/ad-groups",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "40",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
}, {
  "path" : "/advertiser/sponsored-products/ad-groups",
  "methods" : "POST, OPTIONS",
  "maxCapacity" : "200",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/advertiser/sponsored-products/ad-group-performance/*",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "100",
  "timeToLive" : "1",
  "timeUnit" : "MINUTES"
}, {
  "path" : "/advertiser/assortments",
  "methods" : "GET, OPTIONS, HEAD",
  "maxCapacity" : "40",
  "timeToLive" : "1",
  "timeUnit" : "SECONDS"
} ]

Database Structure

Since we already have inactive integration for Bol we will be using the same structure with the same distinct marketplace.

However couple of additional fields will be required to be added in Account Bol table.

Hemi Field Label Type Default Value Required
Return Action Default dropdown empty No
Cancel Action Default dropdown empty No
Fulfilment Method dropdown two options “FBR“ and “FBB” Yes
Country dropdown two options one for Netherlands and one for Belgium
”nl” and “bl“ Yes

<v1.2>Also we would like to rename:

Old Label New Label
Account Bol > Client ID Account Bol > Username
Account Bol > Client Secret Account Bol > Password
Is this article helpful?
0 0 0