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, digital of combi.

  • 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.


GET/v1/products

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

GET
/v1/products
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
    }
  }
]

POST/v1/products

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, digital of combi.

  • 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

POST
/v1/products
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"
}

GET/v1/products/:ean

Retrieve a product

Haal een enkel product op via de EAN-code. Bevat relaties met uitgever, methode en catalogusitems.

Request

GET
/v1/products/9789493113862
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"
      }
    }
  ]
}

PUT/v1/products/:ean

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

PUT
/v1/products/9789493113862
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/v1/products/:ean

Delete a product

Verwijder een product permanent. Let op: dit verwijdert ook alle gekoppelde catalogusitems.

Request

DELETE
/v1/products/9789493113862
curl -X DELETE https://api.example.nl/v1/products/9789493113862 \
  -H "Authorization: Bearer {token}"

Was this page helpful?