EDU-V Order API

De Order API wordt gebruikt om leermiddelbestellingen te ontvangen van bestelomgevingen (scholen) en te bevestigen als leverancier binnen het Edu-V Afsprakenstelsel.

Deze API is beschikbaar als v1 (aanbevolen) en v0.9.2 (legacy). Zie de EDU-V documentatie voor v1 en v0.9.2.

Berichtenstroom

De Order API werkt asynchroon met vier berichten:

  1. OrderRequest — School stuurt een bestelling naar de leverancier (PUT /orders)
  2. OrderConfirmation — Leverancier bevestigt de bestelling naar de school (PUT /orders/confirmations)
  3. CreditOrderRequest — School annuleert (deels) een bestelling (PUT /creditorders)
  4. CreditOrderConfirmation — Leverancier bevestigt de annulering (PUT /creditorders/confirmations)

Het OrderRequest-model

Het OrderRequest-object beschrijft een inkomende bestelling van een school.

Properties

  • Name
    requestReferenceId
    Type
    string (uuid)
    Description

    Unieke referentie-ID voor deze bestelling. Wordt teruggegeven in de OrderConfirmation.

  • Name
    purchaseOrderId
    Type
    string
    Description

    Inkoopordernummer van de school. Onveranderlijk.

  • Name
    purchaseOrderType
    Type
    string
    Description

    Optioneel bilateraal ordertype (bijv. "Tender", "VSO").

  • Name
    contractId
    Type
    string
    Description

    Optionele verwijzing naar een contract tussen school en leverancier.

  • Name
    deliveryLocation
    Type
    Address
    Description

    Afleveradres voor fysieke leermiddelen.

  • Name
    deliveryDate
    Type
    date
    Description

    Gewenste leverdatum (YYYY-MM-DD).

  • Name
    deliveryType
    Type
    string
    Description

    Leveringsvariant: school-all, school-studies, school-subjects, school-groups, school-students, school-employees, school-activationcodes, customer-user, customer-activationcode.

  • Name
    schoolBuyer
    Type
    SchoolBuyer
    Description

    Contactgegevens van de besteller.

  • Name
    orderLines
    Type
    array[OrderLine]
    Description

    De te bestellen producten.

Address

  • Name
    name
    Type
    string
    Description

    T.a.v. omschrijving.

  • Name
    street
    Type
    string
    Description

    Straatnaam.

  • Name
    houseNumber
    Type
    integer
    Description

    Huisnummer.

  • Name
    houseNumberSuffix
    Type
    string
    Description

    Huisnummertoevoeging.

  • Name
    zipCode
    Type
    string
    Description

    Postcode (1234AB).

  • Name
    city
    Type
    string
    Description

    Plaatsnaam.

  • Name
    countryCode
    Type
    string
    Description

    ISO 3166 Alpha-2 landcode (bijv. "NL").

  • Name
    country
    Type
    string
    Description

    Landnaam.

SchoolBuyer

  • Name
    displayName
    Type
    string
    Description

    Naam van de contactpersoon.

  • Name
    email
    Type
    string
    Description

    E-mailadres van de contactpersoon.

  • Name
    organisationMasterIdentifier
    Type
    string
    Description

    Primaire organisatie-ID (onderwijsaanbieder-ID). Tenminste één van dit veld of organisationIds is vereist.

  • Name
    organisationIds
    Type
    array
    Description

    Secundaire organisatie-identificatoren met organisationId en organisationIdType (OIE_CODE, BP_ID, DD_ID, AS_ID).

OrderLine

  • Name
    purchaseOrderLineId
    Type
    string
    Description

    Inkooporderregelnummer van de school.

  • Name
    productId
    Type
    string
    Description

    Product-ID (EAN/ISBN) uit de Catalogue API.

  • Name
    quantity
    Type
    integer
    Description

    Aantal te bestellen exemplaren (minimaal 1).


PUT/edu-v/v1/order-api/orders

Bestelling ontvangen

Dit endpoint ontvangt een OrderRequest van een bestelomgeving (school). De bestelling wordt gevalideerd en opgeslagen als SalesOrder. Retourneert 202 Accepted bij succes.

