LeaseModuleScripts, WordPress en REST API voor portalen
Scripts, WordPress en REST API voor portalen

Plaatsen met scripts of REST API.

Gebruik jouw portaalintegratie en de dealer-ID per klant.

1. JavaScript-widget — de eenvoudigste eigen plaatsing

Plaats de LeaseModule-calculator op een website door een HTML-element en het bestaande JavaScript-bestand toe te voegen. Gebruik dit als je geen rechtstreekse REST API-koppeling wilt bouwen.

i
VoorafBij portalen voeg je bij ieder klantonderdeel de juiste data-dealer-id uit het dealer-ID-overzicht toe. Een portaal kan per klant dezelfde integratie-ID gebruiken, maar de juiste dealer-ID is verplicht om aanvragen correct toe te wijzen. De provider moet het websitedomein hebben toegestaan.
  1. Neem de integratie-ID over uit de e-mail van de leaseprovider.
  2. Plaats het geschikte HTML-element in de detailpagina, voertuigkaart of financieringspagina.
  3. Laad het script leasemodule.js één keer per pagina en controleer de calculator op mobiel.

Voertuigcalculator op een detailpagina

Gebruik data-type="vehicle" en vul de voertuiggegevens vanuit het bestaande voorraadsysteem in.

Voorbeeldcode — kopiëren en aanpassen
<div class="leasemodule-calculator"
  data-type="vehicle"
  data-integration-id="JOUW_INTEGRATIE_ID"
  data-dealer-id="LO-00002"
  data-reference="VWE12345"
  data-aanschafprijs="24950"
  data-voertuigsoort="Personenauto"
  data-merk="Volkswagen"
  data-model="Golf"
  data-brandstof="Benzine"
  data-bouwjaar="2022"
  data-kenteken="G123AB"
  data-btwmarge="btw"
  data-dealernaam="Voorbeeld Autobedrijf"
  data-dealerwebsite="https://voorbeeld.nl"
  data-voertuigurl="https://voorbeeld.nl/aanbod/golf">
</div>

<script src="https://leasemodule.nl/api/widget/v1/leasemodule.js" async></script>

Maandprijs op voertuigkaarten

Gebruik leasemodule-monthly-price voor een indicatief maandbedrag in een voertuigoverzicht. Herhaal het HTML-element per voertuig, maar laad het script slechts één keer.

Voorbeeldcode — kopiëren en aanpassen
<div class="leasemodule-monthly-price"
  data-integration-id="JOUW_INTEGRATIE_ID"
  data-dealer-id="LO-00002"
  data-reference="VWE12345"
  data-aanschafprijs="24950"
  data-voertuigsoort="Personenauto"
  data-merk="Volkswagen"
  data-model="Golf"
  data-brandstof="Benzine"
  data-bouwjaar="2022"
  data-kenteken="G123AB"
  data-btwmarge="btw"
  data-dealernaam="Voorbeeld Autobedrijf"
  data-dealerwebsite="https://voorbeeld.nl"
  data-voertuigurl="https://voorbeeld.nl/aanbod/golf">
</div>

<script src="https://leasemodule.nl/api/widget/v1/leasemodule.js" async></script>

Losse calculator zonder voertuig

Gebruik data-type="standalone". De bezoeker vult zelf de aankoopprijs en andere gegevens in.

Voorbeeldcode — kopiëren en aanpassen
<div class="leasemodule-calculator"
  data-type="standalone"
  data-integration-id="JOUW_INTEGRATIE_ID"
  data-dealer-id="LO-00002">
</div>

<script src="https://leasemodule.nl/api/widget/v1/leasemodule.js" async></script>

Belangrijke data-attributen

