Email OTP

Verifique por email, numa rede de email real.

Configure em:
Cursor

A verificação por e-mail envia um código de uso único para um endereço de e-mail: não é necessário número de telefone, e o canal alcança qualquer pessoa com uma caixa de entrada. Bird envia-o na mesma infraestrutura que transporta e-mail transacional em escala, a partir de um remetente partilhado ou do seu próprio domínio verificado, e valida-o por destinatário.

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;

O canal de verificação que não precisa de número de telefone.

O email é um canal de primeira classe na Bird Verify API: publique uma verificação com um endereço de email e nós enviamos o código a partir de um remetente partilhado gerido pela Bird, otp@verify.bird.com por predefinição ou otp@verify.authifly.com da Authifly, ou a partir do seu próprio domínio verificado. É independente do país, por isso funciona da mesma forma em todo o lado, e utiliza a mesma rede que a Bird opera para email transacional em escala.

O que obtém numa verificação por email.

Integrado, em cada envio.

  1. 01

    Endereçado por email.

    Passe um único endereço de e-mail. Sem número de telefone, sem país: o e-mail é o único canal que alcança qualquer pessoa com uma caixa de entrada.

  2. 02

    Domínio partilhado ou próprio.

    Envie a partir de um remetente partilhado gerido pela Bird de forma imediata (otp@verify.bird.com, ou otp@verify.authifly.com da Authifly), ou substitua por um domínio que já tenha verificado para envio.

  3. 03

    Um e-mail OTP pronto a usar.

    O código chega num template padrão limpo e otimizado para dispositivos móveis: o código em destaque, uma nota de expiração e um lembrete para nunca o partilhar. Nada para desenhar antes de lançar.

  4. 04

    Na rede de email Bird.

    Os seus códigos utilizam a mesma infraestrutura de entrega do email transacional do seu produto: assinados, encaminhados e monitorizados.

  5. 05

    Códigos gerados no servidor, com hash.

    Um código de 6 dígitos por predefinição (configurável de 4 a 10), gerado com uma fonte aleatória criptográfica e armazenado apenas como HMAC.

  6. 06

    Verificação por destinatário.

    Confirme o código pelo endereço de e-mail para o qual foi enviado: sem necessidade de guardar um ID de verificação, e reenviar o pedido de criação reenvia o código dentro da sessão.

Envie para um endereço, verifique pelo mesmo endereço.

Uma verificação por e-mail segue as mesmas duas chamadas de qualquer outro canal: apenas o formato do destinatário muda de um número de telefone para um endereço de e-mail.

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")

Os seus códigos de verificação na rede que gere o seu e-mail.

O e-mail é um dos canais do Bird Verify: SMS e WhatsApp já estão incluídos, e voz está a ser lançado — tudo nos mesmos dois endpoints.

Comece com um canal.
Adicione os outros quando estiver pronto.

Uma chave API de teste é sua imediatamente. A produção é desbloqueada quando você adiciona um método de pagamento e verifica um remetente.

Usa Claude Code, Cursor ou Codex? Copie um prompt de configuração e o seu agente instala o Bird CLI e as skills por si. Escolha o seu:

Cursor