SMS OTP

Envie um código por SMS. Verifique-o pelo destinatário.

Configure em:
Cursor

A verificação por SMS envia um código de uso único para um número de telefone e confirma que a pessoa que o digita de volta é quem detém a linha. Bird gera o código, envia-o, aplica limites por destinatário e verifica-o pelo destinatário — não há nenhum id para armazenar nem nenhum endpoint de reenvio para configurar.

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: { phone_number: "+15551234567" },
}).safe();

const { data, error } = await bird.verify.verifications.check({
  to:   { phone_number: "+15551234567" },
  code: userInput,
}).safe();
if (error) throw error;

SMS OTP é uma chamada para enviar e outra para verificar.

SMS é um canal da família telefónica na Bird Verify API: publique uma verificação com um número de telefone e nós enviamos o código através de um remetente partilhado gerido pela Bird, Bird Verify por predefinição ou Authifly se preferir; verifique-o pelo mesmo número. Reenviar o pedido de criação é o reenvio (create-or-retry), e todos os códigos da sessão permanecem válidos até serem verificados, expirarem ou esgotarem as tentativas.

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

Integrado, em cada envio.

  1. 01

    Endereçado por número de telefone.

    Passe um único número de telefone E.164. Nós normalizamo-lo e enviamos por SMS no remetente resolvido para o respetivo país.

  2. 02

    Códigos gerados no servidor e com hash.

    Um código de 6 dígitos por defeito (configurável de 4 a 10), gerado com uma fonte criptográfica aleatória e armazenado apenas como HMAC. Nunca vê o texto original.

  3. 03

    O reenvio é a mesma chamada.

    Reenvie o pedido de criação após o período de espera de 60 segundos: mesma sessão, novo código, ambos ainda válidos. Sem endpoint de reenvio separado.

  4. 04

    Limites por destinatário incluídos.

    Um limite de envio por destinatário controla o volume de envio e gastos descontrolados, com um 429 com Retry-After.

  5. 05

    Alcance que se expande por país.

    SMS é enviado atualmente através de um remetente partilhado gerido pela Bird, Bird Verify ou Authifly, exibindo um sender ID com marca onde o país o permitir e um short code ou número local onde for necessário, com remetentes dedicados e registados a expandir o alcance à medida que ficam disponíveis.

O fluxo completo, duas chamadas.

Criar-ou-retentar envia o código para o número de telefone; verificar confirma-o por esse número. Não há nenhum id para encadear entre os dois: o destinatário é a chave.

sms-otp.ts
200
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;

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

A API de verificação sem nada para armazenar.

SMS é um canal do Bird Verify: email 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