Products
De Products API geeft toegang tot het volledige productaanbod. Producten zijn leermiddelen (fysiek, digitaal of combi) met prijzen, beschikbaarheid, licentieperiodes en catalogusinformatie.
The product model
Het productmodel bevat alle informatie over een leermiddel, inclusief de uitgever, methode, prijzen en beschikbaarheidsstatus.
Properties
- Name
ean- Type
- string
- Description
EAN-code, unieke identifier voor het product.
- Name
name- Type
- string
- Description
Naam van het product.
- Name
description- Type
- string
- Description
Omschrijving van het product.
- Name
price- Type
- decimal
- Description
Adviesprijs (excl. BTW).
- Name
type- Type
- string
- Description
Type product:
physical,digitalofcombi.
- Name
status- Type
- string
- Description
Beschikbaarheidsstatus:
available,not_yet_available,limited_available,temporary_not_available,no_longer_available,will_never_be_available,not_available_or_usable.
- Name
publisherId- Type
- string
- Description
ID van de uitgever.
- Name
methodId- Type
- string
- Description
ID van de methode.
- Name
edition- Type
- string
- Description
Editie van het product.
- Name
licensePeriod- Type
- string
- Description
Licentieperiode, bijv.
1j,4j.
- Name
forSale- Type
- boolean
- Description
Of het product te koop is.
- Name
imageUrl- Type
- string
- Description
URL naar de productafbeelding.
- Name
authors- Type
- string[]
- Description
Lijst van auteurs.
- Name
years- Type
- integer[]
- Description
Leerjaren waarvoor het product bedoeld is.
- Name
shouldReturn- Type
- boolean
- Description
Of het product geretourneerd moet worden.
- Name
inserted- Type
- timestamp
- Description
Aanmaakdatum.
- Name
updated- Type
- timestamp
- Description
Laatste wijzigingsdatum.
List all products
Haal een gepagineerde lijst van alle producten op. Standaard worden maximaal 10 producten per pagina getoond.
Optional attributes
- Name
take- Type
- integer
- Description
Aantal producten per pagina (standaard 10).
- Name
skip- Type
- integer
- Description
Aantal producten om over te slaan.
- Name
include- Type
- string
- Description
Komma-gescheiden relaties om mee te laden:
publisher,catalog,method.
- Name
where- Type
- string
- Description
Zoek op productnaam (case-insensitive).
Request
curl -G https://api.example.nl/v1/products \
-H "Authorization: Bearer {token}" \
-d take=10 \
-d include=publisher,method
Response
[
{
"ean": "9789493113862",
"name": "POLARIS nask1 leerwerkboek vmbo-basis 3 deel A",
"description": "Leerwerkboek nask1",
"price": "29.95",
"type": "physical",
"status": "available",
"publisherId": "clx...",
"edition": "5e editie",
"forSale": true,
"_count": {
"salesOrderLines": 42,
"catalogItems": 3
}
}
]
Create a product
Maak een nieuw product aan.
Required attributes
- Name
ean- Type
- string
- Description
EAN-code van het product.
- Name
name- Type
- string
- Description
Naam van het product.
Optional attributes
- Name
description- Type
- string
- Description
Omschrijving.
- Name
price- Type
- decimal
- Description
Adviesprijs.
- Name
type- Type
- string
- Description
physical,digitalofcombi.
- Name
status- Type
- string
- Description
Beschikbaarheidsstatus.
- Name
publisherId- Type
- string
- Description
ID van de uitgever.
- Name
methodId- Type
- string
- Description
ID van de methode.
Request
curl https://api.example.nl/v1/products \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"ean": "9789493113862",
"name": "POLARIS nask1 leerwerkboek vmbo-basis 3 deel A",
"price": "29.95",
"type": "physical"
}'
Response
{
"ean": "9789493113862",
"name": "POLARIS nask1 leerwerkboek vmbo-basis 3 deel A",
"price": "29.95",
"type": "physical",
"status": null,
"forSale": true,
"inserted": "2026-03-24T10:00:00.000Z",
"updated": "2026-03-24T10:00:00.000Z"
}
Retrieve a product
Haal een enkel product op via de EAN-code. Bevat relaties met uitgever, methode en catalogusitems.
Request
curl https://api.example.nl/v1/products/9789493113862 \
-H "Authorization: Bearer {token}"
Response
{
"ean": "9789493113862",
"name": "POLARIS nask1 leerwerkboek vmbo-basis 3 deel A",
"price": "29.95",
"type": "physical",
"status": "available",
"publisher": {
"id": "clx...",
"name": "Boom Uitgevers"
},
"method": {
"id": "clx...",
"name": "POLARIS nask1"
},
"catalogItems": [
{
"catalog": {
"id": "clx...",
"name": "VO 2026-2027"
}
}
]
}
Update a product
Werk een bestaand product bij. Alle velden zijn optioneel — alleen de meegegeven velden worden bijgewerkt.
Optional attributes
- Name
name- Type
- string
- Description
Nieuwe naam.
- Name
price- Type
- decimal
- Description
Nieuwe prijs.
- Name
status- Type
- string
- Description
Nieuwe beschikbaarheidsstatus.
- Name
forSale- Type
- boolean
- Description
Of het product te koop is.
Request
curl -X PUT https://api.example.nl/v1/products/9789493113862 \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"price": "32.50", "status": "available"}'
Response
{
"ean": "9789493113862",
"name": "POLARIS nask1 leerwerkboek vmbo-basis 3 deel A",
"price": "32.50",
"status": "available",
"updated": "2026-03-24T12:00:00.000Z"
}
Delete a product
Verwijder een product permanent. Let op: dit verwijdert ook alle gekoppelde catalogusitems.
Request
curl -X DELETE https://api.example.nl/v1/products/9789493113862 \
-H "Authorization: Bearer {token}"