Sign inGet Started

Verifizieren Sie Ihren ersten Kunden

Bird Verify bestätigt, dass jemand eine E-Mail-Adresse oder Telefonnummer kontrolliert. Sie bitten Bird, einen Bestätigungscode zu senden. Die Person gibt ihn in Ihrer App ein, und Sie fragen Bird, ob er übereinstimmt. Bird generiert und liefert den Code und erzwingt Ablaufzeit und Versuchslimits. Ihre App empfängt oder speichert den generierten Code nie.
Dieser Schnellstart verifiziert Ihre eigene E-Mail-Adresse, was kein Setup erfordert. Bird sendet E-Mail-Codes über seinen gemeinsamen Bird Verify-Absender, Sie brauchen also keine Domain und kein Guthaben. Nach der Aufladung von SMS verwendet die Verifizierung einer Telefonnummer dieselben zwei Aufrufe.

1. Erstellen Sie einen API-Key

Gehen Sie im Dashboard zu Developers > API keys und erstellen Sie einen Key. Keys sind einer Region zugeordnet und sehen aus wie bk_us1_... oder bk_eu1_...; die Region im Präfix zeigt Ihnen, welchen API-Host Sie aufrufen müssen: https://us1.platform.bird.com oder https://eu1.platform.bird.com.
Die API-Keys-Seite im Bird-Dashboard mit Keys, ihrem maskierten Präfix, Berechtigungen und letzter Nutzung
Der vollständige Key wird einmalig bei der Erstellung angezeigt. Kopieren Sie ihn an einen sicheren Ort und exportieren Sie ihn für die Sendebeispiele:
Codebeispiel
export BIRD_API_KEY="bk_us1_..."

2. Senden Sie einen Code

Erstellen Sie eine Verifizierung für die Adresse, die Sie bestätigen möchten. Das einzige Pflichtfeld ist to. Verwenden Sie Ihre eigene E-Mail-Adresse, damit Sie den Code lesen können. Installieren Sie das Bird SDK für Ihre Sprache gemäß dem SDK-Schnellstart.
Ersetzen Sie in den SDK-Tabs den Beispiel-API-Key und user@example.com, bevor Sie den Code ausführen. Der CLI verwendet Ihren Login, und der cURL-Tab verwendet BIRD_API_KEY.
import { BirdClient } from "@messagebird/sdk";

const bird = new BirdClient({ apiKey: "bk_XXXXXXXXXXXXXXXXXXXXXXXX" });

const verification = await bird.verify.verifications.create({
  to: { email: "user@example.com" },
});

console.log(verification.id, verification.status);
Wenn Ihr Key mit bk_eu1_ beginnt, rufen Sie stattdessen https://eu1.platform.bird.com auf.
Bird nimmt die Anfrage an und beginnt, den Code zu senden:
Codebeispiel
{
  "id": "vrf_01ky7q1fdze3695yvyz7z9nm3a",
  "status": "pending",
  "reason": null,
  "to": { "email": "user@example.com" },
  "channels": [{ "channel": "email" }],
  "last_channel": "email",
  "expires_at": "2026-07-23T14:55:58Z",
  "verified_at": null,
  "created_at": "2026-07-23T14:45:58Z",
  "updated_at": "2026-07-23T14:45:58Z"
}
Sie müssen keine Verifizierungs-ID speichern: Die Prüfung in Schritt 3 ist an denselben Empfänger gebunden. Die E-Mail kommt von Bird Verify <otp@verify.bird.com> mit dem Betreff "Your verification code" und einem sechsstelligen Code; die Nachricht selbst zeigt an, wann er abläuft. Codelänge, Gültigkeitsdauer, Versuchslimit und Sendewiederholungs-Wartezeit sind Workspace-Einstellungen, und Verifizierungseinstellungen listet die Standardwerte und Bereiche auf.

3. Prüfen Sie den Code

Nehmen Sie den Code aus Ihrem Posteingang und senden Sie ihn, gebunden an denselben Empfänger:
import { BirdClient } from "@messagebird/sdk";

