Technische Integration

leasinGo Widgets für Ihre Website oder Ihren Onlineshop

Quick Start

Jedes leasinGo Widget kann über ein HTML-Element eingebunden und über das zugehörige Integrationsskript initialisiert werden.

1. Widget einfügenHTML-Element an der gewünschten Position platzieren und Produktdaten über data-*-Attribute vorbelegen.
2. Script ladenPassendes leasinGo Integrationsskript am Ende der Seite asynchron laden.
HTML
<div
    class="leasingo-rate-indicator"
    data-object-price-netto="12500"
    data-vendor="Example GmbH"
    data-model="Example 1000">
</div>

<script
    src="https://lgwlif5e242.leasingo.cloud/integration/rateIndicator"
    async>
</script>
Mehrere Widget-Typen? Verwenden Sie /integration/v1. Dieser Endpunkt stellt Sofort-Rate, Minikalkulator und Schnellkalkulator gemeinsam bereit.

Integrationsskripte

Die leasinGo Integrationen werden individuell für Ihre Instanz konfiguriert und über Ihre persönliche Subdomain bereitgestellt.

WidgetEndpunktVerwendung
Sofort-Rate/integration/rateIndicatorNur Sofort-Rate
Minikalkulator/integration/minicalculatorNur Minikalkulator
Schnellkalkulator/integration/calculatorNur Schnellkalkulator
Alle Widgets/integration/v1Empfohlen bei mehreren Widgets

Mehrere Widgets verwenden

Wenn auf Ihrer Website verschiedene leasinGo Widgets zum Einsatz kommen, laden Sie nur den gemeinsamen Integrationsendpunkt:

HTML
<script
    src="https://lgwlif5e242.leasingo.cloud/integration/v1"
    async>
</script>

Die einzelnen Widget-Skripte müssen in diesem Fall nicht zusätzlich eingebunden werden.

Widgets per HTML einbinden

Für klassische Websites und serverseitig gerenderte Onlineshops ist die deklarative Integration über HTML die einfachste Variante.

Sofort-Rate

HTML
<div
    class="leasingo-rate-indicator"
    data-object-price-netto="12500"
    data-vendor="Example GmbH"
    data-model="Example 1000">
</div>

Minikalkulator

HTML
<div
    class="leasingo-minicalculator"
    data-object-price-netto="12500"
    data-maturity="48"
    data-finance-product="2"
    data-vendor="Example GmbH"
    data-model="Example 1000">
</div>

Schnellkalkulator

HTML
<div
    class="leasingo-calculator"
    data-object-price-netto="25000"
    data-maturity="48"
    data-finance-product="1"
    data-object-condition="1"
    data-deposit-payment-percent="10">
</div>

Parameter

Produkt- und Finanzierungsdaten können über data-*-Attribute als Ausgangswerte an die Widgets übergeben werden.

AttributWertBeschreibung
data-object-price-nettoZahlNetto-Objektpreis
data-maturityGanzzahlVertragslaufzeit in Monaten
data-finance-product1 / 21 = Leasing, 2 = Mietkauf
data-object-condition0 / 10 = gebraucht, 1 = neu
data-vendorTextHersteller (2 - 255 Zeichen)
data-modelTextModellbezeichnung (2 - 400 Zeichen)
data-categoryTextHauptkategorie
data-subcategoryTextUnterkategorie

Zusätzliche Parameter des Schnellkalkulators

AttributWertBeschreibung
data-deposit-payment-percentZahlAnzahlung in Prozent
data-closing-payment-percentZahlRestwert bzw. Schlussrate in Prozent

Zahlenformate

Numerische Werte werden ohne Tausendertrennzeichen und mit einem Punkt als Dezimaltrennzeichen angegeben.

HTML
data-object-price-netto="125000"
data-deposit-payment-percent="10.75"

Welche Werte und Vertragslaufzeiten tatsächlich verfügbar sind, hängt von der individuellen Konfiguration Ihrer leasinGo Instanz und der jeweiligen Kalkulation ab.

JavaScript API

Die JavaScript API ermöglicht den dynamischen Zugriff auf bereits per HTML erzeugte Widgets sowie die vollständig programmatische Erstellung neuer Widgets.

Auf die Initialisierung warten

Sobald ein Widget-Typ vollständig initialisiert und seine JavaScript API verfügbar ist, löst leasinGo auf window ein CustomEvent aus.

WidgetReady Event
Sofort-RatelgoRateIndicatorReady
MinikalkulatorlgoMinicalculatorReady
SchnellkalkulatorlgoCalculatorReady
Wichtig: Registrieren Sie den Event Listener, bevor Sie das leasinGo Integrationsskript laden.
JavaScript + HTML
<script>
    window.addEventListener('lgoMinicalculatorReady', function (event) {
        // Minikalkulator API ist verfügbar
    });
</script>

<script
    src="https://lgwlif5e242.leasingo.cloud/integration/minicalculator"
    async>
</script>

Mit data-ref auf HTML-Widgets zugreifen

Ein deklarativ erzeugtes Widget kann über data-ref mit einer eindeutigen Referenz versehen werden:

HTML
<div
    class="leasingo-rate-indicator"
    data-ref="productRate"
    data-object-price-netto="12500">
</div>

Das Ready Event stellt über event.detail.refs() alle registrierten Referenzen des jeweiligen Widget-Typs zur Verfügung:

JavaScript
window.addEventListener('lgoRateIndicatorReady', function (event) {
    const refs = event.detail.refs();
    const rate = refs.productRate;

    rate.setPriceNetto(15000);
    rate.calculate();
});

Der Name der Referenz entspricht dabei direkt dem Wert von data-ref:

Zuordnung
data-ref="productRate"

// Zugriff:
event.detail.refs().productRate

Mehrere Widgets desselben Typs

HTML
<div
    class="leasingo-rate-indicator"
    data-ref="productA"
    data-object-price-netto="10000">
</div>

<div
    class="leasingo-rate-indicator"
    data-ref="productB"
    data-object-price-netto="20000">
</div>
JavaScript
window.addEventListener('lgoRateIndicatorReady', function (event) {
    const refs = event.detail.refs();

    refs.productA.setPriceNetto(12000);
    refs.productA.calculate();

    refs.productB.setPriceNetto(22000);
    refs.productB.calculate();
});

Widgets per JavaScript erstellen

Widgets können vollständig programmatisch erstellt werden. Diese Variante eignet sich besonders für Single-Page-Applications, Produktkonfiguratoren und andere dynamische Webanwendungen.

Factory-Funktionen

Nach dem jeweiligen Ready Event stehen folgende Factory-Funktionen zur Verfügung:

TypeScript
leasinGo.createRateIndicator(
    element: HTMLElement
): WidgetInterface

leasinGo.createMinicalculator(
    element: HTMLElement
): WidgetInterface

leasinGo.createCalculator(
    element: HTMLElement
): WidgetInterface

Die Factory-Funktion erwartet das HTML-Element, in dem das Widget erzeugt werden soll, und gibt das zugehörige WidgetInterface zurück.

Beispiel: Minikalkulator erstellen

HTML + JavaScript
<div id="my-leasing-minicalculator"></div>

<script>
    window.addEventListener('lgoMinicalculatorReady', function () {
        const element = document.getElementById('my-leasing-minicalculator');
        const calculator = leasinGo.createMinicalculator(element);

        calculator.setVendor('Example GmbH');
        calculator.setModel('Example 1000');
        calculator.setPriceNetto(12500);
        calculator.setMaturity(48);
        calculator.calculate();
    });
</script>

Sofort-Rate erstellen

JavaScript
window.addEventListener('lgoRateIndicatorReady', function () {

    const element = document.getElementById('my-leasing-rate');
    const rate = leasinGo.createRateIndicator(element);

    rate.setVendor('Example GmbH');
    rate.setModel('Example 1000');
    rate.setPriceNetto(12500);
    rate.calculate();
});

Schnellkalkulator erstellen

JavaScript
window.addEventListener('lgoCalculatorReady', function () {
    const element = document.createElement('div');
    const calculator = leasinGo.createCalculator(element);
    document.body.append(element);

    calculator.setPriceNetto(25000);
    calculator.setFinanceProduct(1);
    calculator.setMaturity(48);
    calculator.calculate();
});

WidgetInterface: Widget-Daten dynamisch ändern

MethodeParameterBeschreibung
setVendor(value)stringHersteller setzen (2 - 255 Zeichen)
setModel(value)stringModellbezeichnung setzen (2 - 400 Zeichen)
setObjectCondition(value)numberObjektzustand setzen, 0 = gebraucht, 1 = neu
setPriceNetto(value)numberNetto-Objektpreis setzen
setFinanceProduct(value)numberFinanzierungsprodukt setzen, 1 = Leasing, 2 = Mietkauf
setMaturity(value)numberVertragslaufzeit in Monaten setzen
setCategory(value)stringHauptkategorie setzen
setSubcategory(value)stringUnterkategorie setzen
calculate()Kalkulation mit den aktuellen Werten starten

Beispiel: Produktvariante aktualisieren

JavaScript
let productRate;

window.addEventListener('lgoRateIndicatorReady', function (event) {
    productRate = event.detail.refs().productRate;
});

function updateProduct(product) {
    productRate.setVendor(product.vendor);
    productRate.setModel(product.name);
    productRate.setPriceNetto(product.netPrice);
    productRate.calculate();
}

HTML oder JavaScript?

Für klassische Websites und Onlineshops empfehlen wir die deklarative HTML-Integration. Produktdaten können direkt über data-*-Attribute vorgegeben und bei Bedarf später über data-ref dynamisch angesprochen werden.

Die programmatische Integration eignet sich insbesondere dann, wenn Ihre Anwendung selbst darüber entscheiden soll, wann und wo ein Widget erzeugt wird. Beide Varianten können innerhalb derselben Anwendung kombiniert werden.

Legacy: Callback API

Bestehende Integrationen

Für bestehende Integrationen werden weiterhin Widget-spezifische Callback-Arrays unterstützt. Für neue Integrationen empfehlen wir die Ready Events.

WidgetLegacy Callback
Sofort-Ratewindow.lgoRateIndicatorCallbacks
Minikalkulatorwindow.lgoMinicalculatorCallbacks
Schnellkalkulatorwindow.lgoCalculatorCallbacks
Legacy JavaScript
window.lgoRateIndicatorCallbacks =
    window.lgoRateIndicatorCallbacks || [];

window.lgoRateIndicatorCallbacks.push(function () {
    // Sofort-Rate wurde initialisiert
});

Für neue Integrationen:

Empfohlen
window.addEventListener('lgoRateIndicatorReady', function (event) {
    const refs = event.detail.refs();
    // Sofort-Rate wurde initialisiert
});