Enrutamiento

El camino del envío al dispositivo.

Configúralo en:
Cursor

Bird llega a más de 150 países a través de 240 conexiones direct-to-carrier. Cuando una vía de operador se degrada, reseleccionamos la ruta en tiempo real, antes de que salga el siguiente mensaje. Y cada envío devuelve un acuse de recibo del operador, así que siempre sabes si el dispositivo lo recibió.

send-otp.ts
200 · 0.4s
import { BirdClient } from "@messagebird/sdk";

const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });

const code = generateOtp();

const { data, error } = await bird.sms.send({
  from: "Bird",
  to:   "+15005550006",
  text: `Your Bird verification code is ${code}. Reply STOP to opt out.`,
}).safe();

if (error) throw error;
console.log(data.id);
// → "sms_4kT01Lq2m..."

Today at 2:14 PM

Hey Ada — your Bird sign-in code is 482917. It'll expire in 10 minutes. Don't share it with anyone.
482917
Delivered

La capa sobre la que viaja tu envío.

El enrutamiento es la capa que hay debajo de la API de SMS de Bird. Llamas a un endpoint con un from, un to y un text; por debajo, resolvemos el operador del destinatario, elegimos una conexión y entregamos el mensaje. Cuando una vía se estropea, la ruta cambia y tu código no.

Lo que la capa de enrutamiento decide por ti.

Resuelto por mensaje, detrás de una sola llamada a la API.

  1. 01

    Conexiones direct-to-carrier.

    240 conexiones nos conectan directamente con los operadores móviles en más de 150 países. Sin una cadena de revendedores entre tu envío y el SMSC del operador.

  2. 02

    Reselección de ruta en tiempo real.

    Vigilamos la entrega y la latencia en cada vía. Cuando una ruta de operador empieza a degradarse, el siguiente mensaje toma una conexión más sana hacia el mismo operador. La conmutación por error ocurre antes de que lo notes.

  3. 03

    Consulta MNP antes de enviar.

    Resolvemos el operador actual del destinatario en cada envío, de modo que un número portado se enrute al operador que realmente lo tiene en lugar de aquel con el que se emitió.

  4. 04

    Un acuse de recibo por cada mensaje.

    El propio DLR del operador vuelve como webhook sms.delivered o sms.failed, que lleva la red en la que aterrizó y cuánto tardó. Sin conjeturas por tu parte.

  5. 05

    Menor coste o mayor calidad, por ruta.

    El enrutamiento sopesa coste frente a calidad de entrega para cada destino. El tráfico transaccional prioriza la vía más rápida y fiable; el tráfico masivo puede inclinarse hacia el menor coste.

Por qué direct-to-carrier supera a una cadena de agregadores.

Mucho tráfico de SMS pasa por dos o tres revendedores antes de llegar a un operador. Cada salto añade un lugar donde el mensaje puede atascarse, donde el precio puede subir y donde el acuse de recibo puede perderse o falsificarse. Una conexión directa elimina esos intermediarios: el mensaje va de Bird al operador, y el acuse vuelve por la misma vía. Así es como alrededor del 40 % del SMS comercial del mundo ya circula por esta red, con el 95 % de los mensajes entregados en menos de 2,5 segundos.

El acuse de recibo, directo del operador.

Un envío devuelve 202; el resultado llega como webhook firmado que lleva el DLR del operador. La carga útil te dice la red en la que aterrizó, el país de destino y la latencia de ida y vuelta.

POST /webhooks/bird
signed
{
  "type": "sms.delivered",
  "id":   "evt_7jR42x...",
  "created_at": "2026-05-19T15:42:01.221Z",
  "data": {
    "sms_id":     "sms_4kT01Lq2m",
    "from":       "Bird",
    "to":         "+15005550006",
    "mcc_mnc":    "310-260",
    "country":    "US",
    "latency_ms": 1284
  }
}

mcc_mnc identifica la red móvil exacta que recibió el mensaje; un valor que difiere del operador de origen del número es tu señal de que el destinatario portó.

  • sms.deliveredEl operador confirmó que el dispositivo recibió el mensaje (DLR).
  • sms.failedEl operador rechazó o no pudo entregar — con el motivo adjunto.

El enrutamiento se apoya en la inteligencia de números.

La consulta MNP que elige el operador adecuado es la misma inteligencia de números que puedes invocar por separado con Lookup — tipo de línea, operador actual y portabilidad antes de enviar. Una vez que un mensaje está en la red, conecta webhooks para el acuse de recibo y lee la referencia de errores para gestionar cada código de fallo, o consulta la guía de entregabilidad para saber qué te dicen los acuses.

Preguntas frecuentes sobre enrutamiento de SMS

¿Qué significa enrutamiento direct-to-carrier?+
Tu mensaje se entrega directamente al operador móvil a través de una de nuestras 240 conexiones directas, no a través de una cadena de revendedores. Menos saltos significa menos lugares donde un mensaje puede atascarse o un acuse de recibo puede perderse.
¿Qué ocurre cuando una ruta de operador se degrada?+
Bird reselecciona la ruta en tiempo real. Si una vía empieza a perder acuses o a ralentizarse, el siguiente mensaje toma una conexión más sana hacia el mismo operador, y el envío que escribiste nunca cambia.
¿Cómo sé que un mensaje realmente llegó al dispositivo?+
Cada mensaje devuelve un acuse de recibo del operador como webhook sms.delivered o sms.failed, que lleva el mcc_mnc, el país y el latency_ms. Esa es la propia confirmación del operador, no una inferencia por nuestra parte.
¿Comprobáis el operador del destinatario antes de enviar?+
Sí. Ejecutamos una consulta MNP en cada envío para resolver el operador actual del destinatario, de modo que un número portado se enrute al operador que realmente lo tiene. Para inteligencia de números independiente, consulta Lookup.
¿Puedo elegir enrutamiento de menor coste en lugar de mayor calidad?+
El enrutamiento equilibra coste y calidad de entrega por destino. El tráfico transaccional, como los códigos de un solo uso, prioriza la vía de mayor calidad; el tráfico masivo puede inclinarse hacia el menor coste. La selección ocurre por mensaje, detrás de la misma llamada a la API.

Un enrutamiento en el que nunca tienes que pensar.

La cobertura, la conectividad con operadores, la conmutación por error y los acuses de recibo son una capacidad de la API de SMS de Bird, sobre una infraestructura que llevamos una década operando.

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