BoekwinkeltjesVerkoperApi (2.2)

Download OpenAPI specification:Download

API voor Boekwinkeltjes.nl

  • Requests zijn rate-limited
  • De API en configuratie worden gebouwd in boekwinkeltjes.nl
  • Boeken die worden toegevoegd/gewijzigd/gedelete worden in een queue gezet en verwerkt door de uploadfunctie
  • Test omgeving (endpoint): api-zandbak.boekwinkeltjes.nl/webservice/v1/
  • Live omgeving (endpoint): www.boekwinkeltjes.nl/webservice/v1/
  • Webhook melding bij bestelling en betaling

Authorizations

Elke request moet een api-key via de header ontvangen. Een api key kan bij de klantenservice van Boekwinkeltjes worden aangevraagd.

header : api-key

orders

Get orders

Retrieve all orders

Authorizations:
api-key
query Parameters
page
number >= 0
Example: page=1

Page number

query
string

Search query

sort
string
Example: sort=+title

Sorting

status
string

Filter the orders on status

Responses

Response samples

Content type
application/json
{
  • "status": 200,
  • "data": [
    ]
}

Create order

Create new order

Authorizations:
api-key

Responses

Response samples

Content type
application/json
{
  • "status": 200,
  • "data": {
    }
}

Get single order

Get single order

Authorizations:
api-key
path Parameters
orderId
required
string

Responses

Response samples

Content type
application/json
{
  • "status": 200,
  • "data": {
    }
}

Patch order

Patch single order

Authorizations:
api-key
path Parameters
orderId
required
string
Request Body schema: application/json
status
string
Enum: "new_order" "wait_for_customer" "wait_for_payment" "wait_for_shipping" "wait_for_pickup" "shipped_wait_for_payment" "shipped_paid" "picked_up_paid" "sold_or_unavailable" "no_response"
idealPaymentStatus
string
Enum: "paid" "open"
object (Book)

Book model

object (Buyer)

Buyer model

Responses

Request samples

Content type
application/json
{
  • "status": "new_order",
  • "idealPaymentStatus": "paid",
  • "book": {
    },
  • "buyer": {
    }
}

Response samples

Content type
application/json
{
  • "status": 200,
  • "data": {
    }
}

books

Retrieve books

Get all books

Authorizations:
api-key
query Parameters
page
number >= 0
Example: page=1

Page number

query
string

Search query

location
string

Book location attribute

for-sale-since-type
integer
Enum: 0 1 2

0 = before, 1 = after, 2 = on

for-sale-since
string <date>

Date

status
integer
Enum: 0 1 2

0 = all, 1 = available, 2 = sold

language
string = 2 characters
Example: language=NL

Country code

image
string
Enum: "0" "1" "2"

0 = all, 1 = without image, 2 = with image

price-from
number

from price

price-to
string

to price

Responses

Response samples

Content type
application/json
{
  • "status": 200,
  • "data": [
    ]
}

Add book

Add new book

Authorizations:
api-key
Request Body schema: application/json

Add book response body

bookNumber
integer
location
string
amount
integer
category1
string
Enum: "overig diverse" "detectives" "geschiedenis" "hobby" "kinderboeken" "literatuur" "literaire thriller" "psychologische thriller" "kunst" "romans" "jeugdroman" "science fiction fantasy" "strips" "studieboeken" "topografie" "toneel"
category2
string
category3
string
language
string
author
string
title
string
publisher
string
ean
number
shortDescription
string
longDescription
string
price
number <float> [ 0 .. 99999 ]
shippingCost
number <float> [ -1 .. 99999 ]
shippingCategory
integer
date
string
weblink
string

Responses

Request samples

Content type
application/json
{
  • "id": 1,
  • "bookNumber": 213124124124,
  • "location": "bw-doos 5",
  • "amount": 4,
  • "category1": "detectives",
  • "category2": "horror",
  • "category3": "avontuurlijk",
  • "language": "NL",
  • "author": "Beatles, The",
  • "title": "Let It Be",
  • "publisher": "string",
  • "ean": 1234567891234,
  • "shortDescription": "This is a short description",
  • "longDescription": "This is a long description, lorem ipsum dolor sit amet",
  • "price": 10.99,
  • "shippingCost": 6.99,
  • "shippingCategory": 1,
  • "date": "2023-05-22 11:45:22",
}

Response samples

Content type
application/json
{
  • "status": 200,
  • "data": {
    }
}

Get book by id

Get single book

Authorizations:
api-key
path Parameters
bookId
required
integer <int32> >= 0
Example: 1

id of book

query Parameters
string
Enum: "bookId" "bookNumber"

Type of id

Responses

Response samples

Content type
application/json
{
  • "status": 200,
  • "data": {
    }
}

Patch book by id

Patch single book

