Bird Verify
De verificatie-API zonder iets op te slaan.
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;
Twee aanroepen van npm install tot een geverifieerde gebruiker
Verstuur een code en controleer deze, in de taal die u al gebruikt.
Create-or-retry verstuurt de code; check bevestigt deze op basis van ontvanger. Twee calls, zonder verificatie-id om ertussen door te geven.
const verification = await bird.verify.verifications.create({
to: { phone_number: "+15551234567" },
});
console.log(verification.id, verification.status);Tien dingen die u niet hoeft te bouwen
wanneer verificatie de API is.
Concrete primitieven, benoemd en configureerbaar. Geen vaag handgezwaai.
- 01
Aanmaken of opnieuw proberen in één call.
Post dezelfde ontvanger opnieuw en we hervatten de actieve sessie en versturen opnieuw zodra de cooldown verstreken is. Geen apart resend-endpoint, geen dubbele verificaties.
- 02
Controleer op basis van ontvanger. Sla niets op.
Dien de ontvanger en de code in; wij bepalen de sessie op basis van het configuratie-en-ontvangerpaar. Er is geen verificatie-id om te bewaren tussen verzenden en controleren.
- 03
E-mail, SMS en WhatsApp bij lancering.
De ontvanger die u meegeeft bepaalt het kanaal: een e-mailadres verifieert via e-mail, een telefoonnummer via SMS of WhatsApp. Van kanaal wisselen is een wijziging van één veld, geen nieuwe integratie. Voice wordt als volgende uitgerold, en automatische fallback tussen kanalen is onderweg.
- 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 u nooit ziet.
Gegenereerd met een cryptografische willekeurige bron, alleen opgeslagen als HMAC, vergeleken in constante tijd. De code in platte tekst raakt nooit uw stack of onze logs.
- 06
Configureerbare code, TTL, pogingen.
Six-digit default, 4–10 configurable per request; a 10-minute window; 5 attempts; a 60-second resend cooldown.
- 07
Elke code blijft geldig tot de sessie eindigt.
Een vertraagd bericht en een opnieuw verzonden code verifiëren allebei, omdat we de eerdere code niet ongeldig maken wanneer er een nieuwe wordt verzonden.
- 08
Een verkeerde code is een 200, geen uitzondering.
Controleer antwoorden met een booleaans resultaat — is deze code geverifieerd, ja of nee — en een reden die verduidelijkt wanneer dat niet het geval was: ongeldig, verlopen, al geverifieerd of geen pogingen meer. U vertakt op een veld, nooit op een gegooide fout.
- 09
Rate limits ingebouwd.
Verzendlimieten per ontvanger en een raadlimiet per verificatie — elk een 429 met Retry-After — zodat brute force eerder opraakt dan u.
- 10
Hetzelfde contract als de rest van Bird.
Bearer-auth, een idempotency key, getypte vrf_-id's, één fout-envelope. De handler die u voor e-mail schreef, past al op verificatie.
Ontdek het Verify-platform
Elke mogelijkheid in detail. Eén API, één set keys.
SMS OTP.
Eenmalige toegangscodes via SMS, met wereldwijd bereik en ingebouwde rate limits.
E-mail OTP.
Verifieer via e-mail op het netwerk dat al uw transactionele mail verwerkt.
WhatsApp OTP.
Verstuur codes via WhatsApp als een instelbaar kanaal binnen hetzelfde abonnement.
Voice OTP.
Binnenkort beschikbaar: een ingesproken code voor vaste lijnen, toegankelijkheid en moeilijk bereikbare gebruikers.
Kanaalorchestratie.
Per-country channel order, senders, and enable/disable, resolved automatically for every send.
Anti-misbruik & codebeveiliging.
Gehashte codes, limieten per ontvanger, vergrendeling bij te veel pogingen en de fraude-roadmap.
Sla niets op tussen verzenden en controleren.
De meeste verificatie-API's geven u een id om op te slaan, op te zoeken en de code tegen te verifiëren. Bird herkent de sessie op basis van de ontvanger, dus er is geen verificatiestatus aan uw kant.
De meeste verificatie-API's
Create retourneert een id dat u opslaat, waarna u de verificatie opzoekt om de code te controleren.
const { id } = await api.verifications.create({
to: "+15551234567",
});
// persist id somewhere, then later…
await api.verifications.check({ id, code });
Bird Verify
Controleer op basis van ontvanger. Er is niets om tussen de twee calls door te geven.
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;
Verificatie is ook een productbeslissing: dezelfde API ondersteunt tweefactorauthenticatie en wachtwoordloze login. Eerst een nummer valideren? Combineer het met Lookup. Stille netwerkauthenticatie en TOTP-authenticator-apps staan op de roadmap.
Waarom we Verify bouwen
Omdat de code die een gebruiker binnenlaat geen eigen databasetabel nodig zou moeten hebben.
OTP is het kanaal waar een code die niet aankomt een registratie is die niet plaatsvindt. Bird draait al e-mail en SMS op schaal, dus Verify is die bezorging plus de codegeneratie, de sessie, het kanaalplan per land en de rate limits — achter twee endpoints die niets aan uw kant opslaan en antwoorden in dezelfde structuur als elk ander Bird-kanaal.
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;
Als u SMS hebt geïntegreerd, hebt u Verify geïntegreerd.
Hetzelfde auth-model, hetzelfde idempotency-contract, dezelfde error-envelope. Het verschil is dat Verify de code genereert, het kanaal kiest en de rate limits afhandelt — zodat u dat niet hoeft te doen.
Verify
Eén aanroep verstuurt de code; één aanroep controleert deze per ontvanger. Wij beheren de code, de sessie en de limieten.
await bird.verify.verifications.create({
to: { phone_number: "+15551234567" },
});SMS
De directe verzending, voor wanneer u de codegeneratie en het herhaalpbeleid zelf wilt beheren.
await bird.sms.send({
from: "Bird",
to: "+15551234567",
text: `Your code is ${code}.`,
category: "authentication",
});Kies de afzender die uw gebruikers zien
Codes worden standaard verzonden onder Bird Verify, zonder dat registratie of template-configuratie in de weg staat. Schakel een kanaal over naar Authifly en uw gebruikers zien een neutrale verificatie-identiteit in plaats van een platformleverancier: de OTP-e-mail komt van otp@verify.authifly.com en SMS toont de Authifly-afzender waar het bestemmingsland een branded afzender toestaat. Bird beheert beide identiteiten, dus de keuze kost u niets extra, en u maakt die keuze per kanaal en per land. Bij e-mail kunt u nog een stap verder gaan en verzenden vanaf een domein dat u zelf hebt geverifieerd. Als een ontvanger een onverwachte code krijgt, stelt authifly.com hen gerust dat Authifly legitieme eenmalige codes verstuurt namens een bedrijf. Authifly wordt beheerd door Bird B.V.
Bezoek authifly.comVerificatie op hetzelfde platform als de rest van uw berichtenverkeer.
Begin vandaag nog met bouwen, of praat met ons over de kanalen, volumes en prijzen die u nodig heeft.