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.
data-integration-id. Een data-dealer-id is voor hen niet nodig. De provider moet het websitedomein hebben toegestaan.- Neem de integratie-ID over uit de e-mail van de leaseprovider.
- Plaats het geschikte HTML-element in de detailpagina, voertuigkaart of financieringspagina.
- 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.
<div class="leasemodule-calculator"
data-type="vehicle"
data-integration-id="JOUW_INTEGRATIE_ID"
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.
<div class="leasemodule-monthly-price"
data-integration-id="JOUW_INTEGRATIE_ID"
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.
<div class="leasemodule-calculator"
data-type="standalone"
data-integration-id="JOUW_INTEGRATIE_ID">
</div>
<script src="https://leasemodule.nl/api/widget/v1/leasemodule.js" async></script>Belangrijke data-attributen
| Attribuut | Functie |
|---|---|
data-integration-id | Jouw integratie-ID van de provider. |
data-dealer-id | Alleen bij portalen: dealer-ID van de betreffende klant. |
data-type | vehicle of standalone voor volledige calculators. |
data-aanschafprijs | Verkoopprijs als getal, bijvoorbeeld 24950. |
data-voertuigsoort | Bijvoorbeeld Personenauto of Bedrijfswagen. |
data-merk / data-model | Merk en model van de auto. |
data-brandstof / data-bouwjaar | Brandstof en viercijferig bouwjaar. |
data-btwmarge | btw of marge. |
data-reference / data-kenteken | Voertuigreferentie en kenteken. |
data-dealernaam / data-dealerwebsite | Dealernaam en dealer-URL. |
data-voertuigurl | URL van de voertuigdetailpagina. |
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
[leasemodule_calculator aanschafprijs="24950" voertuigsoort="Personenauto" merk="Volkswagen" model="Golf" brandstof="Benzine" bouwjaar="2022" btwmarge="btw"]Maandprijs voertuig
[leasemodule_monthly_price aanschafprijs="24950" voertuigsoort="Personenauto" merk="Volkswagen" model="Golf" brandstof="Benzine" bouwjaar="2022" btwmarge="btw"]Losse calculator
[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 eigen integratie-ID. Voor rechtstreeks aangesloten autodealers is geen dealer-ID nodig.
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.
REST API integreren in drie stappen
- Laat jouw websitebouwer de API-koppeling op een beveiligde server inrichten.
- Vraag de actuele API-sleutel en integratie-instellingen aan bij de leaseprovider.
- 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.
| Route | Functie |
|---|---|
/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.
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 rechtstreeks aangesloten autobedrijven: geen dealer-ID nodig. Gebruik uitsluitend je eigen integratie-ID.
Voertuigvelden en variabelen
Bij berekeningen staat het voertuig in vehicle; bij aanvraagverwerking eveneens. De validator verwacht de volgende velden:
| Veld (JSON) | Verplicht | Toelichting |
|---|---|---|
aanschafprijs | Ja | Positief bedrag, bijvoorbeeld 24950; verkoopprijs wordt ook geaccepteerd. |
voertuigsoort | Ja | Personenauto, Bedrijfswagen, Bromfiets, Motorfiets, Vrachtwagen, Camper, Caravan of Brommobiel. Alternatief: soort. |
merk | Ja | Merk van het voertuig. |
model | Ja | Model van het voertuig. |
brandstof | Ja | Benzine, Diesel, Elektrisch, Hybride, LPG, LPG-G3, CNG, Waterstof, Overig (en ondersteunde varianten). |
bouwjaar | Ja | Viercijferig bouwjaar. |
btwmarge | Ja | btw of marge. |
reference | Nee | Eigen voorraad-/advertentiereferentie. |
kenteken | Nee | Voertuigkenteken. |
dealernaam | Nee | Naam van de dealer. |
dealerwebsite | Nee | Volledige URL van de dealerwebsite. |
voertuigurl | Nee | Volledige URL van de voertuigdetailpagina. |
Berekeningsopties
| Veld | Waar | Betekenis |
|---|---|---|
product | Hoofdobject | business, consumer of bij berekeningen both. |
term | options, business of consumer | Looptijd in maanden. Beschikbare looptijden volgen de providerinstellingen. |
down_payment | Opties | Aanbetaling in euro. |
final_payment | Opties | Slottermijn 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.
{
"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/
{
"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.
{
"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.
{
"vehicle": {
"aanschafprijs": 24950,
"voertuigsoort": "Personenauto",
"merk": "Volkswagen",
"model": "Golf",
"brandstof": "Benzine",
"bouwjaar": 2022,
"btwmarge": "btw",
"reference": "VWE12345",
"kenteken": "G123AB"
},
"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:
{
"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.
<?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.
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.