Authorizations:
api-key
path Parameters
bookId
required
integer <int32> >= 0
Example: 1

id of book

Request Body schema: application/json

Add book response body

bookNumber
integer
location
string
amount
integer
category1
string
Enum: "overig diverse" "detectives" "geschiedenis" "hobby" "kinderboeken" "literatuur" "literaire thriller" "psychologische thriller" "kunst" "romans" "jeugdroman" "science fiction fantasy" "strips" "studieboeken" "topografie" "toneel"
category2
string
category3
string
language
string
author
string
title
string
publisher
string
ean
number
shortDescription
string
longDescription
string
price
number <float> [ 0 .. 99999 ]
shippingCost
number <float> [ -1 .. 99999 ]
shippingCategory
integer
date
string
weblink
string

Responses

Request samples

Content type
application/json
{
  • "id": 1,
  • "bookNumber": 213124124124,
  • "location": "bw-doos 5",
  • "amount": 4,
  • "category1": "detectives",
  • "category2": "horror",
  • "category3": "avontuurlijk",
  • "language": "NL",
  • "author": "Beatles, The",
  • "title": "Let It Be",
  • "publisher": "string",
  • "ean": 1234567891234,
  • "shortDescription": "This is a short description",
  • "longDescription": "This is a long description, lorem ipsum dolor sit amet",
  • "price": 10.99,
  • "shippingCost": 6.99,
  • "shippingCategory": 1,
  • "date": "2023-05-22 11:45:22",
}

Response samples

Content type
application/json
{
  • "status": 200,
  • "data": {
    }
}

Delete book by id

Delete single book

Authorizations:
api-key
path Parameters
bookId
required
integer <int32> >= 0
Example: 1

id of book

Responses

Response samples

Content type
application/json
{
  • "status": 200,
  • "data": { }
}

images

Get images for single book

Get images for single book

Authorizations:
api-key
path Parameters
bookId
required
integer <int32> >= 0
Example: 1

id of book

Responses

Response samples

Content type
application/json

Add images to single book

Upload image (jpeg/png)

Authorizations:
api-key
path Parameters
bookId
required
integer <int32> >= 0
Example: 1

id of book

