Skip to content

dreambits/python-bol-api

 
 

Repository files navigation

python-bol-api

image

image

image

A Python wrapper for the bol.com API forked from https://github.com/pennersr/python-bol-api This is currently under development but stable to be used. We are adding more and more features as the api has changed a lot from the time this version was created in original project

A Python wrapper for the bol.com API. Currently rather incomplete, as it offers only those methods required for my own projects so far.

Open API

Instantiate the API:

>>> from bol.openapi.api import OpenAPI
>>> api = OpenAPI('api_key')

Invoke a method:

>>> data = api.catalog.products((['1004004011187773', '1004004011231766'])

JSON data is returned "as is":

>>> data['products'][0]['ean'] u'0093155141650'

Retailer API

Supports the BOL Api v8, documented here: https://api.bol.com/retailer/public/Retailer-API/selling-on-bolcom-processflow.html

Instantiate the API:

>>> from bol.retailer.api import RetailerAPI
>>> api = RetailerAPI()

Authenticate:

>>> api.login('client_id', 'client_secret')

Invoke a method:

>>> orders = api.orders.list()
>>> order = api.orders.get(orders[0].orderId))

Fields are derived 1:1 from the bol.com API, including lower-CamelCase conventions:

>>> order.customerDetails.shipmentDetails.streetName
'Billingstraat'

Fields are properly typed:

>>> repr(order.orderPlacedDateTime)
datetime.datetime(2020, 2, 12, 16, 6, 17, tzinfo=tzoffset(None, 3600))
>>> repr(order.orderItems[0].offerPrice)
Decimal('106.52')

Access the underlying raw (unparsed) data at any time:

>>> order.raw_data
>>> order.raw_content

Running the tests

First, make sure that you have tox installed on your system:

pip install tox

Then, just run the tox:

tox

About

A wrapper for the bol.com API

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%