AttribuutFunctie
data-integration-idJouw integratie-ID van de provider.
data-dealer-idAlleen bij portalen: dealer-ID van de betreffende klant.
data-typevehicle of standalone voor volledige calculators.
data-aanschafprijsVerkoopprijs als getal, bijvoorbeeld 24950.
data-voertuigsoortBijvoorbeeld Personenauto of Bedrijfswagen.
data-merk / data-modelMerk en model van de auto.
data-brandstof / data-bouwjaarBrandstof en viercijferig bouwjaar.
data-btwmargebtw of marge.
data-reference / data-kentekenVoertuigreferentie en kenteken.
data-dealernaam / data-dealerwebsiteDealernaam en dealer-URL.
data-voertuigurlURL van de voertuigdetailpagina.
!
Let opGebruik geen geheime API-sleutel in HTML of JavaScript. De widget regelt de benodigde clientintegratie op basis van de integratie-ID en domeintoestemming. De getoonde illustraties bevatten voorbeeldbedragen.

2. WordPress-plugin en shortcodes

Voor WordPress en Elementor is een bestaande LeaseModule-plugin beschikbaar. Plaats deze via Plugins → Nieuwe plugin → Plugin uploaden en configureer de integratiegegevens in WordPress.

Download LeaseModule WordPress-plugin ↓

Voertuigcalculator

Voorbeeldcode — kopiëren en aanpassen
[leasemodule_calculator aanschafprijs="24950" voertuigsoort="Personenauto" merk="Volkswagen" model="Golf" brandstof="Benzine" bouwjaar="2022" btwmarge="btw"]

Maandprijs voertuig

Voorbeeldcode — kopiëren en aanpassen
[leasemodule_monthly_price aanschafprijs="24950" voertuigsoort="Personenauto" merk="Volkswagen" model="Golf" brandstof="Benzine" bouwjaar="2022" btwmarge="btw"]

Losse calculator

Voorbeeldcode — kopiëren en aanpassen
[leasemodule_calculator type="standalone"]

De shortcodes kunnen in een WordPress Shortcode-blok of een Elementor Shortcode-widget worden geplaatst. De WordPress-plugin gebruikt de integratiegegevens uit de plugininstellingen. Controleer voor portaalgebruik apart of de geïnstalleerde plugin dealer-ID’s ondersteunt; gebruik anders de JavaScript-widget met data-dealer-id of de REST API.

3. REST API — voor maatwerkkoppelingen

Met de REST API bouwt een developer de calculator en aanvraagverwerking volledig zelf. Dit is vooral nuttig bij eigen voorraadplatformen, backoffice-integraties en maatwerk. Hieronder staan alle API-routes, variabelen, verzoeken, antwoorden en foutmeldingen.

Verschil met het script: de JavaScript-widget bouwt de interface zelf op; bij de REST API verwerk je JSON-gegevens en maak je de volledige gebruikersinterface zelf. De geheime API-sleutel blijft altijd server-side.

4. Gegevens voor een rechtstreekse REST API-koppeling

Gebruik jouw portaalintegratie en de dealer-ID per klant.

Integratie-ID

Ontvang je per e-mail van de leaseprovider. Dit is een identificatie en geen geheime API-sleutel.

API-sleutel

Vraag de geheime API-sleutel afzonderlijk aan bij jouw leaseprovider. Bewaar deze uitsluitend server-side.

i
BelangrijkKoppel elke aanvraag aan de juiste klant/dealer-ID. Controleer de dealer-ID’s in de persoonlijke overzichtlink uit de e-mail.

REST API integreren in drie stappen

  1. Laat jouw websitebouwer de API-koppeling op een beveiligde server inrichten.
  2. Vraag de actuele API-sleutel en integratie-instellingen aan bij de leaseprovider.
  3. Verwerk voertuiggegevens, berekeningen en aanvragen via de API en test de complete aanvraagflow.

Gebruik de echte API-schema’s van jouw leaseprovider. Een browser mag nooit rechtstreeks over een geheime API-sleutel beschikken.

API-routes

De onderstaande paden bestaan in het LeaseModule-platform. De exacte requestvelden en authenticatievereisten zijn afhankelijk van het gekozen endpoint en de actieve providerinstellingen.