Vereiste velden

  • Name
    requestReferenceId
    Type
    string (uuid)
    Description

    Unieke referentie voor deze bestelling.

  • Name
    purchaseOrderId
    Type
    string
    Description

    Inkoopordernummer van de school.

  • Name
    orderLines
    Type
    array
    Description

    Minimaal één orderregel met productId en quantity.

Request

PUT
/edu-v/v1/order-api/orders
curl -X PUT https://api.wimpel.nl/edu-v/v1/order-api/orders \
  -H "Content-Type: application/json" \
  -d '{
    "requestReferenceId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "purchaseOrderId": "PO-2026-001234",
    "deliveryLocation": {
      "name": "ZuidWestHoek College",
      "street": "Schoolstraat",
      "houseNumber": 12,
      "zipCode": "4641RM",
      "city": "Ossendrecht",
      "country": "Nederland"
    },
    "deliveryDate": "2026-09-01",
    "deliveryType": "school-all",
    "schoolBuyer": {
      "displayName": "Erik Jansen",
      "email": "e.jansen@zuidwesthoek.nl",
      "organisationMasterIdentifier": "16SK"
    },
    "orderLines": [
      {
        "purchaseOrderLineId": "POL-001",
        "productId": "9789464421408",
        "quantity": 30
      }
    ]
  }'

Response (202)

{
    "status": 0,
    "statusMessage": "Accepted"
}

Het CreditOrderRequest-model

Het CreditOrderRequest-object beschrijft een annulering (creditering) van een eerdere bestelling.

Properties

  • Name
    requestReferenceId
    Type
    string (uuid)
    Description

    Unieke referentie-ID voor deze annulering.

  • Name
    purchaseOrderId
    Type
    string
    Description

    Inkoopordernummer van de oorspronkelijke bestelling.

  • Name
    salesOrderId
    Type
    string
    Description

    Verkoopordernummer van de leverancier (optioneel).

  • Name
    responseReferenceId
    Type
    string (uuid)
    Description

    Referentie naar de originele OrderConfirmation (optioneel).

  • Name
    orderLines
    Type
    array[CreditOrderLine]
    Description

    Te annuleren producten. Indien weggelaten wordt de gehele order geannuleerd.

CreditOrderLine

  • Name
    purchaseOrderLineId
    Type
    string
    Description

    Inkooporderregelnummer.

  • Name
    salesOrderLineId
    Type
    string
    Description

    Verkooporderregelnummer.

  • Name
    productId
    Type
    string
    Description

    Product-ID (EAN/ISBN).

  • Name
    quantity
    Type
    integer
    Description

    Aantal te annuleren exemplaren.


PUT/edu-v/v1/order-api/creditorders

Annulering ontvangen

Dit endpoint ontvangt een CreditOrderRequest van een bestelomgeving. De annulering wordt gevalideerd, gekoppeld aan de oorspronkelijke SalesOrder en opgeslagen als SalesReturnOrder. Retourneert 202 Accepted bij succes.

Vereiste velden

  • Name
    requestReferenceId
    Type
    string (uuid)
    Description

    Unieke referentie voor deze annulering.

  • Name
    purchaseOrderId
    Type
    string
    Description

    Inkoopordernummer van de oorspronkelijke bestelling.

Request

PUT
/edu-v/v1/order-api/creditorders
curl -X PUT https://api.wimpel.nl/edu-v/v1/order-api/creditorders \
  -H "Content-Type: application/json" \
  -d '{
    "requestReferenceId": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
    "purchaseOrderId": "PO-2026-001234",
    "salesOrderId": "SO-XXXXXXXX",
    "orderLines": [
      {
        "purchaseOrderLineId": "POL-001",
        "productId": "9789464421408",
        "quantity": 5
      }
    ]
  }'

Response (202)

{
    "status": 0,
    "statusMessage": "Accepted"
}

Foutresponses

Alle endpoints retourneren een StatusResponse bij fouten:

  • Name
    status
    Type
    integer
    Description

    Functionele statuscode. 0 = OK, 400 = validatiefout, 6001 = order niet gevonden.

  • Name
    statusMessage
    Type
    string
    Description

    Toelichting op de statuscode.

Foutresponse (400)

{
    "status": 400,
    "statusMessage": "requestReferenceId must be a valid UUID; orderLines are required"
}

Was this page helpful?