Bol.com Adapter
NexusCommerce integration with the Bol.com Retailer API for the Netherlands and Belgium marketplaces.
Overview
The Bol.com adapter connects NexusCommerce to the Bol.com Retailer API (v10), covering the Netherlands (.nl) and Belgium (.be) marketplaces. Bol.com is the dominant e-commerce platform in the Benelux region, with over 12 million active customers.
Key Concepts
Retailer API v10 — The current Bol.com API version. Uses OAuth 2.0 client credentials for authentication. The API is RESTful with JSON payloads.
EAN — Bol.com uses European Article Numbers (EAN-13) as the primary product identifier. Your products must have valid EANs to list on Bol.com.
LVB — Logistiek via Bol.com (Fulfilled by Bol). Similar to Amazon FBA — Bol.com stores and ships on your behalf. LVB inventory is read from the API and displayed read-only in NexusCommerce.
Offer — Bol.com's term for a seller's listing of a product (equivalent to a marketplace listing in NexusCommerce). Multiple sellers can have offers for the same EAN.
Getting Started
Required Credentials
| Field | Description |
|---|---|
| Client ID | From the Bol.com Seller Portal under API Settings |
| Client Secret | From the Bol.com Seller Portal under API Settings |
Authentication
The adapter uses the OAuth 2.0 client credentials flow:
POST https://login.bol.com/token
Content-Type: application/x-www-form-urlencoded
grant_type=client_credentials&client_id=<id>&client_secret=<secret>Access tokens expire after 5 minutes. The adapter refreshes automatically.
Features
Catalog Sync
Products (offers) are fetched via GET /retailer/offers with pagination. The adapter maps Bol.com offer data to NexusCommerce's product schema.
Bol.com offer fields mapped:
| Bol.com Field | NexusCommerce Field |
|---|---|
| offerId | external_listing_id |
| ean | gtin |
| condition | condition |
| price.regularPrice | price |
| stock.amount | quantity |
| fulfilment.method | fulfillment_method |
| status | status |
Order Sync
Orders are fetched via GET /retailer/orders with status and date filters. Each order includes shipment details and the list of order items with EAN and quantity.
Bol.com order statuses:
| Bol.com Status | NexusCommerce Status |
|---|---|
| OPEN | confirmed |
| PENDING | pending |
| SHIPPED | shipped |
| DELIVERED | delivered |
| RETURNED | return_received |
Shipment Confirmation
Submit shipment confirmations via PUT /retailer/orders/{orderId}/shipment. Required: transport company (carrier code) and track and trace code.
Bol.com accepts a standardized list of carrier codes. NexusCommerce maps common carrier names to Bol.com carrier codes automatically:
| Carrier | Bol.com Code |
|---|---|
| PostNL | TNT |
| DHL | DHL |
| DPD | DPD_BE / DPD_NL |
| UPS | UPS |
| FedEx | FEDEX |
Webhook Support
The Bol.com adapter registers webhooks for real-time order notifications. Supported events:
NEW_ORDER— A new order was placedSHIPMENT_RECEIVED— A shipment was received (for returns)RETURN_REQUESTED— A customer requested a return
Webhooks are registered via POST /retailer/subscriptions and verified using the X-Bol-Signature header.
Returns
Returns are fetched via GET /retailer/returns. The adapter maps Bol.com return reason codes to NexusCommerce's normalized reason codes.
Return acceptance/rejection is done via PUT /retailer/returns/{returnId}.
Inventory Update
Inventory is updated via PUT /retailer/offers/{offerId}/stock. The adapter sends the new amount and managedByRetailer flag (set to true for seller-managed stock).
Configuration
| Setting | Description | Default |
|---|---|---|
| Marketplace | nl (Netherlands) or be (Belgium) | nl |
| LVB inventory | Pull LVB stock levels (read-only) | Enabled |
| Offer condition | Default condition for new offers | NEW |
| Backorder | Allow backorder when stock = 0 | Disabled |
| Delivery promise | Delivery time promise shown on listing | 1-2 business days |