Webhooks & Integrationen
Webhooks für die Identitätsverifizierung, eine gehostete Seite und ein Widget.
Schicken Sie einen Antragsteller auf eine gehostete Verifizierungsseite oder binden Sie das Widget in Ihren eigenen Ablauf ein, erhalten Sie einen signierten Webhook, sobald ein Ergebnis vorliegt, und lassen Sie jeden mit dem Link das Ergebnis auf einer öffentlichen Seite zur Nachweisprüfung bestätigen. Eine KYC-API-Integration, die an einem Nachmittag live gehen kann.
- Mit HMAC-SHA256 signierte Callbacks
- QR-Übergabe vom Desktop an das Smartphone
- Sandbox-Sitzungen werden nie berechnet
Gehostete Verifizierungsseite
Ein Link für den gesamten Ablauf.
Erstellen Sie über die API eine Sitzung und Sie erhalten eine Verifizierungs-URL. Senden Sie sie per E-Mail, SMS oder in Ihrer eigenen App – den Rest übernimmt die Seite.
Desktop
Die antragstellende Person öffnet den Link an ihrem Schreibtisch.
QR-Übergabe
Die Seite zeigt einen QR-Code und eine kurze Anleitungskarte.
Aufnahme per Smartphone
Durch das Scannen wechselt dieselbe Sitzung zur Dokument- und Selfie-Aufnahme.
Verifiziert
Die Sitzung erreicht VERIFIED, weiterhin auf dem Smartphone.
Zurück zu Ihnen
Eine Weiterleitung zu Ihrer Rückkehr-URL sowie ein signierter Webhook, in beiden Fällen.
Funktioniert wie eine Zahlungsweiterleitung
Der Antragsteller gelangt auf eine Seite unter der eigenen URL Ihrer Sitzung. Kein Konto, keine App-Installation.
QR-Übergabe vom Desktop zum Smartphone
Wird die Seite auf einem Desktop geöffnet, zeigt sie einen QR-Code und eine kurze Anleitung an, statt den Kamerazugriff anzufordern. Beim Scannen öffnet sich derselbe Link auf dem Smartphone, das direkt zur Aufnahme von Dokument und Selfie wechselt.
Zurück zu Ihnen, mit dem Ergebnis
Sobald die Sitzung VERIFIED erreicht, leitet die Seite zu Ihrer Rückgabe-URL weiter und hängt Sitzungs-ID und Status an, sodass Ihre App erfährt, was passiert ist, ohne auf etwas anderes warten zu müssen.
Mit Ihrem Branding, bei qualifizierenden Tarifen
Ihr Firmenname, Logo, Akzentfarbe sowie Links zu Nutzungsbedingungen und Datenschutz, angewendet auf die gehostete Seite und die Seite zur Prüfung der Zugangsdaten.
Webhooks
Ein signierter Callback, sobald ein Ergebnis vorliegt.
Geben Sie uns beim Erstellen einer Sitzung eine Webhook-URL an, und wir senden das Ergebnis dorthin, sobald die Sitzung abgeschlossen ist – ganz ohne Polling.
Signiert, nicht nur gesendet
Jede Zustellung enthält einen X-Bio-Signature-Header: einen HMAC-SHA256 des Request-Bodys, damit Sie nachweisen können, dass sie von uns stammt, bevor Sie ihr vertrauen.
Mit Wiederholungen, nicht nur abgeschickt und vergessen
Eine fehlgeschlagene Zustellung wird dreimal wiederholt, mit jeweils längerer Wartezeit vor jedem Versuch.
Jeder Versuch wird protokolliert
Ob Erfolg oder Fehlschlag: Wir speichern den Versuch auf unserer Seite.
Demnächst verfügbar Ein Zustellprotokoll im Portal, in dem Sie jeden Versuch selbst einsehen können, folgt in Kürze.
Betrachten Sie das neueste VERIFIED als maßgeblich
Wegen der Wiederholungen kann eine Zustellung in seltenen Fällen in falscher Reihenfolge eintreffen. Richten Sie Ihre Logik daher nicht danach aus, ob ein Webhook eingegangen ist, sondern nach der Sitzungs-ID, und lassen Sie ein späteres VERIFIED ein früheres überschreiben. Wenn Sie einen eigenen Status führen, entfernen Sie Duplikate anhand der Sitzungs-ID statt anhand des Webhook-Eingangs.
Signatur prüfen
Vertrauen Sie der Payload, bevor Sie darauf reagieren.
Berechnen Sie den HMAC-SHA256 über den unveränderten Request-Body neu und vergleichen Sie ihn mit X-Bio-Signature, bevor Sie irgendetwas parsen.
const crypto = require("crypto");
function verifySignature(rawBody, signatureHeader, secret) {
const expected = crypto.createHmac("sha256", secret).update(rawBody).digest("hex");
const a = Buffer.from(expected, "hex");
const b = Buffer.from(signatureHeader || "", "hex");
return a.length === b.length && crypto.timingSafeEqual(a, b);
}
// Read the raw body — don't let a JSON body-parser touch it first.
app.post("/hooks/shieldid", express.raw({ type: "application/json" }), (req, res) => {
const signature = req.header("X-Bio-Signature") || "";
if (!verifySignature(req.body, signature, process.env.SHIELDID_WEBHOOK_SECRET)) {
return res.status(401).send("invalid signature");
}
const event = JSON.parse(req.body);
// Treat the latest VERIFIED status as authoritative; de-duplicate by session_id.
res.status(200).send("ok");
});JS-Widget
Der gehostete Ablauf, eingebettet in Ihre eigene Seite.
Das Widget erstellt eine Sitzung und stellt denselben gehosteten Ablauf inline in einem iframe dar, sodass Antragsteller Ihre Website nie verlassen.
- Wird in einem iframe mit Kamera- und Mikrofonzugriff dargestellt und passt sich der Größe seines Containers an.
- Liest den Sitzungsstatus auf dieselbe Weise wie die gehostete Seite: über Ihre Return-URL und Ihren Webhook, sobald die Sitzung abgeschlossen ist.
Demnächst verfügbar Rückrufe zum Abschluss innerhalb der Seite (onComplete, onCancel, onStep, automatische Größenanpassung) sind in Kürze verfügbar. Bis dahin nutzen Sie return_url und Webhooks, um zu erfahren, wann eine Sitzung abgeschlossen ist – sie funktionieren bereits heute.
Bevor Sie dies in Produktion bringen
Das Widget akzeptiert derzeit einen API-Schlüssel direkt im Browser. Betrachten Sie das als Komfort für die sandbox, nicht als Muster für die Produktion: Erstellen Sie die Sitzung von Ihrem eigenen Backend aus, wobei Ihr Schlüssel serverseitig bleibt, und übergeben Sie dem Widget nur die resultierende Sitzung, niemals einen Live-Schlüssel, den der Browser eines Besuchers lesen kann.
<script src="https://cdn.shieldid.ca/sdk/v1/widget.js"></script>
<div id="shieldid-verify"></div>
<script>
TLVerify.init({
apiKey: "vk_sand_your_key", // sandbox only — see the note above for production
containerId: "shieldid-verify",
returnUrl: "https://yourapp.example/verified",
webhookUrl: "https://yourapp.example/hooks/shieldid",
locale: "en",
});
</script>Seite zur Prüfung von Nachweisen
Eine öffentliche Seite für eine verifizierte Sitzung.
Sobald eine Sitzung VERIFIED erreicht, zeigt ihr eigener Link zur Nachweisprüfung eine verständliche Bestätigung: den Namen des Antragstellers, die Dokumentart und den Status. Jeder, der den Link hat – ein Mitunterzeichner, ein Mitarbeiter am Empfang, eine Gegenpartei – kann das Ergebnis bestätigen, ohne sich in Ihrem Dashboard anzumelden.
Jordan Reyes
BeispieldatenFührerschein aus Kalifornien
Verifiziert
- Zum Ansehen ist keine Anmeldung erforderlich.
- Weder ein ID-Rohbild noch ein Konfidenzwert erscheint jemals darauf – nur ein Status und die Identität, nicht mehr.
- Im gleichen Branding wie die gehostete Seite, in entsprechenden Tarifen.
Integrationsmuster
Wie sechs Arten von Unternehmen dies anbinden.
Die Bausteine sind überall gleich: eine Sitzung, ein Link oder ein Widget, ein Webhook. Welches Muster passt, hängt davon ab, wie und wann Sie die Antwort benötigen.
Recht & Anwaltskanzleien
Eigentümergemeinschaften & HOA-Verbände
Fintech & Kreditvergabe
Marktplätze & Gig-Plattformen
E-signature
Fragen
Klare Antworten zur Integration.
Erste Schritte
Webhook einrichten. Beim Auslösen zusehen.
Erstellen Sie eine Sandbox-Sitzung mit einer Webhook-URL, führen Sie eine Verifizierung auf Ihrem eigenen Smartphone durch und lesen Sie den signierten Callback, den wir senden.