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