Request Body schema: image/*
string <binary>

Responses

Request samples

Content type
image/*
No sample

Response samples

Content type
application/json
{
  • "status": 201,
  • "data": { }
}

Add images to single book

Upload image url

Authorizations:
api-key
path Parameters
bookId
required
integer <int32> >= 0
Example: 1

id of book

Request Body schema: application/json
url
string

Responses

Request samples

Content type
application/json
{
  • "url": "string"
}

Response samples

Content type
application/json
{
  • "status": 200,
  • "data": { }
}

Delete image by image id

Authorizations:
api-key
path Parameters
imageId
required
string

Responses

packages

Retrieve all packages

Retrieves all packages

Authorizations:
api-key
query Parameters
page
number >= 0
Example: page=1

Page number

Responses

Response samples

Content type
application/json
{
  • "status": 200,
  • "data": [
    ]
}

Post new package

Posts new package (all types)

Authorizations:
api-key
Request Body schema: application/json
operator
required
string
Enum: "PostNL" "Dpd" "DHL" "MondialRelay"
packageID
string
type
required
string
Enum: "STANDARD" "MAILBOX" "SMALL"
name
string
required
object (Address)
weight
number
addressType
string
Enum: "P" "B"
email
string
phoneNumber
string
orderId
integer
rate
string
shopId
string

Responses

Request samples

Content type
application/json
{
  • "operator": "Dpd",
  • "packageID": "string",
  • "type": "SMALL",
  • "name": "Hans Pieterson",
  • "address": {
    },
  • "weight": 500,
  • "addressType": "P",
  • "email": "email@boekwinkeltjes.nl",
  • "phoneNumber": "+31612345678",
  • "orderId": 4006,
  • "rate": "2500",
  • "shopId": "2224234"
}

Response samples

Content type
application/json
{
  • "status": 201,
  • "data": { }
}

Get single package

Get package by ID

Authorizations:
api-key
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "operator": "Dpd",
  • "packageID": "string",
  • "type": "SMALL",
  • "name": "Hans Pieterson",
  • "address": {
    },
  • "weight": 500,
  • "addressType": "P",
  • "email": "email@boekwinkeltjes.nl",
  • "phoneNumber": "+31612345678",
  • "orderId": 4006,
  • "rate": "2500",
  • "shopId": "2224234"
}

Delete package

Delete a package by ID

Authorizations:
api-key
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "status": 200,
  • "data": { }
}

Track package

Track package by package ID

Authorizations:
api-key
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string"
}

Get Package Rates

Retrieve shipping costs from every operator

Authorizations:
api-key

Responses

Response samples

Content type
multipart/form-data
{
  "PostNLList": [
    {
      "country": "string",
      "parcelLetter": "string",
      "shipping": "string",
      "shop": "string"
    }
  ],
  "dpdList": [
    {
      "country": "string",
      "parcelLetter": "string",
      "shipping": "string",
      "shop": "string"
    }
  ],
  "dhlList": [
    {
      "country": "string",
      "parcelLetter": "string",
      "shipping": "string",
      "shop": "string"
    }
  ],
  "mondialMainList": [
    {
      "country": "string",
      "parcelLetter": "string",
      "shop1kg": "string",
      "shop3kg": "string",
      "shop5kg": "string",
      "shop7kg": "string",
      "shop10kg": "string"
    }
  ],
  "mondialWeightList": [
    {
      "country": "string",
      "parcelLetter": "string",
      "shop1kg": "string",
      "shop3kg": "string",
      "shop5kg": "string",
      "shop7kg": "string",
      "shop10kg": "string"
    }
  ],
  "peakSurchargePackages": 0,
  "peakSurchargeLetterboxParcels": 0
}

Post Package Rate

Post Package rate

Authorizations:
api-key
Request Body schema: application/json
operator
required
string
Enum: "PostNL" "Dpd" "DHL" "MondialRelay"
packageID
string
type
required
string
Enum: "STANDARD" "MAILBOX" "SMALL"
name
string
required
object (Address)
weight
number
addressType
string
Enum: "P" "B"
email
string
phoneNumber
string
orderId
integer
rate
string
shopId
string

Responses

Request samples

Content type
application/json
{
  • "operator": "Dpd",
  • "packageID": "string",
  • "type": "SMALL",
  • "name": "Hans Pieterson",
  • "address": {
    },
  • "weight": 500,
  • "addressType": "P",
  • "email": "email@boekwinkeltjes.nl",
  • "phoneNumber": "+31612345678",
  • "orderId": 4006,
  • "rate": "2500",
  • "shopId": "2224234"
}

Response samples

Content type
multipart/form-data
{
  "DHL": {
    "normal": {
      "NL": 0,
      "BE": 0,
      "DK": 0,
      "DE": 0,
      "FR": 0,
      "IT": 0,
      "LU": 0,
      "AT": 0,
      "PL": 0,
      "PT": 0,
      "ES": 0,
      "MC": 0,
      "NO": 0,
      "CA": 0,
      "CH": 0,
      "CZ": 0,
      "SE": 0
    },
    "parcel": {
      "NL": 0,
      "BE": 0,
      "DK": 0,
      "DE": 0,
      "FR": 0,
      "IT": 0,
      "LU": 0,
      "AT": 0,
      "PL": 0,
      "PT": 0,
      "ES": 0,
      "MC": 0,
      "NO": 0,
      "CA": 0,
      "CH": 0,
      "CZ": 0,
      "SE": 0
    },
    "shop": {
      "NL": 0,
      "BE": 0,
      "DK": 0,
      "DE": 0,
      "FR": 0,
      "IT": 0,
      "LU": 0,
      "AT": 0,
      "PL": 0,
      "PT": 0,
      "ES": 0,
      "MC": 0,
      "NO": 0,
      "CA": 0,
      "CH": 0,
      "CZ": 0,
      "SE": 0
    },
    "small": {
      "NL": 0,
      "BE": 0,
      "DK": 0,
      "DE": 0,
      "FR": 0,
      "IT": 0,
      "LU": 0,
      "AT": 0,
      "PL": 0,
      "PT": 0,
      "ES": 0,
      "MC": 0,
      "NO": 0,
      "CA": 0,
      "CH": 0,
      "CZ": 0,
      "SE": 0
    }
  },
  "PostNL": {
    "normal": {
      "NL": 0,
      "BE": 0,
      "DK": 0,
      "DE": 0,
      "FR": 0,
      "IT": 0,
      "LU": 0,
      "AT": 0,
      "PL": 0,
      "PT": 0,
      "ES": 0,
      "MC": 0,
      "NO": 0,
      "CA": 0,
      "CH": 0,
      "CZ": 0,
      "SE": 0
    },
    "parcel": {
      "NL": 0,
      "BE": 0,
      "DK": 0,
      "DE": 0,
      "FR": 0,
      "IT": 0,
      "LU": 0,
      "AT": 0,
      "PL": 0,
      "PT": 0,
      "ES": 0,
      "MC": 0,
      "NO": 0,
      "CA": 0,
      "CH": 0,
      "CZ": 0,
      "SE": 0
    },
    "shop": {
      "NL": 0,
      "BE": 0,
      "DK": 0,
      "DE": 0,
      "FR": 0,
      "IT": 0,
      "LU": 0,
      "AT": 0,
      "PL": 0,
      "PT": 0,
      "ES": 0,
      "MC": 0,
      "NO": 0,
      "CA": 0,
      "CH": 0,
      "CZ": 0,
      "SE": 0
    },
    "small": {
      "NL": 0,
      "BE": 0,
      "DK": 0,
      "DE": 0,
      "FR": 0,
      "IT": 0,
      "LU": 0,
      "AT": 0,
      "PL": 0,
      "PT": 0,
      "ES": 0,
      "MC": 0,
      "NO": 0,
      "CA": 0,
      "CH": 0,
      "CZ": 0,
      "SE": 0
    }
  },
  "Dpd": {
    "normal": {
      "NL": 0,
      "BE": 0,
      "DK": 0,
      "DE": 0,
      "FR": 0,
      "IT": 0,
      "LU": 0,
      "AT": 0,
      "PL": 0,
      "PT": 0,
      "ES": 0,
      "MC": 0,
      "NO": 0,
      "CA": 0,
      "CH": 0,
      "CZ": 0,
      "SE": 0
    },
    "parcel": {
      "NL": 0,
      "BE": 0,
      "DK": 0,
      "DE": 0,
      "FR": 0,
      "IT": 0,
      "LU": 0,
      "AT": 0,
      "PL": 0,
      "PT": 0,
      "ES": 0,
      "MC": 0,
      "NO": 0,
      "CA": 0,
      "CH": 0,
      "CZ": 0,
      "SE": 0
    },
    "shop": {
      "NL": 0,
      "BE": 0,
      "DK": 0,
      "DE": 0,
      "FR": 0,
      "IT": 0,
      "LU": 0,
      "AT": 0,
      "PL": 0,
      "PT": 0,
      "ES": 0,
      "MC": 0,
      "NO": 0,
      "CA": 0,
      "CH": 0,
      "CZ": 0,
      "SE": 0
    },
    "small": {
      "NL": 0,
      "BE": 0,
      "DK": 0,
      "DE": 0,
      "FR": 0,
      "IT": 0,
      "LU": 0,
      "AT": 0,
      "PL": 0,
      "PT": 0,
      "ES": 0,
      "MC": 0,
      "NO": 0,
      "CA": 0,
      "CH": 0,
      "CZ": 0,
      "SE": 0
    }
  },
  "MondialRelay": {
    "normal": {
      "NL": 0,
      "BE": 0,
      "DK": 0,
      "DE": 0,
      "FR": 0,
      "IT": 0,
      "LU": 0,
      "AT": 0,
      "PL": 0,
      "PT": 0,
      "ES": 0,
      "MC": 0,
      "NO": 0,
      "CA": 0,
      "CH": 0,
      "CZ": 0,
      "SE": 0
    },
    "parcel": {
      "NL": 0,
      "BE": 0,
      "DK": 0,
      "DE": 0,
      "FR": 0,
      "IT": 0,
      "LU": 0,
      "AT": 0,
      "PL": 0,
      "PT": 0,
      "ES": 0,
      "MC": 0,
      "NO": 0,
      "CA": 0,
      "CH": 0,
      "CZ": 0,
      "SE": 0
    },
    "shop": {
      "NL": 0,
      "BE": 0,
      "DK": 0,
      "DE": 0,
      "FR": 0,
      "IT": 0,
      "LU": 0,
      "AT": 0,
      "PL": 0,
      "PT": 0,
      "ES": 0,
      "MC": 0,
      "NO": 0,
      "CA": 0,
      "CH": 0,
      "CZ": 0,
      "SE": 0
    },
    "small": {
      "NL": 0,
      "BE": 0,
      "DK": 0,
      "DE": 0,
      "FR": 0,
      "IT": 0,
      "LU": 0,
      "AT": 0,
      "PL": 0,
      "PT": 0,
      "ES": 0,
      "MC": 0,
      "NO": 0,
      "CA": 0,
      "CH": 0,
      "CZ": 0,
      "SE": 0
    }
  }
}

payments

Get payments

Authorizations:
api-key

Responses

Response samples

Content type
application/json
{
  • "": "string"
}

settings

Get settings

Authorizations:
api-key

Responses

Response samples

Content type
application/json
No sample

shipping-fees

Get shipping fees

Authorizations:
api-key

Responses

Response samples

Content type
application/json
{
  • "status": 200,
  • "data": {
    }
}

Get shipping fees

Authorizations:
api-key
path Parameters
id
required
integer
query Parameters
type
string
Enum: "bookId" "shippingId"

Which type of id

Responses

Response samples

Content type
application/json
{
  • "status": 200,
  • "data": {
    }
}

questions

Get questions

Authorizations:
api-key
Request Body schema: application/json
object

Request samples

Content type
application/json
{
  • "questions": {
    }
}

Get question by id

Authorizations:
api-key
path Parameters
id
required
string
Request Body schema: application/json
object

Request samples

Content type
application/json
{
  • "questions": {
    }
}