Connect your Bol.com seller account to EcomCentral using the Retailer API v10 with OAuth2 client credentials flow.
client_id and client_secret
via POST https://login.bol.com/token?grant_type=client_credentials.
| Key | Required | Description | Example |
|---|---|---|---|
client_id |
Required | OAuth2 Client ID from the Bol.com Developer Portal | xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
client_secret |
Required | OAuth2 Client Secret (shown only once at creation) | secret_xxxxx… |
sandbox |
Optional | Set to true to use the shared demo environment (/retailer-demo) |
false |
clientId / clientSecret are also accepted.
| Operation | Method | Endpoint |
|---|---|---|
| Test connection (get token) | POST | https://login.bol.com/token?grant_type=client_credentials |
| List orders | GET | /retailer/orders?page=P&status=ALL |
| Order detail | GET | /retailer/orders/{order-id} |
| Create shipment (tracking) | POST | /retailer/shipments |
| FBB inventory | GET | /retailer/inventory?page=P |
| Update offer stock | PUT | /retailer/offers/{offer-id}/stock |
| Get offer | GET | /retailer/offers/{offer-id} |
Accept: application/vnd.retailer.v10+json and
Content-Type: application/vnd.retailer.v10+json. EcomCentral sets these automatically.
When adding tracking via the API, a Bol.com-specific transporter code is required. The EcomCentral tracking form provides a dropdown with common codes:
OTHER for carriers not in the list. Check the Bol.com Retailer API documentation
for the full and up-to-date list of transporterCode values.
| Feature | Supported | Notes |
|---|---|---|
| View orders (paginated) | ✅ | Order ID, date, first item fulfilment status (list endpoint is lean — no total price) |
| View order detail | ✅ | Customer, billing & shipping address, all order items with price, commission, fulfilment method |
| Add tracking / create shipment | ✅ | Bol.com transporter code + track & trace number. Async: returns 202 + processStatusId |
| View FBB inventory | ✅ | EAN, title, regular FBB stock. FBR offers are not included |
| Update offer stock | ✅ | Requires offer UUID (not EAN). Async 202 response. |
| Test connection | ✅ | Successful OAuth2 token acquisition confirms credentials |
| View all offers (products) | ❌ | Bol.com offers list is async (CSV export only) — not suitable for real-time paged display. FBB inventory is used instead. |
offerId (a UUID), not the EAN. Find your offer IDs in the Bol.com seller dashboard
under Manage Offers or via the API offers export.
| Status | Meaning |
|---|---|
OPEN | Order item received; awaiting shipment |
HANDLING | Being processed at Bol.com (FBB only) |
SHIPPED | Shipment created and tracking submitted |
CANCELLED | Fully cancelled by buyer or retailer |
PARTIALLY_CANCELLED | Only part of the quantity was cancelled |
EXPIRED | Delivery deadline passed without shipment |
The client_id or client_secret is incorrect. Verify both in the
Bol.com Developer Portal. If the secret was lost, regenerate and update via Rotate Keys.
The order must have at least one item with a valid orderItemId. Orders in
CANCELLED or SHIPPED status cannot receive new shipments.
Ensure you are using the offer UUID, not an EAN or SKU.
The offer UUID looks like xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
Passing an EAN will result in a 404 from Bol.com's API.
The /retailer/inventory endpoint only returns stock held in Bol.com
fulfilment centres (FBB). If you fulfil orders yourself (FBR), your offers will not
appear here — use the Bol.com offer export instead.