Routering

Het pad van verzending naar toestel.

Klaar in:
Cursor

Bird bereikt 150+ landen via 240 direct-to-carrier verbindingen. Wanneer een carrierpad verslechtert, selecteren we de route in real time opnieuw, voordat het volgende bericht uitgaat. En elke verzending geeft een carrier delivery receipt terug, zodat je altijd weet of het toestel het kreeg.

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

De laag waarop je verzending meerijdt.

Routering is de laag onder de Bird SMS API. Je roept één endpoint aan met een from, een to en een text; daaronder bepalen we de carrier van de ontvanger, kiezen we een verbinding en dragen we het bericht over. Wanneer een pad slecht wordt, verandert de route en je code niet.

Wat de routeringslaag voor je beslist.

Bepaald per bericht, achter één API-call.

  1. 01

    Direct-to-carrier verbindingen.

    240 verbindingen koppelen ons rechtstreeks aan de mobiele operators in 150+ landen. Geen resellerketen tussen je verzending en de SMSC van de carrier.

  2. 02

    Real-time routeherselectie.

    We bewaken aflevering en latency op elk pad. Wanneer een carrierroute begint te verslechteren, neemt het volgende bericht een gezondere verbinding naar dezelfde operator. Failover gebeurt voordat je het merkt.

  3. 03

    MNP-lookup vóór verzending.

    We bepalen bij elke verzending de huidige carrier van de ontvanger, zodat een geport nummer routeert naar de operator die het daadwerkelijk houdt in plaats van de operator waarmee het werd uitgegeven.

  4. 04

    Een delivery receipt voor elk bericht.

    De eigen DLR van de carrier komt terug als een sms.delivered- of sms.failed-webhook, met het netwerk waarop het aanlandde en hoe lang het duurde. Geen giswerk van jouw kant.

  5. 05

    Least-cost of highest-quality, per route.

    Routering weegt kosten af tegen afleverkwaliteit voor elke bestemming. Transactioneel verkeer geeft de voorkeur aan het snelste, meest betrouwbare pad; bulkverkeer kan neigen naar de laagste kosten.

Waarom direct-to-carrier het wint van een aggregatorketen.

Veel SMS-verkeer gaat door twee of drie resellers voordat het een operator bereikt. Elke hop voegt een plek toe waar het bericht kan vastlopen, de prijs kan stijgen, en de delivery receipt kan worden weggegooid of vervalst. Een directe verbinding verwijdert die tussenpersonen: het bericht gaat van Bird naar de carrier, en de receipt komt op dezelfde manier terug. Zo loopt al ongeveer 40% van 's werelds commerciële SMS via dit netwerk, met 95% van de berichten afgeleverd binnen 2,5 seconden.

De delivery receipt, rechtstreeks van de carrier.

Een verzending geeft 202 terug; de uitkomst arriveert als een ondertekende webhook met de DLR van de carrier. De payload vertelt je het netwerk waarop het aanlandde, het bestemmingsland en de round-trip latency.

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 identificeert het exacte mobiele netwerk dat het bericht aannam; een waarde die afwijkt van de thuiscarrier van het nummer is je signaal dat de ontvanger heeft geport.

  • sms.deliveredCarrier bevestigde dat het toestel het bericht ontving (DLR).
  • sms.failedCarrier weigerde of kon niet afleveren — met de reden eraan gehecht.

Routering leunt op number intelligence.

De MNP-lookup die de juiste carrier kiest, is dezelfde number intelligence die je zelfstandig kunt aanroepen met Lookup — lijntype, huidige operator en portabiliteit voordat je verstuurt. Zodra een bericht op de lijn staat, wire dan webhooks aan voor de delivery receipt en lees de error-referentie om elke foutcode af te handelen, of bekijk de deliverability-gids voor wat de receipts je vertellen.

SMS routing FAQ

Wat betekent direct-to-carrier routering?+
Je bericht wordt rechtstreeks overgedragen aan de mobiele operator via een van onze 240 directe verbindingen, niet via een keten van resellers. Minder hops betekent minder plekken waar een bericht kan vastlopen of een delivery receipt zoek kan raken.
Wat gebeurt er wanneer een carrierroute verslechtert?+
Bird selecteert de route in real time opnieuw. Als een pad receipts begint te laten vallen of vertraagt, neemt het volgende bericht een gezondere verbinding naar dezelfde operator, en de verzending die je schreef verandert nooit.
Hoe weet ik dat een bericht echt het toestel heeft bereikt?+
Elk bericht geeft een carrier delivery receipt terug als een sms.delivered- of sms.failed-webhook, met de mcc_mnc, country en latency_ms. Dat is de eigen bevestiging van de operator, geen afleiding van onze kant.
Controleren jullie de carrier van de ontvanger voordat je verstuurt?+
Ja. We draaien een MNP-lookup bij elke verzending om de huidige operator van de ontvanger te bepalen, zodat een geport nummer naar de carrier routeert die het daadwerkelijk houdt. Voor zelfstandige number intelligence, zie Lookup.
Kan ik least-cost boven highest-quality routering kiezen?+
Routering balanceert kosten en afleverkwaliteit per bestemming. Transactioneel verkeer zoals one-time passcodes geeft de voorkeur aan het pad met de hoogste kwaliteit; bulkverkeer kan neigen naar de laagste kosten. De selectie gebeurt per bericht, achter dezelfde API-call.

Routering waar je nooit over hoeft na te denken.

Dekking, carrierconnectiviteit, failover en delivery receipts zijn één mogelijkheid van de Bird SMS API, op infrastructuur die we al tien jaar draaien.

Begin met één kanaal.
Voeg de rest toe wanneer je er klaar voor bent.

Een test-API-key is direct beschikbaar. Productietoegang wordt ontgrendeld zodra je een betaalmethode toevoegt en een afzender verifieert.

Gebruik je Claude Code, Cursor of Codex? Kopieer een setup-prompt en je agent installeert de Bird CLI en skills voor je. Kies de jouwe:

Cursor