उन डेवलपर्स के लिए SMS API जिन्हें वाकई शिप करना है।
150+ देश, 240 direct-to-carrier कनेक्शन, एक auth मॉडल। दुनिया के लगभग 40% कमर्शियल SMS वॉल्यूम Bird नेटवर्क से गुज़रता है — हम एक दशक से यह कर रहे हैं। 95% संदेश 2.5 सेकंड से कम में डिलीवर होते हैं।
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
npm install से पहले send तक 5 मिनट
उसी भाषा से SMS भेजें जो आप पहले से इस्तेमाल करते हैं।
हर प्रमुख runtime में SDKs। पहला send एक मंज़ूरशुदा टेस्ट रिसीपिएंट (+15005550006) को जाता है, ताकि नंबर प्रोविज़न करने से पहले ही आप एक CI चेक शिप कर सकें।
import { BirdClient } from "@messagebird/sdk";
const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });
const { data, error } = await bird.sms.send({
to: "+15005550006",
text: "Hello from Node.",
category: "transactional",
}).safe();दस चीज़ें जो हम फ़ाइल करते हैं, कॉन्फ़िगर करते हैं, और रूट करते हैं ताकि आपको न करना पड़े।
रूटिंग, अनुपालन, और inbound प्रिमिटिव्स — नामित और ऑडिट-योग्य।
- 01
150+ देश कवरेज
एक एकीकृत API, एक बिलिंग रिश्ता — पीछा करने के लिए कोई per-region कॉन्ट्रैक्ट नहीं।
- 02
240 direct-to-carrier लिंक
बीच में कोई aggregator नहीं जो मार्जिन खाए या हमारे और MNO के बीच रसीदें गिराए।
- 03
Operator-ग्रेड रूटिंग
जब कोई carrier पथ खराब होता है तो रीयल-टाइम रूट री-सिलेक्शन; failover आपके ध्यान में आने से पहले हो जाता है।
- 04
दो-तरफ़ा SMS inbound
Inbound संदेश आपके प्रोविज़न किए नंबर पर HMAC-signed webhooks के रूप में आते हैं।
- 05
हर तरह के नंबर
Long codes, short codes, toll-free, और alphanumeric sender IDs — एक ही endpoint से प्रोविज़न किए गए।
- 06
dashboard में A2P 10DLC
Brand और campaign रजिस्ट्रेशन console में संभाला जाता है; स्टेटस API से क्वेरी किया जा सकता है।
- 07
send से पहले MNP lookup
हम हर send पर रिसीपिएंट का मौजूदा carrier हल कर लेते हैं ताकि रूट हमेशा सही हो।
- 08
STOP / HELP अनुपालन
Opt-out कीवर्ड हर रिसीपिएंट के लिए अपने आप माने जाते हैं; suppression list क्वेरी-योग्य है।
- 09
webhooks के रूप में डिलीवरी रसीदें
Every state transition fires a signed event — sms.accepted through sms.delivered or sms.failed.
- 10
Segment और Unicode सुरक्षा
SDK send से पहले segments गिनता है और उन encoding बदलावों पर चेतावनी देता है जो किसी संदेश को तोड़ देंगे।
SMS प्लेटफ़ॉर्म एक्सप्लोर करें
हर क्षमता गहराई से। एक API, keys का एक ही सेट।
SMS एक बड़े टूलकिट का एक चैनल है। Verifications के ज़रिए one-time passcodes से यूज़र्स को verify करें, Lookup के साथ send करने से पहले किसी नंबर का line type और carrier जाँचें, या RCS के ज़रिए उसी handset तक रिच कार्ड्स पहुँचाएँ।
हम SMS क्यों बनाते हैं
SMS एक झमेले वाला चैनल है। हमने वह API बनाई जो इसे उबाऊ बना देती है।
हर देश के अलग नियम हैं, हर carrier के अलग रूट हैं, हर क्षेत्र की अलग sender-ID परंपराएँ हैं। हम दस साल से SMS चला रहे हैं, इसलिए वह ज्ञान एक endpoint, एक auth मॉडल, एक webhook कॉन्ट्रैक्ट के पीछे रहता है। ऊपर चाहे जो भी बदले, bird.sms.send के ख़िलाफ़ आपने जो कॉल लिखी है वह नहीं बदलती।
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..."
हर state बदलाव एक webhook है।
HMAC-signed पेलोड, replay-protected, idempotent। हर Bird चैनल पर वही envelope — एक सीख लो, तो सब सीख लिए।
{
"type": "sms.delivered",
"timestamp": "2026-05-19T15:42:01.221Z",
"data": {
"sms_id": "sms_4kT01Lq2m",
"workspace_id": "ws_8KQ2",
"to": "+15005550006",
"from": "Bird",
"tags": [{ "name": "campaign", "value": "otp" }],
"metadata": { "user_id": "usr_12345" },
"carrier": "Verizon",
"mcc_mnc": "311480"
}
}
Retry शेड्यूल: 5s, 30s, 5m, 30m, 2h, 6h, 12h। आख़िरी प्रयास के बाद dead-letter; हर dead-lettered event dashboard या API से replay किया जा सकता है।
sms.acceptedAPI द्वारा स्वीकार किया गया और carrier हैंड-ऑफ़ के लिए queue किया गया।sms.sentगंतव्य carrier के SMSC को सबमिट किया गया।sms.deliveredcarrier से डिलीवरी रसीद मिली (DLR)।sms.failedस्थायी विफलता — carrier अस्वीकृति, अमान्य नंबर, suppression हिट।sms.receivedआपके किसी प्रोविज़न किए नंबर पर inbound संदेश।sms.opted_outरिसीपिएंट ने STOP कीवर्ड भेजा; इस नंबर पर भविष्य के sends को suppress किया जाएगा।
अगर आपने SMS इंटीग्रेट किया है, तो आपने WhatsApp इंटीग्रेट कर लिया है।
वही auth मॉडल, वही idempotency कॉन्ट्रैक्ट, वही error envelope, वही webhook आकार। फ़र्क़ इसमें है कि हर एक क्या करता है, इसमें नहीं कि आप उसे कैसे कॉल करते हैं।
SMS
एक verb। सादा टेक्स्ट। numeric to/from। वही आकार जिसकी हर डेवलपर को पहले से आदत है।
await bird.sms.send({
to: "+15005550006",
text: `Your code is ${code}.`,
category: "authentication",
});
वही verb। अलग पेलोड — templated, opted-in, उस चैनल में जिसे दो अरब लोग रोज़ खोलते हैं।
await bird.whatsapp.send({
from: "+15551234567",
to: "+15005550006",
template: { name: "otp", variables: { code } },
});
SMS API FAQ
मैं अपना पहला SMS कितनी जल्दी भेज सकता हूँ?+
Bird के SMS API में क्या-क्या शामिल है?+
मैं किन देशों में भेज सकता हूँ?+
क्या आप STOP और HELP कीवर्ड संभालते हैं?+
क्या मुझे A2P 10DLC के लिए रजिस्टर करना होगा?+
मूल्य निर्धारण
प्रति segment एक सेंट से कम से लेकर कुछ सेंट तक
उपयोग और गंतव्य देश के आधार पर मूल्य तय होता है। पूरा प्रति-देश ग्रिड pricing पेज पर है, और वॉल्यूम डिस्काउंट account स्तर पर अपने आप लागू होते हैं। कोई प्लेटफ़ॉर्म फ़ीस नहीं, कोई seat फ़ीस नहीं, कोई tier फ़ीचर जो सालाना कमिटमेंट के पीछे बंद हो, नहीं।