播报一次性验证码 通过自动电话呼叫。
为无法接收短信的用户拨打自动电话,朗读一次性验证码,完成验证。覆盖固定电话号码,支持无需屏幕的无障碍访问,并在 SMS 或 WhatsApp 验证延迟时提供可靠的语音备用方案,无需自行构建文本转语音提示或电话呼叫流程。
verify.ts
200 · pendingimport { 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;
您的账户
请确认是您本人。
请输入验证码,验证码已发送至
+1 ••• ••• 4567
verify.ts
200 · pendingimport { 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;
您的账户
请确认是您本人。
请输入验证码,验证码已发送至
+1 ••• ••• 4567
verify.ts
200 · pendingimport { 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;
您的账户
请确认是您本人。
请输入验证码,验证码已发送至
+1 ••• ••• 4567
添加语音电话验证,无需构建电话流程。
自行实现语音验证,意味着要开通外呼电话号码、编写能清晰控制数字播报节奏的文本转语音呼叫流程,还要把通话状态并入与短信相同的 OTP 数据表。借助 Bird Verify API,语音与 SMS 和 WhatsApp 共用同一电话号码和验证会话。为需要播报验证码的国家启用语音后,Bird 会使用为目的地选定的电话号码拨号,以三位一组清晰朗读数字,挂断前重复一遍验证码,并通过同一校验端点验证用户输入。
语音电话如何挽回短信未能完成的注册和登录。
播报验证码、覆盖固定电话、渠道回退,全部内置于你现有的验证流程。
- 01
以清晰的节奏朗读并重复验证码。
拨打自动电话,以三位一组播报验证码并在挂断前重复,让视障用户或无屏幕环境下的用户有充足时间输入验证码。
- 02
验证固定电话号码。
验证家庭电话、办公座机,以及无法接收 SMS 或安装消息应用的可通话号码,让更多用户能够注册或完成双重验证。
- 03
SMS 或 WhatsApp 失败时回退到电话呼叫。
在国家路由规则中将语音排在 SMS 或 WhatsApp 之后,这样运营商拒收、投递超时或用户主动切换渠道时,都会在同一验证会话中发起电话呼叫。
- 04
使用相同的发送和校验端点。
传入用户的 E.164 电话号码以发起验证,并用同一号码校验用户提交的数字。无需单独的语音 SDK、通话 webhook 处理程序,也无需在会话存储中保存验证 ID。
- 05
保留哈希验证码、尝试次数限制和接通才计费。
验证码以哈希形式存储,并受可配置的有效期、尝试次数限制和单个收件人发送上限保护。未接听的电话不收费,已接听的电话按目的地外呼语音费率计费,不额外收取 Verify 费用。
通过同一电话号码请求触发语音验证。
传入用户的电话号码即可发起验证。在国家路由规则中启用语音后,Bird 会自动确定渠道计划,轮到语音时即拨打收件人电话,应用代码中无需任何特定渠道的参数。
await bird.verify.verifications.create({
to: { phone_number: "+15551234567" },
}).safe();
// resolved channels today: [{ channel: "sms" }] — voice joins as it rolls out
从延迟的短信切换到电话呼叫,无需重置会话。
在国家路由计划中将 SMS 或 WhatsApp 设为首选、语音设为第二,由单个验证会话处理备用路径。如果首条消息失败、超时未收到投递回执,或用户点击 “Call me instead,”,Bird 会拨打语音电话并朗读新的验证码。之前的验证码在原有效期结束前仍然有效,因此通话期间才送达的延迟短信依然可以顺利完成验证。
基于 Verify 平台构建
多渠道投递、回退路由和防滥用控制,均基于同一 API 构建。
规模扩展
不失控。
在工作区中组织团队,控制 API 访问权限,通过审计日志追踪变更。
组织
Harbor
访问权限仅限于其所在工作区。
生产环境/API 密钥
注册服务
活跃Alex Lee
管理员
今天 · UTC
审计日志
组织
Harbor
访问权限仅限于其所在工作区。
生产环境/API 密钥
注册服务
活跃Alex Lee
管理员
今天 · UTC
审计日志
组织
Harbor
访问权限仅限于其所在工作区。
生产环境/API 密钥
注册服务
活跃Alex Lee
管理员
今天 · UTC
审计日志