ऑर्डर अलर्ट, रिमाइंडर और सूचनाएँ SMS के ज़रिए पहुँचाएँ।
पंजीकृत फ़ोन नंबर या ब्रांड प्रेषक से शिपिंग अपडेट, बुकिंग रिमाइंडर और खाता अलर्ट के साथ ग्राहकों तक उनके फ़ोन पर पहुँचें। Bird स्वीकृति पर कैरेक्टर एन्कोडिंग और सेगमेंट गिनती लौटाता है, जब आपका ऐप टाइमआउट हुए अनुरोध के लिए फिर से प्रयास करता है तो डुप्लिकेट संदेश रोकता है, और कैरियर डिलीवरी अपडेट आपके वेबहुक पर भेजता है।
आपका ऑर्डर #4821 लेने के लिए तैयार है।
संदेश
विवरण
डिलीवरी कैरियर की रसीद है। इससे यह साबित नहीं होता कि किसी ने संदेश पढ़ा।
आपका ऑर्डर #4821 लेने के लिए तैयार है।
संदेश
विवरण
डिलीवरी कैरियर की रसीद है। इससे यह साबित नहीं होता कि किसी ने संदेश पढ़ा।
आपका ऑर्डर #4821 लेने के लिए तैयार है।
संदेश
विवरण
डिलीवरी कैरियर की रसीद है। इससे यह साबित नहीं होता कि किसी ने संदेश पढ़ा।
मिनटों में अपना पहला संदेश भेजें।
असली ग्राहकों को संदेश भेजने से पहले सुरक्षित रूप से परीक्षण करें।
Bird SMS API के साथ, एक ही कॉल आपके बैकएंड से ऑर्डर पुष्टि, डिलीवरी अपडेट या अपॉइंटमेंट अलर्ट भेजती है। लाइव ग्राहकों को संदेश भेजने से पहले, किसी सक्रिय US प्रेषक से परीक्षण संदेश US सैंडबॉक्स नंबर +15005550006 पर भेजें, ताकि आप किसी असली हैंडसेट पर संदेश पहुँचाए बिना अपने इंटीग्रेशन और वेबहुक हैंडलिंग की जाँच कर सकें।
// Install the SDK
// npm install @messagebird/sdk
const msg = await bird.sms.send({
from: "+15557654321",
to: "+14155550100",
text: "Your verification code is 123456.",
category: "authentication",
});
console.log(msg.id, msg.status);साइन-इन या चेकआउट पर किसी उपयोगकर्ता का सत्यापन करना है? वन-टाइम सत्यापन कोड खुद बनाने और सहेजने के बजाय, सत्यापन कोड अपने-आप जारी करने, समाप्त करने और जाँचने के लिए Bird Verify का उपयोग करें।
प्रोडक्शन में SMS डिलीवरी को पूर्वानुमेय रखें।
अप्रत्याशित सेगमेंट शुल्क, नेटवर्क पर फिर से प्रयास से डुप्लिकेट संदेश और कैरियर की चुपचाप विफलताओं से बचें।
- 01
प्रतिक्रिया में ही सेगमेंट गिनती देखें।
हर स्वीकृत संदेश लागू कैरेक्टर एन्कोडिंग और सेगमेंट गिनती लौटाता है, और नया टेम्पलेट जारी करने से पहले आप ड्राफ़्ट टेक्स्ट को सेगमेंट कैलकुलेटर से जाँच सकते हैं।
- 02
GSM-7 और यूनिकोड को बिना अनुमान के संभालें।
सामान्य GSM-7 संदेश में एक सेगमेंट में 160 कैरेक्टर आते हैं, और इमोजी या गैर-लैटिन लिपियों वाले संदेश अपने-आप 70-यूनिट यूनिकोड पर चले जाते हैं। लंबे संदेश साफ़ तरीके से बँटते हैं और ग्राहक के फ़ोन पर एक ही संदेश के रूप में जुड़ जाते हैं।
- 03
एक कॉल में 100 तक व्यक्तिगत संदेश भेजें।
अपॉइंटमेंट रिमाइंडर या शिफ़्ट अलर्ट की कतार एक ही बैच अनुरोध में भेजें। Bird बैच को पहले ही जाँचता है, ताकि गलत इनपुट तुरंत विफल हों, फिर हर प्राप्तकर्ता के लिए कैरियर डिलीवरी अलग से ट्रैक करता है।
- 04
दोहरे संदेश भेजे बिना टाइमआउट हुए अनुरोधों के लिए फिर से प्रयास करें।
जब आपका वर्कर संदेश भेजे, तो एक आइडेम्पोटेंसी कुंजी जोड़ें। अगर नेटवर्क टाइमआउट के कारण उसी कुंजी और पेलोड के साथ फिर से प्रयास होता है, तो Bird डुप्लिकेट संदेश कतार में डालने के बजाय मूल प्रतिक्रिया फिर से लौटाता है।
- 05
जानें कि कैरियर कब संदेश पहुँचाता है या अस्वीकार करता है।
जैसे-जैसे संदेश स्वीकृत से भेजा गया, डिलीवर हुआ या विफल स्थिति में जाता है, आपको हस्ताक्षरित वेबहुक मिलते हैं, ताकि आपका ऐप ऑर्डर स्थिति अपडेट कर सके या नंबर पहुँच से बाहर होने पर किसी दूसरे चैनल पर जा सके।
कोड की कुछ पंक्तियों में Twilio से माइग्रेट करें।
अपनी सूचना सेवा को फिर से डिज़ाइन किए बिना अपने मौजूदा प्रेषक नंबर, प्राप्तकर्ता फ़ील्ड और वेबहुक हैंडलर Bird से जोड़ें। लाइव ट्रैफ़िक ले जाने से पहले अपनी ऑप्ट-आउट सूची सिंक करें और सैंडबॉक्स नंबर से डिलीवरी की जाँच करें।
import twilio from "twilio";
const client = twilio(accountSid, authToken);
await client.messages.create({
from: "+14155550172",
to: "+15005550006",
body: "Your code is 123456.",
});import { BirdClient } from "@messagebird/sdk";
const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });
await bird.sms.send({
from: "+14155550172",
to: "+15005550006",
text: "Your code is 123456.",
category: "authentication",
});मल्टी-सेगमेंट आश्चर्यों को बिल बढ़ाने से पहले पकड़ें।
ग्राहक के नाम में एक भी स्मार्ट कोट, इमोजी या एक्सेंट वाला कैरेक्टर संदेश को 160-कैरेक्टर GSM-7 एन्कोडिंग से 70-यूनिट यूनिकोड पर बदल सकता है, जिससे एक संदेश कई बिल योग्य सेगमेंट में बँट जाता है। Bird भेजने की प्रतिक्रिया में कैरेक्टर गिनती, एन्कोडिंग और कुल सेगमेंट लौटाता है, ताकि आपकी टीम महँगे टेम्पलेट जल्दी पहचान सके।
const { data, error } = await bird.sms.send({
from: "Bird",
to: "+31612345678",
text: "Your code is 123456.",
category: "authentication",
}).safe();
if (error) throw error;
console.log(data.segments);
// → { characters: 20, count: 1, encoding: "GSM_7BIT" }
एक ही अनुरोध में 100 तक व्यक्तिगत रिमाइंडर भेजें।
जब कोई शेड्यूल किया गया जॉब कल के अपॉइंटमेंट रिमाइंडर या डिलीवरी समय के अपडेट भेजता है, तो अलग-अलग अनुरोधों का लूप चलाने के बजाय एक API कॉल में 100 तक संदेशों का बैच बनाएँ। हर प्राप्तकर्ता को अपना व्यक्तिगत संदेश और अलग डिलीवरी स्थिति मिलती है, और बैच के कतार में जाने से पहले ही जाँच गलत इनपुट पकड़ लेती है।
const { data: batch, error } = await bird.sms
.sendBatch(
users.map((u) => ({
from: "Bird",
to: u.phone,
text: `Hi ${u.name}, your appointment is tomorrow at ${u.time}.`,
})),
)
.safe();
if (error) throw error;
console.log(`queued ${batch.data.length} messages`);कैरियर डिलीवरी ट्रैक करें और विफल संदेशों को रियल टाइम में संभालें।
चूँकि आपकी भेजने की कॉल सफल होने के बाद कैरियर को संदेश असिंक्रोनस रूप से सौंपा जाता है, इसलिए संदेश के आगे बढ़ने पर Bird हस्ताक्षरित वेबहुक इवेंट भेजता है। संदेश हैंडसेट तक पहुँचने पर अपना डेटाबेस अपडेट करें, या डिलीवरी विफल होने पर ईमेल विकल्प चलाएँ और अमान्य नंबरों को चिह्नित करें।
import { bird } from "@/lib/bird";
export async function POST(req: Request) {
const event = bird.webhooks.unwrap(
await req.text(),
Object.fromEntries(req.headers),
);
switch (event.type) {
case "sms.delivered":
await markDelivered(event.data.sms_id);
break;
case "sms.failed":
await flag(event.data.to, event.data.error?.description);
break;
}
return new Response(null, { status: 204 });
}हर failed इवेंट में विफलता का सटीक कारण होता है, ताकि आप हैंडसेट की अस्थायी समस्याओं को अमान्य नंबरों से अलग कर सकें। STOP जैसे ऑप्ट-आउट जवाब आगे के मार्केटिंग संदेशों को अपने-आप सप्रेस करते हैं, जबकि सामान्य डिलीवरी विफलताएँ प्राप्तकर्ता की ऑप्ट-इन स्थिति नहीं बदलतीं।
sms.acceptedBird ने आपका अनुरोध स्वीकार किया और संदेश को कैरियर रूटिंग के लिए कतार में डाला।sms.sentBird ने संदेश गंतव्य मोबाइल कैरियर को सौंप दिया।sms.deliveredगंतव्य कैरियर ने प्राप्तकर्ता के हैंडसेट पर डिलीवरी की पुष्टि की।sms.failedसंदेश डिलीवर नहीं हो सका; त्रुटि का कारण शामिल है, ताकि आपका ऐप सपोर्ट को सूचित कर सके या दूसरा चैनल आज़मा सके।
डेवलपर गाइड में और गहराई से जानें।
हस्ताक्षरित वेबहुक सत्यापित करें, आइडेम्पोटेंसी कुंजियों से अपने भेजने वाले वर्कर को डुप्लिकेट संदेशों से बचाएँ, और अमान्य नंबरों या अक्षम गंतव्यों को अपने-आप संभालने के लिए त्रुटि संदर्भ का उपयोग करें।
बनाने से पहले के सवाल
क्या सेंडर मैं चुनता/चुनती हूँ?
फिर से प्रयास करने पर डुप्लिकेट टेक्स्ट से कैसे बचा जाता है?
क्या स्वीकृत का मतलब डिलीवर हुआ है?
क्या बैच और ब्रॉडकास्ट एक ही चीज़ है?
बाकी SMS प्लेटफ़ॉर्म
एक ही वर्कस्पेस से प्रेषक नंबर प्रोविज़न करें, ग्राहकों के जवाब पाएँ और कैरियर डिलीवरी की निगरानी करें।
बिना नियंत्रण खोए
स्केल करें।
टीमों को वर्कस्पेस में व्यवस्थित करें, API एक्सेस नियंत्रित करें, और ऑडिट लॉग से बदलावों को ट्रेस करें।
संगठन
Harbor
पहुँच अपने वर्कस्पेस तक सीमित रहती है।
प्रोडक्शन/API कुंजियाँ
डिलीवरी एजेंट
सक्रियAlex Lee
एडमिन
आज · UTC
ऑडिट लॉग
संगठन
Harbor
पहुँच अपने वर्कस्पेस तक सीमित रहती है।
प्रोडक्शन/API कुंजियाँ
डिलीवरी एजेंट
सक्रियAlex Lee
एडमिन
आज · UTC
ऑडिट लॉग
संगठन
Harbor
पहुँच अपने वर्कस्पेस तक सीमित रहती है।
प्रोडक्शन/API कुंजियाँ
डिलीवरी एजेंट
सक्रियAlex Lee
एडमिन
आज · UTC
ऑडिट लॉग