Bird vs Prelude
Bird vs Prelude para Verify
Bird Verify expone entrega basada en destinatario y verificación de códigos: crea un código, avanza el plan de canales disponible y comprueba la respuesta usando el mismo destinatario. Compara ese flujo con la ventana de verificación y los resultados de riesgo de Prelude antes de migrar un registro o inicio de sesión.
Equipos que confían cada día en nosotros para
crear software de primer nivel.
¿Qué flujo de verificación se adapta a tu aplicación?
Cuándo encaja Prelude
La respuesta de creación de Prelude distingue success, retry, challenged, blocked y shadow_blocked. Sus señales alimentan decisiones de fraude; challenged y shadow_blocked requieren habilitación de cuenta. Conserva o reemplaza la decisión de riesgo de la que depende tu aplicación antes de migrar su entrega de códigos.
Prelude documenta RCS, Viber, Zalo y autenticación silenciosa de red junto con SMS, WhatsApp y Telegram; su método de solicitud también acepta voz. El plan seleccionable de Bird incluye SMS, WhatsApp, email y Telegram. La voz aún está en despliegue y hoy no es una opción de migración para clientes. Conserva o rediseña un método de RCS, Viber, Zalo o autenticación silenciosa del que dependas.
Las opciones de solicitud de Prelude incluyen plantillas, locale y un sender ID habilitado. Códigos personalizados, una lista explícita de canales, force_challenge y max_auto_fallbacks requieren habilitación de cuenta. Esos ajustes necesitan una decisión de migración explícita, no un renombramiento de campo.
¿Por qué elegir Bird Verify?
Bird identifica la verificación por el destinatario, ya sea una dirección de email, un número de teléfono o ambos. Su plan de país determina qué canales están disponibles; options.channels puede recortar o reordenar ese plan.
La respuesta de comprobación de Bird devuelve success, reason y attempts_remaining. Almacena success: true en tu aplicación; una comprobación posterior de una verificación finalizada devuelve 404 y no deshace ese resultado.
El servidor MCP alojado de Bird y los ejemplos de CLI ejecutan operaciones de creación, comprobación y siguiente canal. Un agente puede solicitar el siguiente canal de entrega con el mismo destinatario que su aplicación ya tiene.
La matriz
¿Cómo se comparan las APIs de Verify?
Compara estado del destinatario, recuperación y decisiones de riesgo. La disponibilidad de canales y las opciones avanzadas dependen del destino y la habilitación de cuenta.
| Capacidad | Bird | Prelude | ¿Quién gana? |
|---|---|---|---|
| Solicitud de creación | JSON con una clave bearer a /v1/verify/verifications, con to.email, to.phone_number o ambos. | JSON create-or-retry con una clave bearer y target.type más target.value. La verificación por email requiere contactar a Prelude sobre el caso de uso. | |
| Reintentos seguros | Idempotency-Key repite la solicitud. Los reenvíos por destinatario reutilizan la verificación activa, respetan su tiempo de espera y envían un código nuevo después. | Repetir la solicitud dentro de una ventana de verificación activa crea un intento de reintento. La guía de ciclo de vida documenta el espaciado mínimo entre reintentos y los límites de intentos. | |
| Lo que te dice una verificación fallida | success: false, reason y attempts_remaining. Persiste un resultado exitoso antes de que la verificación sea finalizada. | El estado de comprobación incluye success, failure y expired_or_not_found. Los códigos vinculados a transacción también pueden devolver transaction_missing o transaction_mismatch. | |
| Canales por los que puede llegar un código | SMS, WhatsApp, email y Telegram, restringidos al plan de país resuelto del destinatario. Voice aún se está desplegando y no está disponible para tráfico de clientes. | Los canales de mensajería incluyen SMS, RCS, WhatsApp, Telegram, Viber y Zalo, más autenticación silenciosa; method: voice solicita una llamada telefónica. La disponibilidad depende de la cuenta y el destino. | |
| Eventos de entrega | Las suscripciones del espacio de trabajo distinguen eventos de verificación y de entrega; las firmas Standard Webhooks autentican el payload. | options.callback_url selecciona el destino por solicitud. Genera una clave de firma para habilitar firmas SHA-256 RSASSA-PSS en X-Webhook-Signature. | |
| Control de respaldo | Un fallo de entrega avanza el plan resuelto. Next-channel lo avanza bajo demanda y envía un código nuevo; los códigos anteriores siguen siendo válidos. | max_auto_fallbacks limita los intentos automáticos adicionales y requiere habilitación de cuenta. Se fija en la creación; un reintento solicitado recibe una nueva asignación de ese mismo límite. | |
| Servidor MCP alojado | MCP alojado y autenticado ejecuta creación, comprobación y siguiente canal; el CLI de bird expone las mismas operaciones. | Los SDKs backend de Prelude permiten que el código de la aplicación llame a Verify. Su SDK de Node expone verification.create y verification.check. | |
| Longitud del código | options.code_length elige la longitud del código; de lo contrario se aplica la configuración del espacio de trabajo. | options.code_size acepta de 4 a 8 dígitos y, si no se especifica, usa la configuración del panel. | |
| Resultado de riesgo | Límites de envío por destinatario, límites de comprobación y configuración de país. La respuesta de creación devuelve una verificación, sin el resultado challenged o shadow_blocked de Prelude. | El estado de creación y los datos de riesgo permiten ramificar según tráfico bloqueado. reason describe un bloqueo; risk_factors aparece para decisiones blocked o shadow_blocked cuando se detectan señales de riesgo específicas; esos campos no son una justificación para cada envío exitoso. |
¿Quién controla el siguiente intento de entrega?
Bird resuelve su plan de canales a partir del destinatario y el país. Un fallo de entrega o una solicitud explícita de siguiente canal avanza ese plan. Cada llamada explícita avanza como máximo un canal y envía un código nuevo; los códigos anteriores siguen siendo válidos para la verificación activa.
Bird: crear con to → plan de canales resuelto → fallo de entrega o next-channel → código nuevo → comprobar con el mismo to. Un plan agotado devuelve NoNextChannel. Registra el éxito antes de ofrecer otro envío.
Prelude: crear con target y signals → resultado de riesgo → ventana de verificación → ruta de entrega → reintento automático o solicitado → comprobación de código. Su guía de ciclo de vida trata otra creación para el mismo número dentro de la ventana activa como un reintento, no como una nueva verificación.
El límite de fallback de Prelude cuenta los intentos automáticos adicionales. Un valor de cero desactiva los reintentos automáticos de proveedor y canal. El valor requiere habilitación y se fija en la creación; cambiarlo en un reintento se ignora, mientras que un reintento solicitado recibe una nueva asignación del límite fijo.
¿Qué significa success en cada respuesta?
El endpoint de comprobación de Bird devuelve success: true cuando el código es aceptado. Un HTTP 200 también puede contener success: false y un motivo de fallo. Conserva el resultado exitoso en la aplicación; un 404 de registro finalizado no es una reversión de la autenticación.
El create status: success de Prelude significa que se creó una nueva ventana de verificación. Su check status: success es el resultado que debes usar para la aceptación del código. No concedas acceso a partir del resultado de creación. Ambas llamadas identifican el objetivo por su type y value.
La referencia de check de Prelude también define transaction_missing y transaction_mismatch para códigos prelude:psd2. Conserva esa vinculación de transacción o elige un reemplazo explícito antes de migrar ese flujo.
¿Qué señales de riesgo y verificaciones de webhook deben sobrevivir a la migración?
Prelude define dispatch_id como “The identifier of the dispatch that came from the front-end SDK.” en su referencia de create. Proporciona el valor real de dispatch del SDK al usar esa integración; un UUID de solicitud generado por la aplicación no es un sustituto.
La guía de fraude de Prelude describe señales proporcionadas por el servidor y señales adicionales de dispositivo de sus SDKs de frontend. Sus estados challenged y shadow_blocked requieren habilitación de cuenta. Haz un inventario de las ramas de la aplicación que consumen esos resultados.
Los límites de envío y verificación de Bird restringen el uso de API. No reemplazan un veredicto de riesgo del que dependa tu flujo de registro. Mantén la decisión de fraude de la aplicación en torno a la entrega de códigos.
Prelude firma los payloads de webhook con RSASSA-PSS y SHA-256 después de generar una clave de firma en su panel. Bird usa Standard Webhooks. Mantén la verificación de firma, pero reemplaza el verificador y el mapeo de eventos en lugar de reutilizar la lógica de encabezados de Prelude.
¿Cómo se facturan la verificación y el envío?
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
| Elemento publicado | Prelude | Política de facturación de 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. Los envíos por canal se facturan por separado. Consulta las tarifas vigentes de cada canal a continuación. |
| 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. Los envíos por canal se facturan por separado. Consulta las tarifas vigentes de cada canal a continuación. |
| Enterprise Custom volume | Contact sales Contact sales for committed volume pricing. as published | There's no plan, seat, or platform fee for Bird Verify. Los envíos por canal se facturan por separado. Consulta las tarifas vigentes de cada canal a continuación. |
| 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. Los envíos por canal se facturan por separado. Consulta las tarifas vigentes de cada canal a continuación. |
| 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. Los envíos por canal se facturan por separado. Consulta las tarifas vigentes de cada canal a continuación. |
| 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. Los envíos por canal se facturan por separado. Consulta las tarifas vigentes de cada canal a continuación. 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. Los envíos por canal se facturan por separado. Consulta las tarifas vigentes de cada canal a continuación. |
| 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. Los envíos por canal se facturan por separado. Consulta las tarifas vigentes de cada canal a continuación. This method is outside Bird’s documented Verify channel plan. |
Bird publicó tarifas del 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 remitente | Por segmento de 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.
La misma verificación
¿Cómo inicias una verificación?
El recurso create de Prelude acepta target y options.code_size en /v2/verification. El endpoint create de Bird acepta to y options.code_length. Proporciona un identificador real de dispatch del frontend solo cuando esa integración de Prelude esté en 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);
Coste de migración
¿Qué debe cambiar antes del corte?
Inventaría los métodos, decisiones de riesgo, plantillas, IDs de remitente y verificaciones vinculadas a transacciones que usa tu aplicación. La guía de migración de Prelude mapea los campos compatibles. Una ruta de voz, RCS, Viber, Zalo o autenticación silenciosa de la que dependas necesita una alternativa explícita antes de migrar a Bird.
Dirige los nuevos creates al proveedor elegido y mantén las verificaciones pendientes con el proveedor que emitió el código. Mapea los eventos de callback, instala el verificador de firma correspondiente y persiste las verificaciones exitosas. Prueba los reintentos por timeout, los reenvíos del usuario, el avance de canal y las verificaciones expiradas antes del corte. Revisa la política de remitente y mensajes de Bird con el flujo orientado al destinatario.
¿Qué debes verificar antes de elegir?
¿Es Bird una alternativa a Prelude para SMS y email?
¿Un reintento inicia una nueva verificación de Prelude?
¿Puedo ajustar el límite de respaldo de Prelude en cada reintento?
¿Qué debo almacenar después de una verificación exitosa?
Ponlo en práctica.
Continúa con la documentación, guías y ejemplos sobre este tema. Los recursos están en inglés.
Próximos pasos
Empieza con la guía de migración, luego compara los canales soportados y las unidades de facturación.
Haz de la verificación parte de tu producto.
Habla con nuestro equipo sobre tus canales, flujo de verificación y tráfico esperado.