Connecting Bol.com
Connect the #1 marketplace in the Netherlands and Belgium via OAuth2 client credentials.
About Bol.com
Before you start
- An active Bol partner account (Bol verifies your Chamber of Commerce / VAT registration first)
- API credentials — navigate to Settings → API → Generate credentials. You will get a Client ID and Client Secret. Copy the secret immediately; Bol will not show it again.
Connecting your account
- Go to Admin → Marketplace → Channels and click New Channel.
- Select Bol.com as the platform.
- Choose the marketplace: NL (Netherlands) or BE (Belgium). If you sell on both, create two channels.
- Pick the Shopify store to use as the product source.
- Name the channel (e.g. “Bol.com NL”).
- Click Create Channel.
- Paste your Client ID and Client Secret.
- Click Save Credentials. ShipWave performs an OAuth2 client_credentials exchange against
login.bol.com/tokenand verifies the channel reaches/retailer/orderssuccessfully.
How orders flow in
/retailer/orders endpoint every 5 minutes for new OPEN orders — this is more reliable than webhooks for FBR sellers. For each new order, ShipWave fetches order detail and imports it. Bol uses per-order-item ship and cancel calls (you ship line items independently), and many endpoints return a processStatusId rather than a synchronous result — ShipWave polls /shared/process-status/{id} with exponential backoff (capped at 10 retries, max 200ms cap per backoff step) until the status resolves. If you sign HMAC webhooks for instant order push, ShipWave validates the X-BOL-Signature header automatically.Listings and inventory sync
PUT /retailer/offers/{offerId}/price and /stock. All endpoints are async — ShipWave waits on the processStatus before reporting success. For the broader listing workflow see Listing statuses.EUR + VAT inclusive pricing
Common issues
“processStatus FAILED” after ship call – tracking carrier code is not recognised. Bol expects exact codes like
DHL, POSTNL, DPD, BPOST_BE. Set the mapping under Channel settings → Carrier mapping.“Offer rejected: EAN not found” – the EAN does not exist in Bol’s catalog. You will need to add the product through the Bol seller portal first — the API cannot create new catalog entries.
Inventory drift – Bol caches offer state for ~15 minutes. After a stock push, allow 15 minutes before checking the listing on the site.
FAQs
More in ShipWave Channels
- ShipWave Channels overview
Sell on Amazon, eBay, Etsy, Walmart, and TikTok Shop from one dashboard.
- Getting started with ShipWave Channels
A quick-start guide to connecting your first marketplace and pushing your first listing.
- Connecting Amazon Seller Central
Complete guide to connecting your Amazon seller account via SP-API.
- Connecting eBay
Connect your eBay seller account to list products and manage orders.
- Connecting Walmart Marketplace
Connect your Walmart Seller Center account using API credentials.
- Connecting Etsy
Connect your Etsy shop to list handmade and vintage items.
- Connecting TikTok Shop
Connect your TikTok Shop to sell products directly through TikTok.
- Managing multiple channels
Best practices for managing multiple marketplace channels from one dashboard.
- Reconnecting and troubleshooting connections
How to fix connection issues and reconnect expired or failed marketplace channels.
- Creating marketplace listings
How to create individual listings for products on your marketplace channels.
- Bulk listing operations
Create, update, and manage listings in bulk for efficient catalog management.
- Understanding listing statuses
What each listing status means and how to handle status changes.
- Pushing and syncing listings
How to push listings to marketplaces and keep them in sync.
- Listing validation by platform
Platform-specific listing requirements and how to pass validation.
- Creating listing templates
Build reusable templates with variables for dynamic listing content.
- Mapping categories to marketplaces
How to map Shopify product types to marketplace category taxonomies.
- Required category attributes
Understanding and filling in marketplace-required attributes for each category.
- Setting up pricing rules
Control how Shopify prices translate to each marketplace with markup rules, rounding, and formulas.
- Advanced pricing formulas
Create custom pricing formulas for complex pricing scenarios.
- How inventory sync works
Understanding real-time and periodic inventory synchronization across channels.
- Inventory buffers and floors
Configure safety stock settings to prevent overselling on marketplaces.
- Preventing overselling
How ShipWave prevents overselling across multiple marketplace channels.
- Importing marketplace orders
How marketplace orders are automatically imported into ShipWave and Shopify.
- Fulfilling marketplace orders
How to fulfill marketplace orders through ShipWave and sync tracking back.
- Tracking sync to marketplaces
How tracking numbers are automatically pushed to marketplace platforms.
- Understanding sync logs
How to read and interpret sync logs for troubleshooting and monitoring.
- Troubleshooting sync issues
Common sync problems and how to fix them.
- Reusable marketplace listing templates
Define a title, description, and bullets once with variables for the parts that change, then bulk-apply across hundreds of listings per channel.
- Connecting Mirakl-powered marketplaces
Use one ShipWave adapter to sell on Tesco UK, B&Q, Argos, Walmart.fr, Fnac, and dozens of other Mirakl operators.
- Connecting Allegro
Connect Poland's #1 marketplace and reach ~200M monthly visitors via OAuth2.
- Connecting Cdiscount
Connect France's #2 marketplace using your seller username and password.
- Connecting Otto.de
Connect Germany's #2 marketplace with OAuth2 client credentials and auto-subscribed webhooks.
- Connecting Kaufland Global Marketplace
Sell on 14 European storefronts (DE, AT, SK, CZ, PL, HR, RO, BG, EE, HU, LV, LT, SI, MK) from one ShipWave account.