Routing

send से handset तक का रास्ता।

इसमें सेट अप करें:
Cursor

Bird 240 direct-to-carrier connections के जरिए 150+ देशों तक पहुंचता है। जब कोई carrier path खराब होता है, तो हम अगला मैसेज जाने से पहले ही real time में route फिर से चुन लेते हैं। और हर send एक carrier delivery receipt लौटाता है, ताकि आपको हमेशा पता रहे कि handset तक वह पहुंचा या नहीं।

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.`,
  category: "authentication",
}).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

वह layer जिस पर आपका send सवार होता है।

Routing Bird SMS API के नीचे की layer है। आप एक endpoint को from, to और text के साथ call करते हैं; इसके नीचे, हम recipient का carrier पता लगाते हैं, एक connection चुनते हैं, और मैसेज सौंप देते हैं। जब कोई path खराब होता है, route बदल जाता है और आपका code नहीं बदलता।

routing layer आपके लिए क्या तय करती है।

हर मैसेज पर तय, एक API call के पीछे।

  1. 01

    Direct-to-carrier connections।

    240 connections हमें 150+ देशों में मोबाइल ऑपरेटरों से सीधे जोड़ते हैं। आपके send और carrier के SMSC के बीच बैठी कोई reseller श्रृंखला नहीं।

  2. 02

    Real-time route reselection।

    हम हर path पर delivery और latency पर नजर रखते हैं। जब कोई carrier route खराब होने लगता है, तो अगला मैसेज उसी ऑपरेटर तक किसी स्वस्थ connection से जाता है। Failover आपके ध्यान में आने से पहले हो जाता है।

  3. 03

    send से पहले MNP lookup।

    हम हर send पर recipient का मौजूदा carrier पता लगाते हैं, ताकि एक ported नंबर उस ऑपरेटर तक route हो जो असल में उसे रखता है, न कि उस तक जिससे वह जारी हुआ था।

  4. 04

    हर मैसेज के लिए एक delivery receipt।

    carrier का अपना DLR sms.delivered या sms.failed webhook के रूप में वापस आता है, जिसमें वह network होता है जहां वह पहुंचा और उसे कितना समय लगा। आपकी ओर से कोई अनुमान नहीं।

  5. 05

    Least-cost या highest-quality, हर route पर।

    Routing हर destination के लिए cost को delivery quality के मुकाबले तौलता है। Transactional traffic सबसे तेज, सबसे भरोसेमंद path को तरजीह देता है; bulk traffic least cost की ओर झुक सकता है।

क्यों direct-to-carrier एक aggregator श्रृंखला से बेहतर है।

बहुत सारा SMS traffic किसी ऑपरेटर तक पहुंचने से पहले दो या तीन resellers से होकर गुजरता है। हर hop मैसेज के अटकने, कीमत बढ़ने, और delivery receipt के गुम होने या नकली बनने के लिए एक जगह जोड़ देता है। एक direct connection इन बिचौलियों को हटा देता है: मैसेज Bird से carrier तक जाता है, और receipt उसी रास्ते वापस आती है। इसी तरह दुनिया के लगभग 40% commercial SMS पहले से इस network के जरिए चलते हैं, जिसमें 95% मैसेज 2.5 सेकंड से कम में delivered होते हैं।

delivery receipt, सीधे carrier से।

A send returns 202; the outcome arrives as a signed webhook carrying the carrier's DLR. The payload names the carrier that took the message and the exact mobile network (MCC-MNC) it landed on.

POST /webhooks/bird
signed
{
  "type": "sms.delivered",
  "timestamp": "2026-05-19T15:42:01.221Z",
  "data": {
    "sms_id":       "sms_4kT01Lq2m",
    "workspace_id": "ws_8KQ2",
    "to":           "+15005550006",
    "from":         "Bird",
    "tags":         null,
    "metadata":     null,
    "carrier":      "Verizon",
    "mcc_mnc":      "311480"
  }
}

mcc_mnc उस सटीक मोबाइल network की पहचान करता है जिसने मैसेज लिया; नंबर के home carrier से अलग कोई value आपके लिए यह संकेत है कि recipient ने port कराया।

  • sms.deliveredcarrier ने पुष्टि की कि handset को मैसेज मिला (DLR)।
  • sms.failedcarrier ने अस्वीकार कर दिया या deliver नहीं कर सका — कारण संलग्न के साथ।

Routing number intelligence पर टिका है।

जो MNP lookup सही carrier चुनता है, वही number intelligence है जिसे आप Lookup के साथ अकेले भी call कर सकते हैं — send से पहले line type, मौजूदा ऑपरेटर, और portability। एक बार मैसेज wire पर आ जाए, तो delivery receipt के लिए webhooks जोड़ें और हर failure code को संभालने के लिए error reference पढ़ें, या receipts क्या बताती हैं यह जानने के लिए deliverability guide देखें।

SMS routing FAQ

direct-to-carrier routing का क्या मतलब है?+
आपका मैसेज हमारे 240 direct connections में से एक के जरिए सीधे मोबाइल ऑपरेटर को सौंप दिया जाता है, न कि resellers की किसी श्रृंखला से होकर। कम hops का मतलब है — मैसेज के अटकने या delivery receipt के गुम होने की कम जगहें।
जब कोई carrier route खराब हो जाता है तो क्या होता है?+
Bird real time में route फिर से चुन लेता है। अगर कोई path receipts छोड़ने लगे या धीमा पड़ने लगे, तो अगला मैसेज उसी ऑपरेटर तक किसी स्वस्थ connection से जाता है, और आपने जो send लिखा था वह कभी नहीं बदलता।
मुझे कैसे पता चलेगा कि कोई मैसेज सचमुच handset तक पहुंचा?+
हर मैसेज एक carrier delivery receipt लौटाता है — sms.delivered या sms.failed webhook के रूप में, जिसमें mcc_mnc, country और latency_ms होते हैं। यह ऑपरेटर की अपनी पुष्टि है, हमारी ओर से लगाया गया अनुमान नहीं।
क्या आप send करने से पहले recipient का carrier जांचते हैं?+
हां। हम हर send पर एक MNP lookup चलाते हैं ताकि recipient का मौजूदा ऑपरेटर पता लगाया जा सके, जिससे एक ported नंबर उसी carrier तक route हो जो असल में उसे रखता है। स्वतंत्र number intelligence के लिए, Lookup देखें।
क्या मैं highest-quality की जगह least-cost routing चुन सकता हूं?+
Routing हर destination के लिए cost और delivery quality में संतुलन बनाता है। one-time passcodes जैसा transactional traffic highest-quality path को तरजीह देता है; bulk traffic least cost की ओर झुक सकता है। यह चुनाव हर मैसेज पर होता है, उसी API call के पीछे।

ऐसा routing जिसके बारे में आपको कभी सोचना ही न पड़े।

Coverage, carrier connectivity, failover, और delivery receipts — ये Bird SMS API की एक क्षमता हैं, उस infrastructure पर जिसे हम एक दशक से चला रहे हैं।

एक चैनल से शुरुआत करें।
तैयार होने पर बाकी जोड़ें।

एक test API key तुरंत आपकी है। जब आप payment method जोड़ते हैं और sender verify करते हैं, तब production अनलॉक हो जाता है।

Claude Code, Cursor या Codex इस्तेमाल कर रहे हैं? एक setup prompt कॉपी करें और आपका agent आपके लिए Bird CLI और skills इंस्टॉल कर देगा। अपना चुनें:

Cursor