Ga naar inhoud

Contracten op peildatum — v2 (gepagineerd)

GET Haal de lijst met actieve contracten gepagineerd op uit PharmaPortal.

De v2-API levert dezelfde contractgegevens als de v1-API, maar gepagineerd. Daardoor gelden er geen limieten op de periode of het aantal resultaten: ook meerjarige periodes met tienduizenden contracten kunt u pagina voor pagina ophalen.

Toegang

Alleen beschikbaar voor licentiehouders van PharmaPortal.

Endpoint

GET https://demo.pharma-portal.nl/api/v2/contracten
GET https://www.pharma-portal.nl/api/v2/contracten
Parameter In Type Verplicht Omschrijving
actiefOp query string (YYYY-MM-DD) nee Begin van de periode. Weglaten geeft de huidige datum.
actiefTot query string (YYYY-MM-DD) nee Einde van de periode (inclusief). Weglaten geeft de contracten actief op actiefOp. Mag niet vóór actiefOp liggen; er is geen maximum op de periode.
page query integer nee Paginanummer, vanaf 1 (standaard 1). Een pagina voorbij het einde geeft een lege data-lijst.
perPage query integer nee Aantal contracten per pagina, 1 t/m 1000 (standaard 500).

Authenticatie

Header Toelichting
x-portal-key De aan uw organisatie uitgereikte API-key.

Request

curl "https://demo.pharma-portal.nl/api/v2/contracten?actiefOp=2022-01-01&actiefTot=2026-12-31&page=1" \
  -H "x-portal-key: <uw-api-key>"

Response

Code Betekenis
200 Correct request.
400 Ongeldige parameter (datum, periode, page of perPage). Body: {"result":"error","errorMessage":"…"}.
401 Foutieve authenticatie of HMAC.

Voorbeeld van een succesvolle response (ingekort):

{
    "data": [
        {
            "startDatum": "YYYY-MM-DD",
            "eindDatum": "YYYY-MM-DD",
            "opmerkingen": "opmerking",
            "piCode": 671234,
            "zindexNummer": 12345678,
            "isExclusief": true,
            "prijsPerVerpakking": "1.23000",
            "kortingPercentage": null,
            "soortAfspraak": 1,
            "herkomst": "Herkomst",
            "leveringVia": 1,
            "isLPL": false,
            "trajectSlug": "1-trajectnaam",
            "createdAt": "2026-01-15T10:30:00+01:00",
            "updatedAt": "2026-01-15T10:30:00+01:00",
            "contractGroep": "ID van contractgroep",
            "contractGroepVolume": 100
        }
    ],
    "meta": {
        "page": 1,
        "perPage": 500,
        "totaal": 12345,
        "totaalPaginas": 25
    }
}

Haal alle pagina's op door page te verhogen tot en met meta.totaalPaginas. De sortering is stabiel (startdatum, daarna intern ID), zodat pagina's op elkaar aansluiten.

Velden

De contractvelden in data zijn gelijk aan de v1-API, met twee verschillen in het formaat:

Veld Type Verschil met v1
contractGroepVolume integer In v1 een string.
createdAt / updatedAt string ISO 8601 (bijv. 2026-01-15T10:30:00+01:00); in v1 YYYY-MM-DD HH:mm:ss.

Prijsvelden (prijsPerVerpakking, kortingPercentage) worden als string geleverd om afrondingsverlies te voorkomen.

Veld Type Omschrijving
meta.page integer Opgevraagde pagina.
meta.perPage integer Aantal contracten per pagina.
meta.totaal integer Totaal aantal contracten in de periode.
meta.totaalPaginas integer Totaal aantal pagina's (0 bij geen resultaten).

Aandachtspunten

Wilt u uw integratie testen? Neem tijdig contact op via info@zagis.nl. Wij zetten dan testdata voor u klaar en voorzien u van een API-key.