RouteFunctie
/api/v1/calculations/Een voertuigberekening
/api/v1/monthly-prices/Maandprijsberekening
/api/v1/monthly-prices/batch/Meerdere maandprijzen
/api/v1/applications/Financieringsaanvraag verwerken
/api/v1/health/Beschikbaarheid controleren

Authenticatie en verzoeken

Gebruik POST met Content-Type: application/json. De integratie-ID identificeert de koppeling; de geheime API-sleutel hoort uitsluitend op de server.

Voorbeeldcode
POST /api/v1/calculations/ HTTP/1.1
Host: leasemodule.nl
Content-Type: application/json
X-LeaseModule-Integration: JOUW_INTEGRATIE_ID
X-LeaseModule-API-Key: JOUW_GEHEIME_API_SLEUTEL

{...JSON body...}

De server accepteert ook Authorization: Bearer JOUW_GEHEIME_API_SLEUTEL. Geef de sleutel nooit mee in publiek zichtbare JavaScript- of iframe-code.

Voor portalen: gebruik de dealer-ID van de betreffende klant. In het aanvraagverzoek komt deze onder vehicle.dealer_id. De API controleert of die dealer-ID bij de gebruikte integratie hoort. Bij berekeningen wordt deze dealer-ID in de huidige route niet apart verwerkt; rekenregels komen van de integratie.

Voertuigvelden en variabelen

Bij berekeningen staat het voertuig in vehicle; bij aanvraagverwerking eveneens. De validator verwacht de volgende velden:

Veld (JSON)VerplichtToelichting
aanschafprijsJaPositief bedrag, bijvoorbeeld 24950; verkoopprijs wordt ook geaccepteerd.
voertuigsoortJaPersonenauto, Bedrijfswagen, Bromfiets, Motorfiets, Vrachtwagen, Camper, Caravan of Brommobiel. Alternatief: soort.
merkJaMerk van het voertuig.
modelJaModel van het voertuig.
brandstofJaBenzine, Diesel, Elektrisch, Hybride, LPG, LPG-G3, CNG, Waterstof, Overig (en ondersteunde varianten).
bouwjaarJaViercijferig bouwjaar.
btwmargeJabtw of marge.
referenceNeeEigen voorraad-/advertentiereferentie.
kentekenNeeVoertuigkenteken.
dealernaamNeeNaam van de dealer.
dealerwebsiteNeeVolledige URL van de dealerwebsite.
voertuigurlNeeVolledige URL van de voertuigdetailpagina.

dealer_id is voor portaal-aanvragen bedoeld in vehicle.dealer_id en wordt bij aanvraagverwerking gevalideerd.

Berekeningsopties

VeldWaarBetekenis
productHoofdobjectbusiness, consumer of bij berekeningen both.
termoptions, business of consumerLooptijd in maanden. Beschikbare looptijden volgen de providerinstellingen.
down_paymentOptiesAanbetaling in euro.
final_paymentOptiesSlottermijn in euro; grenzen volgen de providerinstellingen.

De volledige calculator gebruikt aparte opties onder business en consumer. De maandprijsroutes gebruiken één object options.

Voertuigcalculator

Endpoint: POST /api/v1/calculations/. In dit voorbeeld berekent de server een zakelijke financiering.

Voorbeeldcode
{
  "vehicle": {
    "aanschafprijs": 24950,
    "voertuigsoort": "Personenauto",
    "merk": "Volkswagen",
    "model": "Golf",
    "brandstof": "Benzine",
    "bouwjaar": 2022,
    "btwmarge": "btw",
    "reference": "VWE12345",
    "kenteken": "G123AB"
  },
  "product": "business",
  "business": {
    "term": 60,
    "down_payment": 5000,
    "final_payment": 3000
  }
}

