Email OTP

Verifica por email, en una red de email real.

Configura en:
Cursor

La verificación por email envía un código de un solo uso a una dirección de correo electrónico: no se necesita número de teléfono, y el canal llega a cualquier persona con una bandeja de entrada. Bird lo envía con la misma infraestructura que gestiona el correo transaccional a gran escala, desde un remitente compartido o tu propio dominio verificado, y lo comprueba por destinatario.

verify.ts
200 · pending
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: { email: "ada@example.com" },
}).safe();

const { data, error } = await bird.verify.verifications.check({
  to:   { email: "ada@example.com" },
  code: userInput,
}).safe();
if (error) throw error;

El canal de verificación que no necesita número de teléfono.

El correo electrónico es un canal de primera clase en la API Bird Verify: envía una verificación con una dirección de correo electrónico y nosotros enviamos el código desde un remitente compartido gestionado por Bird, otp@verify.bird.com por defecto o otp@verify.authifly.com de Authifly, o desde tu propio dominio verificado. Es independiente del país, así que funciona igual en todas partes, y utiliza la misma red que Bird opera para correo electrónico transaccional a gran escala.

Lo que obtienes en una verificación por email.

Integrado en cada envío.

  1. 01

    Dirigido por email.

    Pasa una única dirección de correo electrónico. Sin número de teléfono, sin país: el email es el único canal que llega a cualquier persona con una bandeja de entrada.

  2. 02

    Dominio compartido o propio.

    Envía desde un remitente compartido gestionado por Bird listo para usar (otp@verify.bird.com, u otp@verify.authifly.com de Authifly), o cámbialo por un dominio que ya hayas verificado para el envío.

  3. 03

    Un email OTP listo para usar.

    El código llega en una plantilla predeterminada limpia y optimizada para móvil: el código en primer plano, una nota de expiración y un recordatorio de no compartirlo nunca. Nada que diseñar antes de lanzar.

  4. 04

    En la red de email de Bird.

    Tus códigos viajan por la misma infraestructura de entrega que el email transaccional de tu producto: firmado, enrutado y monitorizado.

  5. 05

    Códigos generados en el servidor y hasheados.

    Un código de 6 dígitos por defecto (configurable de 4 a 10), generado con una fuente aleatoria criptográfica y almacenado únicamente como HMAC.

  6. 06

    Verificación por destinatario.

    Confirma el código mediante la dirección de correo a la que se envió: no necesitas guardar ningún id de verificación, y reenviar la solicitud de creación reenvía el código dentro de la sesión.

Envía a una dirección, verifica por la misma dirección.

Una verificación por email requiere las mismas dos llamadas que cualquier otro canal: solo cambia la forma del destinatario, de un número de teléfono a una dirección de correo electrónico.

email-otp.ts
200
await bird.verify.verifications.create({
  to: { email: "ada@example.com" },
}).safe();

const { data, error } = await bird.verify.verifications.check({
  to:   { email: "ada@example.com" },
  code: userInput,
}).safe();
if (error) throw error;

// data.success is true or false; data.reason elaborates ("incorrect_code", "expired", "attempts_exhausted")

Tus códigos de verificación en la red que gestiona tu correo electrónico.

El email es un canal más de Bird Verify: SMS y WhatsApp ya están incluidos, y la voz está en proceso de lanzamiento, todo en los mismos dos endpoints.

Empieza con un canal.
Añade los demás cuando estés listo.

Una clave API de prueba es tuya de inmediato. El acceso a producción se desbloquea cuando añades un método de pago y verificas un remitente.

¿Usas Claude Code, Cursor o Codex? Copia un prompt de configuración y tu agente instalará el Bird CLI y las habilidades por ti. Elige el tuyo:

Cursor