Routage

Le chemin de l'envoi au combiné.

Mise en place en :
Cursor

Bird atteint plus de 150 pays via 240 connexions direct-to-carrier. Lorsqu'un chemin opérateur se dégrade, nous re-sélectionnons la route en temps réel, avant que le message suivant ne parte. Et chaque envoi renvoie un accusé de réception de l'opérateur, pour que vous sachiez toujours si le combiné l'a reçu.

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 couche sur laquelle votre envoi circule.

Le routage est la couche sous l'API SMS de Bird. Vous appelez un seul endpoint avec un from, un to et un text ; en dessous, nous résolvons l'opérateur du destinataire, choisissons une connexion et transmettons le message. Lorsqu'un chemin devient mauvais, la route change et votre code ne change pas.

Ce que la couche de routage décide pour vous.

Résolu par message, derrière un seul appel d'API.

  1. 01

    Connexions direct-to-carrier.

    240 connexions nous relient directement aux opérateurs mobiles dans plus de 150 pays. Aucune chaîne de revendeurs entre votre envoi et le SMSC de l'opérateur.

  2. 02

    Re-sélection de route en temps réel.

    Nous surveillons la livraison et la latence sur chaque chemin. Lorsqu'une route opérateur commence à se dégrader, le message suivant emprunte une connexion plus saine vers le même opérateur. Le basculement a lieu avant que vous ne le remarquiez.

  3. 03

    Lookup MNP avant l'envoi.

    Nous résolvons l'opérateur actuel du destinataire à chaque envoi, de sorte qu'un numéro porté soit routé vers l'opérateur qui le détient réellement plutôt que vers celui avec lequel il a été émis.

  4. 04

    Un accusé de réception pour chaque message.

    Le DLR propre à l'opérateur revient sous forme de webhook sms.delivered ou sms.failed, portant le réseau sur lequel il a abouti et le temps que cela a pris. Aucune supposition de votre côté.

  5. 05

    Moindre coût ou plus haute qualité, par route.

    Le routage pèse le coût face à la qualité de livraison pour chaque destination. Le trafic transactionnel privilégie le chemin le plus rapide et le plus fiable ; le trafic en masse peut pencher vers le moindre coût.

Pourquoi le direct-to-carrier l'emporte sur une chaîne d'agrégateurs.

Une grande partie du trafic SMS transite par deux ou trois revendeurs avant d'atteindre un opérateur. Chaque saut ajoute un endroit où le message peut se bloquer, où le prix peut grimper, et où l'accusé de réception peut être perdu ou falsifié. Une connexion directe supprime ces intermédiaires : le message va de Bird à l'opérateur, et l'accusé revient par le même chemin. C'est ainsi qu'environ 40 % du SMS commercial mondial passe déjà par ce réseau, avec 95 % des messages délivrés en moins de 2,5 secondes.

L'accusé de réception, directement de l'opérateur.

Un envoi renvoie 202 ; le résultat arrive sous forme de webhook signé portant le DLR de l'opérateur. La charge utile vous indique le réseau sur lequel il a abouti, le pays de destination et la latence aller-retour.

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 identifie le réseau mobile exact qui a pris en charge le message ; une valeur différente de l'opérateur d'origine du numéro est le signal que le destinataire a porté son numéro.

  • sms.deliveredL'opérateur a confirmé que le combiné a reçu le message (DLR).
  • sms.failedL'opérateur a rejeté ou n'a pas pu délivrer — avec la raison jointe.

Le routage s'appuie sur l'intelligence de numéro.

Le lookup MNP qui choisit le bon opérateur est la même intelligence de numéro que vous pouvez appeler indépendamment avec Lookup — type de ligne, opérateur actuel et portabilité avant d'envoyer. Une fois qu'un message est sur le réseau, câblez des webhooks pour l'accusé de réception et lisez la référence des erreurs pour gérer chaque code d'échec, ou consultez le guide de délivrabilité pour comprendre ce que vous disent les accusés.

FAQ sur le routage SMS

Que signifie le routage direct-to-carrier ?+
Votre message est transmis directement à l'opérateur mobile via l'une de nos 240 connexions directes, et non à travers une chaîne de revendeurs. Moins de sauts signifie moins d'endroits où un message peut se bloquer ou un accusé de réception se perdre.
Que se passe-t-il lorsqu'une route opérateur se dégrade ?+
Bird re-sélectionne la route en temps réel. Si un chemin commence à perdre des accusés ou à ralentir, le message suivant emprunte une connexion plus saine vers le même opérateur, et l'envoi que vous avez écrit ne change jamais.
Comment savoir qu'un message a réellement atteint le combiné ?+
Chaque message renvoie un accusé de réception de l'opérateur sous forme de webhook sms.delivered ou sms.failed, portant le mcc_mnc, le pays et la latency_ms. C'est la confirmation propre à l'opérateur, et non une déduction de notre côté.
Vérifiez-vous l'opérateur du destinataire avant d'envoyer ?+
Oui. Nous exécutons un lookup MNP à chaque envoi pour résoudre l'opérateur actuel du destinataire, de sorte qu'un numéro porté soit routé vers l'opérateur qui le détient réellement. Pour une intelligence de numéro autonome, voir Lookup.
Puis-je privilégier le moindre coût plutôt que la meilleure qualité de routage ?+
Le routage équilibre coût et qualité de livraison par destination. Le trafic transactionnel comme les codes à usage unique privilégie le chemin de la plus haute qualité ; le trafic en masse peut pencher vers le moindre coût. La sélection s'opère par message, derrière le même appel d'API.

Un routage auquel vous n'avez jamais à penser.

La couverture, la connectivité opérateur, le basculement et les accusés de réception sont l'une des capacités de l'API SMS de Bird, sur une infrastructure que nous exploitons depuis une décennie.

Commencez avec un seul canal.
Ajoutez les autres quand vous êtes prêt.

Une clé API de test est disponible immédiatement. L'accès production se débloque dès que vous ajoutez un moyen de paiement et vérifiez un expéditeur.

Vous utilisez Claude Code, Cursor ou Codex ? Copiez un prompt de configuration et votre agent installe la CLI Bird et les compétences pour vous. Choisissez le vôtre :

Cursor