Download OpenAPI specification:
API voor Boekwinkeltjes.nl
Test omgeving (endpoint): https://api-zandbak.boekwinkeltjes.nl/webservice/v1/
Live omgeving (endpoint): https://www.boekwinkeltjes.nl/webservice/v1/
Retrieve all orders
| 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 |
{- "status": 200,
- "data": [
- {
- "id": 1,
- "date": "2021-12-31 12:12:12",
- "status": "new_order",
- "onlinePaymentStatus": "paid",
- "book": {
- "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",
- "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": "22-05-2023",
}, - "buyer": {
- "firstName": "Henk",
- "lastName": "de Vries",
- "phone": "+31610555555",
- "language": "en_GB",
- "address": {
- "street": "Straat",
- "number": "12",
- "numberExtra": "A",
- "zipCode": "7654AA",
- "city": "Nijverdal",
- "country": "nl",
- "company": "Bedrijf BV"
}
}
}
]
}{- "status": 200,
- "data": {
- "id": 1,
- "date": "2021-12-31 12:12:12",
- "status": "new_order",
- "onlinePaymentStatus": "paid",
- "book": {
- "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",
}, - "buyer": {
- "name": "string",
- "address": {
- "street": "Straat",
- "number": "12",
- "numberExtra": "A",
- "zipCode": "7654AA",
- "city": "Nijverdal",
- "country": "nl",
- "company": "Bedrijf BV"
}, - "phoneNumber": "string",
- "language": "string",
- "note": "string"
}
}
}Get single order
| orderId required | string |
{- "status": 200,
- "data": {
- "id": 1,
- "date": "2021-12-31 12:12:12",
- "status": "new_order",
- "onlinePaymentStatus": "paid",
- "book": {
- "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",
}, - "buyer": {
- "name": "string",
- "address": {
- "street": "Straat",
- "number": "12",
- "numberExtra": "A",
- "zipCode": "7654AA",
- "city": "Nijverdal",
- "country": "nl",
- "company": "Bedrijf BV"
}, - "phoneNumber": "string",
- "language": "string",
- "note": "string"
}
}
}Patch single order
| orderId required | string |
| 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" "paymentlink_mailed" "return_received" "lost_in_transit" |
| onlinePaymentStatus | string Enum: "paid" "open" "refunded" |
object (Book) Book model | |
object (Buyer) Buyer model |
{- "status": "new_order",
- "onlinePaymentStatus": "paid",
- "book": {
- "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",
}, - "buyer": {
- "name": "string",
- "address": {
- "street": "Straat",
- "number": "12",
- "numberExtra": "A",
- "zipCode": "7654AA",
- "city": "Nijverdal",
- "country": "nl",
- "company": "Bedrijf BV"
}, - "phoneNumber": "string",
- "language": "string",
- "note": "string"
}
}{- "status": 200,
- "data": {
- "id": 1,
- "date": "2021-12-31 12:12:12",
- "status": "new_order",
- "onlinePaymentStatus": "paid",
- "book": {
- "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",
}, - "buyer": {
- "name": "string",
- "address": {
- "street": "Straat",
- "number": "12",
- "numberExtra": "A",
- "zipCode": "7654AA",
- "city": "Nijverdal",
- "country": "nl",
- "company": "Bedrijf BV"
}, - "phoneNumber": "string",
- "language": "string",
- "note": "string"
}
}
}Get all books
| page | number >= 0 Example: page=1 Page number |
| per_page | integer [ 1 .. 500 ] Default: 25 Number of books per page (default 25, values above 500 are capped at 500) |
| query | string Search query |
| location | string Book storage location (the |
| 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 |
{- "status": 200,
- "data": [
- {
- "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",
}
]
}Add new book
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 |
{- "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",
}{- "status": 200,
- "data": {
- "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",
}
}Get single book
| bookId required | integer <int32> >= 0 Example: 1 id of book |
| type | string Default: "bookId" Enum: "bookId" "bookNumber" Type of id |
{- "status": 200,
- "data": {
- "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",
}
}Patch single book
| bookId required | integer <int32> >= 0 Example: 1 id of book |
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 |
{- "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",
}{- "status": 200,
- "data": {
- "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",
}
}Upload image (jpeg/png)
| bookId required | integer <int32> >= 0 Example: 1 id of book |
{- "status": 201,
- "data": { }
}Upload image url
| bookId required | integer <int32> >= 0 Example: 1 id of book |
| url | string |
{- "url": "string"
}{- "status": 200,
- "data": { }
}Retrieves all packages
| page | number >= 0 Example: page=1 Page number |
| orderId | integer >= 1 Example: orderId=4006 Filter packages by order ID. Returns all non-cancelled packages that were created for this order, newest first. The result is always complete, so pagination does not apply when this filter is used. |
{- "status": 200,
- "data": [
- {
- "operator": "Dpd",
- "packageID": "string",
- "type": "SMALL",
- "name": "Hans Pieterson",
- "address": {
- "street": "Straat",
- "number": "12",
- "numberext": "A",
- "zip": "7654AA",
- "city": "Nijverdal",
- "country": "nl",
- "company": "Bedrijf BV"
}, - "weight": 500,
- "addressType": "P",
- "email": "email@boekwinkeltjes.nl",
- "phoneNumber": "+31612345678",
- "orderId": 4006,
- "rate": "2500",
- "shopId": "2224234",
- "printOptions": 1
}
]
}Posts new package (all types)
| 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" |
string | |
| phoneNumber | string |
| orderId | integer |
| rate | string |
| shopId | string |
| deliverySpeed | string Default: "standard" Enum: "standard" "prio" PostNL brievenbus (type MAILBOX) only. 'prio' selects priority delivery (24h) with a surcharge; 'standard' is regular delivery (24-48h). Ignored for other operators or package types. |
{- "operator": "Dpd",
- "packageID": "string",
- "type": "SMALL",
- "name": "Hans Pieterson",
- "address": {
- "street": "Straat",
- "number": "12",
- "numberext": "A",
- "zip": "7654AA",
- "city": "Nijverdal",
- "country": "nl",
- "company": "Bedrijf BV"
}, - "weight": 500,
- "addressType": "P",
- "email": "email@boekwinkeltjes.nl",
- "phoneNumber": "+31612345678",
- "orderId": 4006,
- "rate": "2500",
- "shopId": "2224234",
- "printOptions": 1
}{- "status": 201,
- "data": { }
}Get package by ID
| id required | string |
{- "operator": "Dpd",
- "packageID": "string",
- "type": "SMALL",
- "name": "Hans Pieterson",
- "address": {
- "street": "Straat",
- "number": "12",
- "numberext": "A",
- "zip": "7654AA",
- "city": "Nijverdal",
- "country": "nl",
- "company": "Bedrijf BV"
}, - "weight": 500,
- "addressType": "P",
- "email": "email@boekwinkeltjes.nl",
- "phoneNumber": "+31612345678",
- "orderId": 4006,
- "rate": "2500",
- "shopId": "2224234",
- "printOptions": 1
}Track package by package ID
| packageId required | integer |
{- "packageID": 1234,
- "operator": "PostNL",
- "barcode": "3SABCD1234567",
- "statusName": "In transportation",
- "statusHistory": [
- {
- "label": "Shipment collected by carrier at parcel point",
- "datetime": "2026-07-18 14:32:00"
}, - {
- "label": "Shipment received",
- "datetime": "2026-07-17 09:05:00"
}
]
}Post Package rate
| 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" |
string | |
| phoneNumber | string |
| orderId | integer |
| rate | string |
| shopId | string |
| deliverySpeed | string Default: "standard" Enum: "standard" "prio" PostNL brievenbus (type MAILBOX) only. 'prio' selects priority delivery (24h) with a surcharge; 'standard' is regular delivery (24-48h). Ignored for other operators or package types. |
{- "operator": "Dpd",
- "packageID": "string",
- "type": "SMALL",
- "name": "Hans Pieterson",
- "address": {
- "street": "Straat",
- "number": "12",
- "numberext": "A",
- "zip": "7654AA",
- "city": "Nijverdal",
- "country": "nl",
- "company": "Bedrijf BV"
}, - "weight": 500,
- "addressType": "P",
- "email": "email@boekwinkeltjes.nl",
- "phoneNumber": "+31612345678",
- "orderId": 4006,
- "rate": "2500",
- "shopId": "2224234",
- "printOptions": 1
}Retrieves a list of all payments including their status and metadata.
{- "status": 200,
- "data": {
- "payments": [
- {
- "id": 0,
- "bwID": 0,
- "title": "string",
- "email": "string",
- "name": "string",
- "price": 0,
- "shippingCost": 0,
- "created": "2019-08-24T14:15:22Z",
- "status": 0,
- "successDate": "2019-08-24T14:15:22Z",
- "paymentLink": true,
- "paymentLinkUuid": "string",
- "expirationDate": "2019-08-24",
- "paynlSettlementsId": "string",
- "type": 0
}
], - "paginator": {
- "page": 0,
- "from": 0,
- "to": 0,
- "totalAmount": 0,
- "sort": "string",
- "direction": "string"
}
}
}Retrieves detailed information about a single payment by its ID.
| id required | integer ID of the payment |
{- "status": 200,
- "data": {
- "id": 0,
- "bwID": 0,
- "title": "string",
- "email": "string",
- "name": "string",
- "price": 0,
- "shippingCost": 0,
- "created": "2019-08-24T14:15:22Z",
- "status": 0,
- "successDate": "2019-08-24T14:15:22Z",
- "paymentLink": true,
- "paymentLinkUuid": "string",
- "expirationDate": "2019-08-24",
- "paynlSettlementsId": "string",
- "type": 0
}
}Generates a payment link that can be shared with customers.
| title required | string Title of the payment |
| amount required | number <float> Total amount (excluding shipping) |
| name required | string Name of the customer |
| email required | string <email> Email address of the customer |
| shippingcosts required | number <float> Shipping cost |
| availability | integer or null Optional availability field |
| singleIDs | string or null Optional comma-separated list of book IDs |
{- "title": "string",
- "amount": 0.1,
- "name": "string",
- "email": "user@example.com",
- "shippingcosts": 0.1,
- "availability": 0,
- "singleIDs": "string"
}{- "status": 201,
}Initiates a refund for the payment with the specified ID.
| id required | integer ID of the payment to refund |
| reason required | string Explanation for the refund |
{- "reason": "string"
}{- "status": 201,
- "data": [
- "string"
]
}Wijzigt de verzendkosten-instellingen van de verkoper.
type: none — geen verzendkosten; alle bestaande boeken worden omgezet naar € 0,00.type: fixed — vast bedrag voor alle boeken; geef fee op, of free: true voor gratis verzending. Alle bestaande boeken worden omgezet naar het nieuwe bedrag.type: variable — verzendkosten per categorie; beheer de categorieën daarna via POST /shipping-fees, PATCH /shipping-fees/{id} en DELETE /shipping-fees/{id}.Het omzetten van bestaande boeken gebeurt door een achtergrondtaak. Het doorvoeren van veranderingen kan tot 5 uur nadat u een aanpassing heeft gedaan duren, dit is afhankelijk van het aantal boeken dat u heeft.
| type required | string Enum: "none" "fixed" "variable" |
| fee | number <float> >= 0.01 Vast verzendkostenbedrag, verplicht bij type |
| free | boolean Gratis verzending, alleen bij type |
{- "type": "fixed",
- "fee": 4.95
}{- "status": 200,
- "data": {
- "type": "none",
- "fee": "string",
- "options": [
- {
- "id": 0,
- "name": "string",
- "value": 0.1
}
]
}
}Voegt een variabele verzendkostencategorie toe. Alleen mogelijk wanneer het verzendkostentype variable is (zie PUT /shipping-fees).
Geef fee op, of free: true voor een categorie met gratis verzending. Een bedrag van 0,00 of een bedrag dat al bij een andere categorie hoort is niet toegestaan.
| name required | string [ 1 .. 100 ] characters |
| fee | number <float> >= 0.01 Verplicht tenzij |
| free | boolean Gratis verzending voor deze categorie |
{- "name": "Brievenbuspakje",
- "fee": 4.25
}{- "status": 200,
- "data": {
- "type": "none",
- "fee": "string",
- "options": [
- {
- "id": 0,
- "name": "string",
- "value": 0.1
}
]
}
}| id required | integer |
| type | string Enum: "bookId" "shippingId" Which type of id |
{- "status": 200,
- "data": {
- "type": "none",
- "fee": "string",
- "options": [
- {
- "id": 0,
- "name": "string",
- "value": 0.1
}
]
}
}Wijzigt het bedrag van een variabele verzendkostencategorie. Alleen mogelijk wanneer het verzendkostentype variable is.
Met applyToExistingBooks: true worden ook de bestaande boeken in deze categorie omgezet naar het nieuwe bedrag. Dat gebeurt door een achtergrondtaak; het doorvoeren van veranderingen kan tot 5 uur nadat u een aanpassing heeft gedaan duren, dit is afhankelijk van het aantal boeken dat u heeft.
| id required | integer |
| fee required | number <float> >= 0.01 |
| applyToExistingBooks | boolean Default: false Bestaande boeken in deze categorie omzetten naar het nieuwe bedrag |
{- "fee": 4.5,
- "applyToExistingBooks": true
}{- "status": 200,
- "data": {
- "type": "none",
- "fee": "string",
- "options": [
- {
- "id": 0,
- "name": "string",
- "value": 0.1
}
]
}
}Verwijdert een variabele verzendkostencategorie. Alleen mogelijk wanneer het verzendkostentype variable is.
Met de queryparameter mergeInto worden de bestaande boeken in de verwijderde categorie omgezet naar de opgegeven categorie. Dat gebeurt door een achtergrondtaak; het doorvoeren van veranderingen kan tot 5 uur nadat u een aanpassing heeft gedaan duren, dit is afhankelijk van het aantal boeken dat u heeft. Zonder mergeInto behouden de boeken hun huidige verzendkosten.
| id required | integer |
| mergeInto | integer Id van de categorie waar de boeken uit de verwijderde categorie naartoe moeten |
{- "status": 200,
- "data": { }
}{- "status": 200,
- "data": {
- "id": 0,
- "date": "2019-08-24T14:15:22Z",
- "question": "How can I use this API?",
- "user": {
- "name": "Frank",
- "emailAddress": "development@boekwinkeltjes.nl",
- "language": "string"
}, - "book": {
- "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",
}
}
}