Bird Verify
Die Verifizierungs-API, bei der Sie nichts speichern müssen.
Send a one-time code over email, SMS, or WhatsApp, then check it by recipient, with no verification id to keep between the two calls. The channel order, sender, and code rules already resolve per country automatically. Same auth and idempotency as every other Bird channel, because the same team built them all. Voice is rolling out next.
import { BirdClient } from "@messagebird/sdk";
const bird = new BirdClient({
apiKey: process.env.BIRD_API_KEY!,
});
// Send the code, then check it by recipient.
await bird.verify.verifications.create({
to: { phone_number: "+15551234567" },
}).safe();
const { data, error } = await bird.verify.verifications.check({
to: { phone_number: "+15551234567" },
code: userInput,
}).safe();
if (error) throw error;
Zwei Aufrufe von npm install bis zum verifizierten Nutzer
Senden Sie einen Code und prüfen Sie ihn – in der Sprache, die Sie bereits verwenden.
Create-or-Retry sendet den Code; Check bestätigt ihn anhand des Empfängers. Zwei Aufrufe, keine Verifizierungs-ID dazwischen.
const verification = await bird.verify.verifications.create({
to: { phone_number: "+15551234567" },
});
console.log(verification.id, verification.status);Zehn Dinge, die Sie nicht bauen müssen
wenn Verifizierung die API ist.
Konkrete Bausteine, benannt und konfigurierbar. Kein Handwedeln.
- 01
Erstellen oder erneut versuchen – in einem Aufruf.
Senden Sie denselben Empfänger erneut, und wir setzen die aktive Sitzung fort und senden nach Ablauf der Wartezeit erneut. Kein separater Resend-Endpunkt, keine doppelten Verifizierungen.
- 02
Prüfung anhand des Empfängers. Nichts speichern.
Übermitteln Sie den Empfänger und den Code; wir lösen die Sitzung anhand des Konfigurations-Empfänger-Paars auf. Es gibt keine Verifizierungs-ID, die zwischen Senden und Prüfen gespeichert werden muss.
- 03
E-Mail, SMS und WhatsApp zum Start.
Der übergebene Empfänger bestimmt den Kanal: Eine E-Mail-Adresse wird per E-Mail verifiziert, eine Telefonnummer per SMS oder WhatsApp. Ein Kanalwechsel ist eine Änderung in einem Feld – keine neue Integration. Voice wird als Nächstes ausgerollt, und automatisches Fallback zwischen Kanälen ist in Arbeit.
- 04
Per-country channel order, already resolved.
Channel order, sender, and which channels are on differ by country. Bird's per-country base decides this, so a create call already resolves to the right plan everywhere.
- 05
Codes, die Sie nie zu sehen bekommen.
Generiert aus einer kryptografischen Zufallsquelle, nur als HMAC gespeichert, in konstanter Zeit verglichen. Der Klartext-Code berührt weder Ihren Stack noch unsere Logs.
- 06
Konfigurierbarer Code, TTL, Versuche.
Six-digit default, 4–10 configurable per request; a 10-minute window; 5 attempts; a 60-second resend cooldown.
- 07
Jeder Code bleibt gültig, bis die Sitzung endet.
Eine verzögerte Nachricht und ein neu gesendeter Code verifizieren beide, weil wir den früheren Code nicht ungültig machen, wenn ein neuer gesendet wird.
- 08
Ein falscher Code ist ein 200, keine Exception.
Antworten werden mit einem booleschen Ergebnis geprüft – wurde dieser Code verifiziert, ja oder nein – sowie einem Grund, der im Fehlerfall Details liefert: ungültig, abgelaufen, bereits verifiziert oder keine Versuche mehr übrig. Sie verzweigen anhand eines Feldes, nie anhand eines geworfenen Fehlers.
- 09
Rate Limits sind integriert.
Sendelimits pro Empfänger und ein Ratelimit pro Verifizierung – jeweils ein 429 mit Retry-After – sodass Brute-Force-Angriffe scheitern, bevor Sie es tun.
- 10
Derselbe Vertrag wie beim Rest von Bird.
Bearer-Auth, ein Idempotency-Key, typisierte vrf_-IDs, ein einheitliches Fehlerformat. Der Handler, den Sie für E-Mail geschrieben haben, passt bereits für die Verifizierung.
Die Verify-Plattform entdecken
Jede Funktion im Detail. Eine API, ein Schlüsselsatz.
SMS OTP.
Einmalpasswörter per SMS, mit globaler Reichweite und integrierten Rate Limits.
E-Mail OTP.
Verifizierung per E-Mail über das Netzwerk, das bereits Ihre transaktionalen Mails transportiert.
WhatsApp OTP.
Senden Sie Codes über WhatsApp als wählbaren Kanal im selben Tarif.
Voice OTP.
Im Rollout: ein gesprochener Code für Festnetzanschlüsse, Barrierefreiheit und schwer erreichbare Nutzer.
Kanal-Orchestrierung.
Per-country channel order, senders, and enable/disable, resolved automatically for every send.
Missbrauchsschutz & Code-Sicherheit.
Gehashte Codes, Limits pro Empfänger, Sperrung nach fehlgeschlagenen Versuchen und die Betrugs-Roadmap.
Speichern Sie nichts zwischen Senden und Prüfen.
Die meisten Verification-APIs geben Ihnen eine ID, die Sie speichern, nachschlagen und gegen die Sie den Code prüfen. Bird löst die Sitzung über den Empfänger auf – es gibt also keinen Verifizierungsstatus auf Ihrer Seite.
Die meisten Verification-APIs
Create gibt eine ID zurück, die Sie speichern, dann schlagen Sie die Verifizierung nach, um den Code dagegen zu prüfen.
const { id } = await api.verifications.create({
to: "+15551234567",
});
// persist id somewhere, then later…
await api.verifications.check({ id, code });
Bird Verify
Prüfen Sie per Empfänger. Es gibt nichts, was zwischen den beiden Aufrufen verknüpft werden muss.
await bird.verify.verifications.create({
to: { phone_number: "+15551234567" },
}).safe();
// no id to store; check by the same recipient
await bird.verify.verifications.check({
to: { phone_number: "+15551234567" }, code,
}).safe();
Routing already knows the country.
Channel order, senders, and which channels are on differ by country: WhatsApp-first in one market, SMS-only in another. Bird's per-country base decides this, so a create call already resolves to the right plan. See channel orchestration.
// Brazil already resolves WhatsApp, then SMS.
const { data, error } = await bird.verify.verifications.create({
to: { phone_number: "+5511998765432" },
}).safe();
if (error) throw error;
Verifizierung ist auch eine Produktentscheidung: Dieselbe API unterstützt Zwei-Faktor-Authentifizierung und passwortlosen Login. Sie möchten erst eine Nummer validieren? Kombinieren Sie es mit Lookup. Stille Netzwerkauthentifizierung und TOTP-Authenticator-Apps sind auf der Roadmap.
Warum wir Verify entwickeln
Weil der Code, der einen Nutzer einlässt, keine eigene Datenbanktabelle brauchen sollte.
OTP ist der Kanal, bei dem ein nicht zugestellter Code eine nicht abgeschlossene Registrierung bedeutet. Bird betreibt bereits E-Mail und SMS im großen Maßstab – Verify ist diese Zustellung plus Code-Generierung, Sitzung, länderspezifischer Kanalplan und Rate Limits, hinter zwei Endpunkten, die nichts auf Ihrer Seite speichern und im selben Format wie jeder andere Bird-Kanal antworten.
import { BirdClient } from "@messagebird/sdk";
const bird = new BirdClient({
apiKey: process.env.BIRD_API_KEY!,
});
// Send the code, then check it by recipient.
await bird.verify.verifications.create({
to: { phone_number: "+15551234567" },
}).safe();
const { data, error } = await bird.verify.verifications.check({
to: { phone_number: "+15551234567" },
code: userInput,
}).safe();
if (error) throw error;
Wenn Sie SMS integriert haben, haben Sie Verify integriert.
Gleiches Auth-Modell, gleicher Idempotenz-Vertrag, gleiche Fehlerstruktur. Der Unterschied: Verify generiert den Code, wählt den Kanal und steuert die Rate Limits – damit Sie es nicht tun müssen.
Verify
Ein Aufruf sendet den Code, ein weiterer prüft ihn anhand des Empfängers. Wir verwalten den Code, die Sitzung und die Limits.
await bird.verify.verifications.create({
to: { phone_number: "+15551234567" },
});SMS
Der direkte Versand – für alle, die Code-Generierung und Retry-Logik selbst in der Hand behalten möchten.
await bird.sms.send({
from: "Bird",
to: "+15551234567",
text: `Your code is ${code}.`,
category: "authentication",
});Wählen Sie den Absender, den Ihre Nutzer sehen
Codes werden standardmäßig unter Bird Verify versendet – ohne Registrierung oder Template-Einrichtung. Wechseln Sie einen Kanal zu Authifly, und Ihre Nutzer sehen statt eines Plattformanbieters eine neutrale Verifizierungsidentität: Die OTP-E-Mail kommt von otp@verify.authifly.com, und SMS zeigt den Authifly-Absender, wo immer das Zielland einen gebrandeten Absender erlaubt. Bird betreibt beide Identitäten – der Wechsel verursacht keine zusätzlichen Kosten, und Sie entscheiden pro Kanal und pro Land. Bei E-Mail können Sie noch weiter gehen und von einer Domain senden, die Sie selbst verifiziert haben. Wenn ein Empfänger einen unerwarteten Code erhält, bestätigt authifly.com, dass Authifly legitime Einmalcodes im Auftrag eines Unternehmens versendet. Authifly wird von Bird B.V. betrieben.
authifly.com besuchenVerifizierung auf derselben Plattform wie Ihr gesamtes Messaging.
Starten Sie noch heute mit der Entwicklung oder sprechen Sie mit uns über die Kanäle, das Volumen und die Preise, die Sie benötigen.