Naar hoofdinhoud

Prijzen

GET https://scintillating-wolf-799.eu-west-1.convex.site/v1/prices

Prijzen bij de producten, standaard alleen de actieve. Trapprijzen en meestijgende prijzen staan er bewust niet in: die veranderen per verkoop, dus een overgenomen bedrag klopt vroeg of laat niet meer. Wie de actuele prijs wil, hoort de betaalpagina te gebruiken.

Rechten: catalog:read. Deze gegevens gaan niet over personen.

Prijzen horen bij een product en staan hier los, omdat één product meerdere prijzen kan hebben: per maand, per jaar, of in termijnen. Bedragen zijn centen inclusief btw, want dat is wat de klant betaalt.

Gebruik intervalMonths om de cadans te bepalen. Dat veld klopt ook bij meerjarige prijzen, waar type en frequency dat niet doen: die kennen alleen de gangbare vormen, terwijl intervalMonths gewoon 24 of 36 kan zijn.

Trapprijzen en meestijgende prijzen zitten er bewust niet in. Die veranderen per verkoop, dus een extern systeem dat het bedrag overneemt toont vroeg of laat iets dat niet meer klopt. Wie de actuele prijs wil tonen, hoort naar de betaalpagina te linken in plaats van het bedrag te kopiëren.

Standaard krijg je alleen actieve prijzen. Gearchiveerde prijzen bestaan nog omdat er oude abonnementen op lopen; die haal je op met includeArchived=true.

Parameters

Naam Uitleg
productId Alleen de prijzen van dit product.
includeArchived true neemt ook gearchiveerde prijzen mee.
limit Aantal items per pagina, 1 tot en met 500. Standaard 100. Een waarde daarbuiten geeft een fout in plaats van een stille correctie.
cursor De nextCursor uit het vorige antwoord. Blijf doorbladeren tot nextCursor null is, ook als een pagina niet vol zit.

Voorbeeld

curl "https://scintillating-wolf-799.eu-west-1.convex.site/v1/prices" \
  -H "Authorization: Bearer <je sleutel>"

Antwoord

{
  "items": [
    {
      "id": "kp3…",
      "productId": "js7…",
      "label": "Per jaar",
      "type": "yearly",
      "amountCents": 29900,
      "currency": "EUR",
      "status": "active",
      "isDefault": true,
      "intervalMonths": 12,
      "frequency": "yearly",
      "installmentCount": null,
      "installmentAmountCents": null,
      "customerSetsPrice": false,
      "minAmountCents": null,
      "maxAmountCents": null,
      "sku": "JAAR-01",
      "accessDuration": null,
      "createdAt": 1759276800000
    }
  ],
  "nextCursor": null
}

Velden

Veld Type Betekenis
id string Vaste verwijzing naar deze prijs.
productId string Het product waar de prijs bij hoort.
label string of null Eigen naam voor de weergave.
type string one_time, monthly, quarterly, yearly of installments.
amountCents getal Bedrag in centen, inclusief btw.
currency string Munteenheid.
status string active of archived.
isDefault boolean Of dit de prijs is die standaard geselecteerd staat.
intervalMonths getal of null Aantal maanden per incasso. Dit is het veld dat ook klopt bij meerjarige prijzen, waar type en frequency dat niet doen.
frequency string of null Oudere aanduiding van de cadans. Gebruik intervalMonths.
installmentCount getal of null Aantal termijnen bij een gespreide betaling.
installmentAmountCents getal of null Bedrag per termijn.
customerSetsPrice boolean Of de klant zelf het bedrag bepaalt.
minAmountCents getal of null Ondergrens in dat geval.
maxAmountCents getal of null Bovengrens in dat geval.
sku string of null Eigen artikelcode.
accessDuration object of null Toegangsduur die de instelling van het product overschrijft.
createdAt getal Aanmaakmoment.

Veelgestelde vragen

Waarom wijkt het bedrag af van wat een klant betaalde?
Een prijs kan later zijn aangepast, en bij een prijs waarbij de klant zelf het bedrag bepaalt staat hier alleen de ondergrens. Wat er echt betaald is staat op de factuur.
Hoe weet ik welke prijs standaard geselecteerd is?
Aan isDefault. Dat is de prijs die op de betaalpagina vooraan staat.

Hierna nodig

Werkt je aanroep niet zoals verwacht, kijk dan bij de foutcodes en wat ze betekenen. Heb je nog geen sleutel, dan legt de kennisbank uit hoe je er een aanmaakt.