Bird vs Prelude
Bird vs Prelude para Verify
Bird Verify expõe entrega baseada no destinatário e verificação de código: crie um código, avance no plano de canais disponíveis e verifique a resposta usando o mesmo destinatário. Compare esse fluxo com a janela de verificação e os resultados de risco do Prelude antes de migrar um cadastro ou login.
Usado todos os dias por equipes que
criam software de classe mundial.
Qual fluxo de verificação se encaixa na sua aplicação?
Quando o Prelude se encaixa
A resposta de criação do Prelude distingue success, retry, challenged, blocked e shadow_blocked. Seus sinais alimentam decisões de fraude; challenged e shadow_blocked exigem habilitação de conta. Mantenha ou substitua a decisão de risco da qual sua aplicação depende antes de migrar a entrega de código.
Prelude documenta RCS, Viber, Zalo e autenticação silenciosa de rede junto com SMS, WhatsApp e Telegram; seu método de solicitação também aceita voz. O plano selecionável do Bird inclui SMS, WhatsApp, email e Telegram. Voz ainda está sendo implantada e não é uma opção de migração de clientes hoje. Mantenha ou redesenhe um método de RCS, Viber, Zalo ou autenticação silenciosa do qual você depende.
As opções de solicitação do Prelude incluem templates, locale e um sender ID habilitado. Códigos personalizados, uma lista explícita de canais, force_challenge e max_auto_fallbacks exigem habilitação de conta. Essas configurações precisam de uma decisão explícita de migração, não de uma renomeação de campo.
Por que escolher Bird Verify?
Bird identifica a verificação pelo destinatário, incluindo endereço de email, número de telefone ou ambos. O plano por país determina quais canais estão disponíveis; options.channels pode reduzir ou reordenar esse plano.
A resposta de verificação do Bird retorna success, reason e attempts_remaining. Armazene success: true na sua aplicação; uma verificação posterior de um registro finalizado retorna 404 e não desfaz esse resultado.
O servidor MCP hospedado e os exemplos com CLI do Bird executam operações de criação, verificação e próximo canal. Um agente pode solicitar o próximo canal de entrega com o mesmo destinatário que sua aplicação já possui.
A matriz
Como as APIs de Verify se comparam?
Compare estado do destinatário, recuperação e decisões de risco. Disponibilidade de canal e opções avançadas dependem do destino e da habilitação de conta.
| Recurso | Bird | Prelude | Quem vence? |
|---|---|---|---|
| Pedido de criação | JSON com uma chave bearer para /v1/verify/verifications, com to.email, to.phone_number ou ambos. | JSON create-or-retry com uma chave bearer e target.type mais target.value. Verificação por email requer contato com o Prelude sobre o caso de uso. | |
| Tentativas seguras | Idempotency-Key repete a solicitação. Reenvios por destinatário reutilizam a verificação ativa, respeitam seu cooldown e enviam um novo código depois dele. | Repetir a solicitação dentro de uma janela de verificação ativa cria uma tentativa de retry. O guia de ciclo de vida documenta o espaçamento mínimo entre tentativas e os limites de tentativas. | |
| O que uma verificação falhada lhe diz | success: false, reason e attempts_remaining. Persista um resultado bem-sucedido antes que a verificação seja finalizada. | Status da verificação inclui success, failure e expired_or_not_found. Códigos vinculados a transações também podem retornar transaction_missing ou transaction_mismatch. | |
| Canais por onde um código pode chegar | SMS, WhatsApp, e-mail e Telegram, restrito ao plano de país resolvido do destinatário. Voz ainda está sendo lançado e não está disponível para tráfego de clientes. | Canais de mensagem incluem SMS, RCS, WhatsApp, Telegram, Viber e Zalo, além de autenticação silenciosa; method: voice solicita uma chamada telefônica. A disponibilidade depende da conta e do destino. | |
| Eventos de entrega | Assinaturas do espaço de trabalho distinguem eventos de verificação e de entrega; assinaturas Standard Webhooks autenticam o payload. | options.callback_url seleciona o destino por solicitação. Gere uma chave de assinatura para habilitar assinaturas RSASSA-PSS SHA-256 em X-Webhook-Signature. | |
| Controlo de fallback | Falha na entrega avança o plano resolvido. Próximo canal avança sob demanda e envia um novo código; códigos anteriores continuam válidos. | max_auto_fallbacks limita tentativas automáticas adicionais e exige habilitação de conta. É fixado na criação; um retry solicitado recebe uma nova cota do mesmo limite. | |
| Servidor MCP alojado | MCP hospedado e autenticado executa criação, verificação e próximo canal; o CLI do bird expõe as mesmas operações. | Os SDKs backend do Prelude permitem que o código da aplicação chame o Verify. Seu SDK para Node expõe verification.create e verification.check. | |
| Comprimento do código | options.code_length define o comprimento do código; caso contrário, a configuração do espaço de trabalho é aplicada. | options.code_size aceita de 4 a 8 dígitos e, caso contrário, usa a configuração do painel. | |
| Resultado de risco | Limites de envio por destinatário, limites de verificação e configuração por país. A resposta de criação retorna uma verificação, sem o resultado challenged ou shadow_blocked do Prelude. | Status de criação e dados de risco permitem ramificar com base em tráfego bloqueado. reason descreve um bloqueio; risk_factors aparece para decisões blocked ou shadow_blocked quando sinais de risco específicos são detectados; esses campos não são uma justificativa para cada envio bem-sucedido. |
Quem controla a próxima tentativa de entrega?
Bird resolve seu plano de canais a partir do destinatário e do país. Uma falha na entrega ou uma solicitação explícita de próximo canal avança esse plano. Cada chamada explícita avança no máximo um canal e envia um novo código; códigos anteriores continuam válidos para a verificação ativa.
Bird: criação com to → plano de canais resolvido → falha na entrega ou próximo canal → novo código → verificação com o mesmo to. Um plano esgotado retorna NoNextChannel. Registre o sucesso antes de oferecer outro envio.
Prelude: criação com target e signals → resultado de risco → janela de verificação → rota de entrega → retry automático ou solicitado → verificação de código. Seu guia de ciclo de vida trata outra criação para o mesmo número dentro da janela ativa como um retry, não como uma nova verificação.
O limite de fallback do Prelude conta tentativas automáticas adicionais. Um valor zero desabilita retries automáticos de provedor e canal. O valor exige habilitação e é fixado na criação; alterá-lo em um retry é ignorado, enquanto um retry solicitado recebe uma nova cota do limite fixo.
O que significa sucesso em cada resposta?
O endpoint de verificação do Bird retorna success: true quando o código é aceito. HTTP 200 também pode trazer success: false e um motivo de falha. Mantenha o resultado de sucesso na aplicação; um 404 de registro finalizado não é uma reversão da autenticação.
O status de criação success do Prelude significa que uma nova janela de verificação foi criada. Seu status de verificação success é o resultado a ser usado para aceitação do código. Não conceda acesso a partir do resultado de criação. Ambas as chamadas identificam o alvo pelo type e value.
A referência de check do Prelude também define transaction_missing e transaction_mismatch para códigos prelude:psd2. Preserve essa vinculação de transação ou escolha uma substituição explícita antes de migrar esse fluxo.
Quais sinais de risco e verificações de webhook precisam sobreviver à migração?
Prelude define dispatch_id como “The identifier of the dispatch that came from the front-end SDK.” em sua referência de criação. Forneça o valor real de dispatch do SDK ao usar essa integração; um UUID de solicitação gerado pela aplicação não é um substituto.
O guia de fraude do Prelude descreve sinais fornecidos pelo servidor e sinais adicionais de dispositivo dos seus SDKs de frontend. Seus estados challenged e shadow_blocked requerem habilitação de conta. Inventarie as ramificações da aplicação que consomem esses resultados.
Os limites de envio e verificação do Bird restringem o uso do API. Eles não substituem um veredito de risco do qual seu fluxo de cadastro depende. Mantenha a decisão de fraude da aplicação em torno da entrega do código.
Prelude assina payloads de webhook com RSASSA-PSS e SHA-256 depois que uma chave de assinatura é gerada no seu painel. Bird usa Standard Webhooks. Mantenha a verificação de assinatura, mas substitua o verificador e o mapeamento de eventos em vez de reutilizar a lógica de header do Prelude.
Como são cobradas a verificação e a entrega?
There's no plan, seat, or platform fee for Bird Verify. Each delivery is charged at that channel's rate for the destination. A resend, or a fallback that moves delivery to a second channel, is a new send and a new charge.
A verdict compares only published delivery rates with the same channel, destination, currency, billing unit and sender type. Per-success verification fees and per-send charges are Not comparable: your own sends and successful checks determine usage.
Pricing verdict: Not comparable
| Item publicado | Prelude | Política de cobrança da Bird |
|---|---|---|
| Pay As You Go Per verification | 0.032 € Per verification plus message costs. Monthly billing and 10,000 verifications selected. as published | There's no plan, seat, or platform fee for Bird Verify. Os envios por canal são cobrados separadamente. Confira as tarifas atualizadas dos canais abaixo. |
| Startup Per month | 360 € Per month plus message costs. Monthly billing and 10,000 verifications selected. as published | There's no plan, seat, or platform fee for Bird Verify. Os envios por canal são cobrados separadamente. Confira as tarifas atualizadas dos canais abaixo. |
| Enterprise Custom volume | Contact sales Contact sales for committed volume pricing. as published | There's no plan, seat, or platform fee for Bird Verify. Os envios por canal são cobrados separadamente. Confira as tarifas atualizadas dos canais abaixo. |
| SMS (US) Per SMS Destination: US | €0.0043 EUR Message cost for the selected United States destination. Verification charges are separate. as published | There's no plan, seat, or platform fee for Bird Verify. Os envios por canal são cobrados separadamente. Confira as tarifas atualizadas dos canais abaixo. |
| WhatsApp (US) Per message Destination: US | €0.0028 EUR Message cost for the selected United States destination. Verification charges are separate. as published | There's no plan, seat, or platform fee for Bird Verify. Os envios por canal são cobrados separadamente. Confira as tarifas atualizadas dos canais abaixo. |
| RCS (US) Per message Destination: US | €0.00 EUR Message cost for the selected United States destination. Verification charges are separate. as published | There's no plan, seat, or platform fee for Bird Verify. Os envios por canal são cobrados separadamente. Confira as tarifas atualizadas dos canais abaixo. This method is outside Bird’s documented Verify channel plan. |
| Telegram (US) Per message Destination: US | €0.012 EUR Message cost for the selected United States destination. Verification charges are separate. as published | There's no plan, seat, or platform fee for Bird Verify. Os envios por canal são cobrados separadamente. Confira as tarifas atualizadas dos canais abaixo. |
| Viber (US) Per message Destination: US | €0.007 EUR Message cost for the selected United States destination. Verification charges are separate. as published | There's no plan, seat, or platform fee for Bird Verify. Os envios por canal são cobrados separadamente. Confira as tarifas atualizadas dos canais abaixo. This method is outside Bird’s documented Verify channel plan. |
Bird publicou tarifas de canal SMS
Bird's SMS catalogue rates are shown by sender type, per message segment. Carrier fees and sender costs may apply separately. These channel rates are not a total verification quote. SMS pricing; carrier fees.
| Destino | Tipo de remetente | Por segmento SMS |
|---|---|---|
| US | long_code | EUR 0.003 |
| US | long_code | USD 0.0035 |
| US | toll_free | EUR 0.003 |
| US | toll_free | USD 0.0035 |
| US | short_code | EUR 0.006 |
| US | short_code | USD 0.007 |
Bird email pricing and Bird WhatsApp pricing publish the other delivery channels.
A mesma verificação
Como você inicia uma verificação?
O recurso de criação do Prelude aceita target e options.code_size em /v2/verification. O endpoint de criação do Bird aceita to e options.code_length. Forneça um identificador real de dispatch do frontend somente quando essa integração do Prelude estiver em uso.
Prelude
const response = await fetch("https://api.prelude.dev/v2/verification", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.PRELUDE_API_TOKEN}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
target: { type: "phone_number", value: "+15551234567" },
options: { code_size: 6 },
}),
});
const verification = await response.json();
console.log(verification.id, verification.status);
Bird
import { BirdClient } from "@messagebird/sdk";
const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });
const { data, error } = await bird.verify.verifications
.create(
{
to: { phone_number: "+15551234567" },
options: { code_length: 6 },
},
)
.safe();
if (error) console.error(error.message);
else console.log(data.id, data.status);
Custo de migração
O que precisa mudar antes da transição?
Faça um inventário dos métodos, decisões de risco, templates, IDs de remetente e verificações vinculadas a transações que sua aplicação usa. O guia de migração do Prelude mapeia os campos suportados. Um caminho de voz, RCS, Viber, Zalo ou autenticação silenciosa do qual você depende precisa de uma alternativa explícita antes de migrar para o Bird.
Direcione novas criações ao provedor escolhido e mantenha verificações pendentes com o provedor que emitiu o código. Mapeie eventos de callback, instale o verificador de assinatura correspondente e persista verificações bem-sucedidas. Teste tentativas após timeout, reenvios do usuário, avanço de canal e verificações expiradas antes da transição. Revise a política de remetente e mensagem do Bird junto ao fluxo voltado ao destinatário.
O que você deve verificar antes de escolher?
Bird é uma alternativa ao Prelude para SMS e email?
Uma nova tentativa inicia uma nova verificação no Prelude?
Posso ajustar o limite de fallback do Prelude em cada nova tentativa?
O que devo armazenar após uma verificação bem-sucedida?
Coloque em prática.
Continue com a documentação, guias e exemplos sobre este tópico. Os recursos estão em inglês.
Próximos passos
Comece pelo guia de migração, depois compare os canais suportados e as unidades de cobrança.
Faça da verificação parte do seu produto.
Converse com nosso time sobre seus canais, fluxo de verificação e tráfego esperado.