const bird = new BirdClient({ apiKey: "bk_XXXXXXXXXXXXXXXXXXXXXXXX" });

const result = await bird.verify.verifications.check({
  to: { email: "user@example.com" },
  code: "123456",
});

console.log(result.success);
Ein korrekter Code kommt mit success: true zurück, und die eingebettete Verifizierung wechselt auf verified:
Codebeispiel
{
  "success": true,
  "reason": null,
  "attempts_remaining": null,
  "verification": {
    "id": "vrf_01ky7q1fdze3695yvyz7z9nm3a",
    "status": "verified",
    "reason": null,
    "to": { "email": "user@example.com" },
    "channels": [{ "channel": "email" }],
    "last_channel": "email",
    "expires_at": "2026-07-23T14:55:58Z",
    "verified_at": "2026-07-23T14:46:47Z",
    "created_at": "2026-07-23T14:45:58Z",
    "updated_at": "2026-07-23T14:46:47Z"
  }
}
Bevor Sie diesen Ablauf in eine Registrierung einbauen, berücksichtigen Sie diese Ergebnisse:
  • Eine fehlgeschlagene Prüfung gibt HTTP 200 zurück. Die Antwort enthält success: false, einen reason (incorrect_code, expired oder attempts_exhausted) und einen attempts_remaining-Zähler, solange Versuche übrig sind. Verzweigen Sie in Ihrer Anwendung anhand dieses Ergebnisses. Die Verifizierung schlägt endgültig fehl, wenn sie ihre Prüfversuche aufgebraucht hat.
  • Eine Verifizierung wird einmal aufgelöst. Nachdem sie verified erreicht hat (oder fehlschlägt oder abläuft), gibt eine erneute Prüfung einen 404 zurück. Behandeln Sie die erste endgültige Antwort als die Antwort. Wenn der Nutzer einen neuen Code benötigt, rufen Sie den Create-Endpoint erneut mit demselben Empfänger auf: Die laufende Verifizierung wird wiederverwendet, und ein neuer Code wird gesendet, sobald die Sendewiederholungs-Wartezeit abgelaufen ist.
Jede von Ihnen erstellte Verifizierung erscheint auf der Verifications-Seite mit Status, Empfänger, Kanal und Zeitangaben. Der generierte Code wird nicht angezeigt.
Die Verifications-Seite mit Verifizierungen einschließlich Status, Verifizierungs-ID, Empfänger, Kanal, Kosten und Erstellungszeit

Verifizieren Sie stattdessen eine Telefonnummer

Um über SMS zu verifizieren, geben Sie eine Telefonnummer im E.164-Format in to anstelle einer E-Mail-Adresse ein:
const verification = await bird.verify.verifications.create({
  to: { phone_number: "+15551234567" },
});
console.log(verification.id, verification.status);
Die Prüfung ist identisch: Ersetzen Sie email durch dieselbe phone_number. Die Telefonzustellung wird aus dem SMS-Guthaben Ihres Workspace abgebucht, und das Zielland bestimmt die Route. Bird versucht in den meisten Ländern zuerst WhatsApp und in manchen zuerst SMS. Länderkonfiguration zeigt die verfügbaren Kanäle und deren Reihenfolge pro Zielland und ermöglicht deren Konfiguration. Absender und Branding zeigt, was auf jedem Kanal ankommt.

Erreichen Sie den Nutzer auf beiden Kanälen

Sie müssen sich nicht für einen Kanal entscheiden. Geben Sie sowohl eine email als auch eine phone_number in to an, und Bird erstellt einen Zustellplan aus Ihrer Länderkonfiguration, die die verfügbaren Kanäle und deren Reihenfolge pro Zielland zeigt. Bird folgt diesem Plan, bis ein Versand akzeptiert wird. Wenn die Zustellung danach endgültig fehlschlägt, sendet Bird einen neuen Code über den nächsten Kanal. Prüfen Sie den Code mit demselben to-Objekt, das zum Erstellen der Verifizierung verwendet wurde. Der Nutzer gibt den Code ein, der ihn erreicht hat.

Nächste Schritte