JavaScript-SDK
Der einfachste Weg, Leads von Ihrer Website zu erfassen: Binden Sie das SDK ein und verknüpfen Sie es mit einem vorhandenen HTML-Formular. Das SDK prüft die Eingaben, sendet sie per REST-API und meldet Erfolg oder Fehler an Ihre Callbacks.
Einbinden
<script src="https://app.advision360.de/sdk/app.min.js"></script>
<script>
Advision.configure({ apiKey: 'YOUR_API_KEY' })
Advision.bindForm('#lead-form')
</script>
| Funktion | Beschreibung |
|---|---|
Advision.configure(options) | Setzt den Lead-Schlüssel. Einmal pro Seite aufrufen, bevor ein Formular gebunden wird. |
Advision.bindForm(selector, options?) | Fängt das Absenden des Formulars ab und sendet die Daten als Lead. |
Das SDK fügt jedem Lead automatisch die Adresse der aktuellen Seite hinzu (_meta.url). Sie erscheint in den Lead-Details als Herkunft.
Formularfelder
Das SDK liest die Eingabefelder über ihr name-Attribut.
name | Pflicht | Hinweise |
|---|---|---|
firstName | ja | Maximal 100 Zeichen. |
lastName | ja | Maximal 100 Zeichen. |
email | E-Mail oder Telefon | Gültige E-Mail-Adresse, maximal 255 Zeichen. |
phone | E-Mail oder Telefon | Maximal 50 Zeichen. |
source | nein | Herkunft des Leads, siehe erlaubte Werte. |
notes | nein | Freitext, wird am Lead gespeichert. |
additionalFields.<key> | nein | Eigene Werte, siehe Eigene Felder. |
Jedes andere Feld des Formulars übernimmt das SDK ebenfalls in additionalFields, mit seinem name als Schlüssel. Die Felder _key, _redirect und _meta werden ignoriert.
Optionen von bindForm
<script>
Advision.configure({ apiKey: 'YOUR_API_KEY' })
Advision.bindForm('#lead-form', {
onSuccess: () => {
window.location.href = '/danke'
},
onError: (error) => {
document.querySelector('#form-error').textContent = error.error
},
additionalData: { campaign: 'fruehjahr-2026' },
resetOnSuccess: true,
})
</script>
| Option | Typ | Beschreibung |
|---|---|---|
onSuccess | (response) => void | Wird nach erfolgreichem Versand aufgerufen. |
onError | (error: { error: string }) => void | Wird bei Validierungs-, Netzwerk- oder API-Fehlern aufgerufen. error.error enthält die Fehlermeldung. |
additionalData | object | Zusätzliche Werte, die in additionalFields jedes Leads übernommen werden, z. B. eine Kampagnenkennung. |
resetOnSuccess | boolean | Formular nach Erfolg leeren. Standard: true. |
bindForm gibt eine Funktion zurück, die die Bindung wieder entfernt. Wird kein Formular zum Selektor gefunden, gibt bindForm undefined zurück und schreibt eine Warnung in die Konsole.
:::info Weiterleitung nach dem Absenden
Das SDK sendet das Feld _redirect nicht. Leiten Sie stattdessen in onSuccess weiter, wie im Beispiel oben.
:::
Programmatische API
Ohne Formular senden Sie einen Lead mit submitLead. Mit validate prüfen Sie Daten vorab, ohne sie zu senden.
try {
await Advision.submitLead({
firstName: 'Max',
lastName: 'Mustermann',
email: 'max@example.com',
additionalFields: { budget: '5000' },
})
} catch (error) {
console.error(error.message)
}
const { valid, errors } = Advision.validate({
firstName: 'Max',
lastName: '',
email: 'max@example.com',
})
| Funktion | Beschreibung |
|---|---|
Advision.submitLead(data) | Prüft und sendet einen Lead. Gibt ein Promise zurück, das bei Fehlern mit einem Error abgelehnt wird. |
Advision.validate(data) | Gibt { valid, errors } zurück. Mögliche Schlüssel in errors: firstName, lastName, email, contact (weder E-Mail noch Telefon angegeben). Die Meldungen sind englisch. |
Advision.getMeta() | Gibt { url } mit der Adresse der aktuellen Seite zurück, so wie sie als _meta.url gesendet wird. |
Eigener API-Host
Standardmäßig sendet das SDK an den Host, von dem app.min.js geladen wurde. Mit endpoint legen Sie den Host selbst fest, z. B. wenn Sie das SDK selbst hosten:
Advision.configure({
apiKey: 'YOUR_API_KEY',
endpoint: 'https://app.advision360.de',
})