Het antwoord bevat onder andere success, request_id, calculation_id, currency, vehicle, valid_until en de berekening in business en/of consumer met een monthly_amount. Het daadwerkelijke bedrag wordt door LeaseModule berekend en is afhankelijk van de ingestelde providerregels.

Maandprijzen

Eén voertuig

Endpoint: POST /api/v1/monthly-prices/

Voorbeeldcode
{
  "vehicle": {
    "aanschafprijs": 24950,
    "voertuigsoort": "Personenauto",
    "merk": "Volkswagen",
    "model": "Golf",
    "brandstof": "Benzine",
    "bouwjaar": 2022,
    "btwmarge": "btw",
    "reference": "VWE12345",
    "kenteken": "G123AB"
  },
  "product": "business",
  "options": {
    "term": 60,
    "down_payment": 5000,
    "final_payment": 3000
  }
}

Het antwoord bevat reference, product, monthly_amount, monthly_amount_rounded, term, currency, price_rule en valid_until.

Meerdere voertuigen tegelijk

Endpoint: POST /api/v1/monthly-prices/batch/. Maximaal 50 voertuigen per verzoek.

Voorbeeldcode
{
  "vehicles": [
    {
      "aanschafprijs": 24950,
      "voertuigsoort": "Personenauto",
      "merk": "Volkswagen",
      "model": "Golf",
      "brandstof": "Benzine",
      "bouwjaar": 2022,
      "btwmarge": "btw",
      "reference": "VWE12345",
      "kenteken": "G123AB"
    },
    {
      "aanschafprijs": 17950,
      "voertuigsoort": "Personenauto",
      "merk": "Volkswagen",
      "model": "Polo",
      "brandstof": "Benzine",
      "bouwjaar": 2022,
      "btwmarge": "btw",
      "reference": "VWE12346",
      "kenteken": "G123AB"
    }
  ],
  "product": "business",
  "options": {
    "term": 60
  }
}

Het antwoord bevat een prices-lijst met per referentie het berekende maandbedrag, de afgeronde prijs en looptijd.

Financieringsaanvraag indienen

Endpoint: POST /api/v1/applications/. Onderstaand voorbeeld betreft een zakelijke aanvraag. Persoonsgegevens moeten via een beveiligde serververbinding worden verzonden.

Voorbeeldcode
{
  "vehicle": {
    "aanschafprijs": 24950,
    "voertuigsoort": "Personenauto",
    "merk": "Volkswagen",
    "model": "Golf",
    "brandstof": "Benzine",
    "bouwjaar": 2022,
    "btwmarge": "btw",
    "reference": "VWE12345",
    "kenteken": "G123AB",
    "dealer_id": "LO-00002"
  },
  "product": "business",
  "calculator_type": "vehicle",
  "form_started_at": "UNIX_TIJDSTEMPEL_VAN_FORMULIERSTART",
  "applicant": {
    "initials": "J.",
    "last_name": "Jansen",
    "email": "voorbeeld@example.nl",
    "phone": "0612345678"
  },
  "company": {
    "name": "Voorbeeld B.V.",
    "kvk": "12345678"
  },
  "options": {
    "term": 60
  },
  "website": ""
}

Let op: form_started_at moet een echte Unix-tijdstempel in seconden bevatten van het moment waarop het formulier is gestart. De applicatie vereist een minimale verstreken tijd van drie seconden en maximaal 24 uur. Het lege veld website is een anti-spamveld.

Voor zakelijke aanvragen zijn onder andere applicant.initials, applicant.last_name, applicant.email, company.name en company.kvk verplicht. Particuliere aanvragen vereisen extra persoonsgegevens, woonsituatie en inkomensgegevens, afhankelijk van de antwoorden. Gebruik daarvoor de actuele particuliere aanvraagvelden.

Bij succes retourneert de API HTTP 201 met onder andere success, request_id, application_id, xml_created en afleverstatussen.

Antwoorden en foutmeldingen

Een geslaagd verzoek bevat success: true. Bij een fout gebruikt LeaseModule de volgende structuur:

Voorbeeldcode
{
  "success": false,
  "request_id": "voorbeeld_request_id",
  "error": {
    "code": "validation_error",
    "message": "Een of meer velden zijn ongeldig."
  },
  "errors": [
    {
      "field": "aanschafprijs",
      "code": "required",
      "message": "Dit veld is verplicht."
    }
  ]
}

Veelvoorkomende statuscodes: 400 ongeldige JSON, 401 ontbrekende of foutieve authenticatie, 403 niet toegestane integratie, domein of dealer-ID, 422 ongeldige invoer of product.

Compleet server-side verzoek

Dit PHP-voorbeeld laat zien hoe de server een voertuigberekening verstuurt. Vervang de voorbeeldwaarden en sla de API-sleutel veilig buiten de openbare websitebestanden op. De JSON-velden zijn dezelfde als in de tabel hierboven. Voor portalen moet de juiste dealer-ID volgens het endpoint bij het verzoek worden betrokken; controleer dat vóór verwerking.

PHP-voorbeeld (server-side)
<?php
$payload = [
  'vehicle' => [
    'aanschafprijs' => 24950,
    'voertuigsoort' => 'Personenauto',
    'merk' => 'Volkswagen',
    'model' => 'Golf',
    'brandstof' => 'Benzine',
    'bouwjaar' => 2022,
    'btwmarge' => 'btw'
  ],
  'product' => 'business',
  'business' => [
    'term' => 60,
    'down_payment' => 5000,
    'final_payment' => 3000
  ]
];
$ch = curl_init('https://leasemodule.nl/api/v1/calculations/');
curl_setopt_array($ch, [
  CURLOPT_POST => true,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_TIMEOUT => 20,
  CURLOPT_HTTPHEADER => [
    'Content-Type: application/json',
    'X-LeaseModule-Integration: JOUW_INTEGRATIE_ID',
    'X-LeaseModule-API-Key: JOUW_GEHEIME_API_SLEUTEL'
  ],
  CURLOPT_POSTFIELDS => json_encode($payload)
]);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$error = curl_error($ch);
curl_close($ch);
if ($response === false) {
  // Handel transportfouten af, toon geen API-sleutel in logs.
  throw new RuntimeException('Verbinding met LeaseModule mislukt');
}
$data = json_decode($response, true);
if ($status < 200 || $status >= 300 || !is_array($data)) {
  throw new RuntimeException('LeaseModule gaf geen succesvol antwoord');
}
// Verwerk hier het berekende maandbedrag volgens de responsevelden.

Antwoorden verwerken

Controleer altijd de HTTP-status, de success-waarde en het juiste productobject. Een berekening kan afhankelijk van de ingestelde leaseproducten onder business of consumer worden teruggegeven. Lees het werkelijke maandbedrag uit monthly_amount in het betreffende object; neem nooit een voorbeeldbedrag over.

Bij een aanvraag moet de website het ontvangen resultaat en eventuele validatiefouten opvangen. Gebruik request_id om technische problemen te kunnen herleiden zonder klantgegevens of geheime sleutels in logs te bewaren.

i
Let opVoor de REST API maak je geen iframe aan. De API geeft gegevens terug; het ontwerp van de calculator, voorraadkaart en aanvraagpagina verzorg je zelf op de website.

Beveiliging

  • Gebruik HTTPS en bewaar de API-sleutel alleen op de server.
  • Controleer klant- en voertuiggegevens voordat je een aanvraag doorstuurt.
  • Verstuur persoonsgegevens uitsluitend via beveiligde POST-verzoeken.
  • Registreer fouten en request-ID’s zonder geheime sleutels te loggen.

Testen en livegang

  • Controleer de berekening voor een btw-auto en een margeauto.
  • Controleer zakelijke en particuliere producten die zijn geactiveerd.
  • Controleer de verwerking van de aanvraag en de koppeling aan het juiste autobedrijf.
Terug naar alle handleidingen →