> ## Documentation Index
> Fetch the complete documentation index at: https://docs.alumio.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Bol.com

> Connect Alumio to Bol.com.

## Extra information

System documentation: [https://api.bol.com/retailer/public/Retailer-API/index.html](https://api.bol.com/retailer/public/Retailer-API/index.html)

## Connector package documentation

### Table of Contents

* **1.** Setting up HTTP Client Bol.com
  * **1.1** Steps
* **2.** Subscribing to entities from Bol.com
  * **2.1** Steps
  * **2.2** General concept
* **3.** Publishing entity to Bol.com
  * **3.1** Steps
  * **3.2** General concept

### 1. Setting up HTTP Client Bol.com

**1.1 Steps**

1. In Alumio Dashboard, go to Clients > HTTPS Client. Create a new HTTP Client and select Bol.com v9 HTTP Client as the prototype of the HTTP Client.

2. Fill in the Base URI, Token URI, Client Type, Client id, and Client Secret.

3. You can optionally enable logging of requests to get the log of the authentication.

4. Click on Grant access to Bol.com to get the Key.

5. Save the HTTP Client after the key has been provided.

<img src="https://mintcdn.com/alumio/Y4FUbluEreYeFn73/images/connectors/bol-com-01.png?fit=max&auto=format&n=Y4FUbluEreYeFn73&q=85&s=5f2e9eb5419b3654282c0e93ea7ada7a" alt="Bol.com connector screenshot 1" width="690" height="480" data-path="images/connectors/bol-com-01.png" />

### 2. Subscribing to Entities from Bol.com

**2.1 Steps**

1. Go to Connections -> Incoming and create a new incoming configuration and select Bol.com v9 Advertiser Subscriber, Bol.com Retailer v9 Subscriber, or Bol.com v9 Shared Subscriber as the subscriber.

<img src="https://mintcdn.com/alumio/Y4FUbluEreYeFn73/images/connectors/bol-com-02.png?fit=max&auto=format&n=Y4FUbluEreYeFn73&q=85&s=37c10663fd3e0d06c420761d987a795f" alt="Bol.com connector screenshot 2" width="690" height="157" data-path="images/connectors/bol-com-02.png" />

2. Select the entity you want to subscribe to from Bol.com.

3. Add any request parameters needed to subscribe to the entity (optional).

4. You can optionally add a transformer to transform the request parameters into something you need.

5. Select the Bol.com HTTP Client to use. (Please set the Client Type according to what you need for the Subscriber)

**2.2 General Concept**

We follow Bol.com documentation on building this connector so you can easily use the connector based on Bol.com API Reference.

**Entity**

It’s the entity you want to subscribe from Bol.com. Please refer to the entities in Management APIs from Bol.com API Reference.

**Request Parameters**

These are the parameters you can provide to get the needed entity based on Bol.com API Reference. Please look at the example below on how to fill the Request Parameters field when subscribing ["Retrieve an offer by its offer id"](https://api.bol.com/retailer/public/redoc/v9/retailer.html#tag/Offers/operation/get-offer).

<img src="https://mintcdn.com/alumio/Y4FUbluEreYeFn73/images/connectors/bol-com-03.png?fit=max&auto=format&n=Y4FUbluEreYeFn73&q=85&s=cd7c4a9d7a5a115eb5b70fb5d470da5c" alt="Bol.com connector screenshot 3" width="690" height="320" data-path="images/connectors/bol-com-03.png" />

<img src="https://mintcdn.com/alumio/Y4FUbluEreYeFn73/images/connectors/bol-com-04.png?fit=max&auto=format&n=Y4FUbluEreYeFn73&q=85&s=0f3dde3894c499a28d991bb2d1eed710" alt="Bol.com connector screenshot 4" width="690" height="189" data-path="images/connectors/bol-com-04.png" />

Because the offer id is inside path, we put it like that. This will be sent to the Bol system as /retailer/offers/6a3ef7aa-d1b8-4eaf-9fe9-7260ccc08281

* Path is the path parameter of the url. For example, the \{id}.
* Query is a defined set of parameters attached to the end of a url.\
  Example: [www.url.com?type=true\&start=0](http://www.url.com?type=true\&start=0)

**Input Transformer**

Any transformer’s set here will be executed after the Request Parameters loaded. So, you basically can add any transformer to provide and transform the request parameters into anything you need, either as path parameters and/or as query parameters of an entity.

**HTTP Client**

It’s the HTTP Client configuration you will use to access Bol.com. (Please set the Client Type according to what you need for the Subscriber)

### 3. Publishing Entity to Bol.com

**3.1 Steps**

1. Go to Connections -> Outgoing, create a new outgoing configuration, and select Bol.com v9 Advertiser Publisher or Bol.com v9 Retailer Publisher as the publisher.

<img src="https://mintcdn.com/alumio/Y4FUbluEreYeFn73/images/connectors/bol-com-05.png?fit=max&auto=format&n=Y4FUbluEreYeFn73&q=85&s=ed91664e539f7a5db41b170cd2233a07" alt="Bol.com connector screenshot 5" width="690" height="173" data-path="images/connectors/bol-com-05.png" />

2. Select the action that you want the publisher to do with the data currently Bol.com support Create, Update, and Delete.
3. Select the Bol.com entity you want the data to be published.
4. Select the HTTP Client to use. (Please set the Client Type according to what you need for the Publisher)

**3.2 General Concept**

Like the subscriber, the publisher has similar methods on how to use it. The difference is the payload that will be submitted by the publisher originating from the data (from routes, from transformers in outgoing configuration).

**Action**

Currently, we support Create (HTTP POST method), Update (HTTP PUT method), and Delete (HTTP DELETE method).

**Entity**

We support publishing to most Bol.com endpoints. Please refer to the entities in Management APIs from the Bol.com API Reference page. Based on the documentation, some endpoints may need one or more path parameters.

For endpoints that require an object as the request payload, please look at the example below. For example, we want to Create a Thread. Please select “CREATE” as the action and [“ Create content for a product”](https://api.bol.com/retailer/public/redoc/v9/retailer.html#tag/Product-Content/operation/post-product-content) as the entity of the publisher.

<img src="https://mintcdn.com/alumio/Y4FUbluEreYeFn73/images/connectors/bol-com-06.png?fit=max&auto=format&n=Y4FUbluEreYeFn73&q=85&s=9b93d3d896a9160766a9b072a7fda8f3" alt="Bol.com connector screenshot 6" width="690" height="261" data-path="images/connectors/bol-com-06.png" />

<img src="https://mintcdn.com/alumio/Y4FUbluEreYeFn73/images/connectors/bol-com-07.png?fit=max&auto=format&n=Y4FUbluEreYeFn73&q=85&s=ee5279ad9f85458b6aaa60d34f712094" alt="Bol.com connector screenshot 7" width="690" height="314" data-path="images/connectors/bol-com-07.png" />

Based on the documentation, we need to add a Body Request. So we put the body inside the payload key in the Data.

<img src="https://mintcdn.com/alumio/Y4FUbluEreYeFn73/images/connectors/bol-com-08.png?fit=max&auto=format&n=Y4FUbluEreYeFn73&q=85&s=21a92e3d103a01b284aedd5e2450ed70" alt="Bol.com connector screenshot 8" width="271" height="405" data-path="images/connectors/bol-com-08.png" />

Alumio will send an API request to Bol.com with the URL /retailer/content/products

Another example is when we want to delete an offer.

<img src="https://mintcdn.com/alumio/Y4FUbluEreYeFn73/images/connectors/bol-com-09.png?fit=max&auto=format&n=Y4FUbluEreYeFn73&q=85&s=dded9a5b50d12cd1ed4fd00982b07073" alt="Bol.com connector screenshot 9" width="690" height="264" data-path="images/connectors/bol-com-09.png" />

<img src="https://mintcdn.com/alumio/Y4FUbluEreYeFn73/images/connectors/bol-com-10.png?fit=max&auto=format&n=Y4FUbluEreYeFn73&q=85&s=f23db3533be20564449754907ca82efd" alt="Bol.com connector screenshot 10" width="690" height="266" data-path="images/connectors/bol-com-10.png" />

We can see in the documentation that we need to add "offer-id" in the path; we need to add them in our data, for example:

<img src="https://mintcdn.com/alumio/Y4FUbluEreYeFn73/images/connectors/bol-com-11.png?fit=max&auto=format&n=Y4FUbluEreYeFn73&q=85&s=6334daa2cf2fd20a9e3d4b528181e1a7" alt="Bol.com connector screenshot 11" width="402" height="137" data-path="images/connectors/bol-com-11.png" />

* Path is the path parameter of the url. For example, the \{id}.
* Query is a defined set of parameters attached to the end of a url.\
  Example: [www.url.com?type=true\&start=0](http://www.url.com?type=true\&start=0)
* Payload is the data contained within a request.

**HTTP Client**

It’s the HTTP Client configuration you will use to access Bol.com. (Please set the Client Type according to what you need for the Publisher)
