BroadNet
जर्नलइंजीनियरिंग
इंजीनियरिंग

SMS OTP ऑटोफ़िल: Android SMS Retriever, iOS one-time-code और WebOTP मैसेज फ़ॉर्मेट

यदि मैसेज को उसके लिए फ़ॉर्मेट किया गया है, तो Android, iOS और वेब पर SMS कोड अपने आप भर सकते हैं: Android के SMS Retriever के लिए 11-कैरेक्टर का ऐप हैश, iOS और Safari के लिए autocomplete="one-time-code", और WebOTP के लिए @your-domain #code की अंतिम लाइन। यहाँ प्रत्येक फ़ॉर्मेट और एक टेम्पलेट दिया गया है जो तीनों के लिए काम करता है।

8 मिनट की रीडिंग
इंजीनियरिंग · अंक 40
8 मिनट की रीडिंग

दि मैसेज को प्लेटफ़ॉर्म के लिए फ़ॉर्मेट किया गया है, तो SMS वन-टाइम कोड अपने आप भर सकते हैं। Android पर, SMS Retriever API उस मैसेज को पढ़ता है जो 140 बाइट्स से अधिक लंबा नहीं है, जिसमें कोड शामिल है और एक 11-कैरेक्टर हैश है जो आपके ऐप की पहचान करता है। iOS और Safari में, इनपुट को autocomplete="one-time-code" (नेटिव ऐप्स में textContentType oneTimeCode) के साथ मार्क करें और कीबोर्ड कोड का सुझाव देता है। वेब पर, WebOTP API उस मैसेज को पढ़ता है जिसकी अंतिम लाइन @your-domain #code है। एक टेम्पलेट तीनों को संतुष्ट कर सकता है।

मुख्य बातें

  • ऑटोफ़िल उस ऐप स्विचिंग को हटा देता है जिससे कोड प्राप्त करने और टाइप करने के बीच यूजर्स कम हो जाते हैं।
  • Android SMS Retriever: अधिकतम 140 बाइट्स का मैसेज, जिसमें कोड और आपका 11-कैरेक्टर ऐप हैश शामिल हो; किसी SMS अनुमति की आवश्यकता नहीं है।
  • Android SMS User Consent: कोई हैश नहीं; मैसेज में कम से कम एक नंबर के साथ 4–10 कैरेक्टर का अल्फ़ान्यूमेरिक कोड होना चाहिए; यूजर अनुमति देने के लिए टैप करता है।
  • iOS और Safari: इनपुट पर autocomplete="one-time-code"; डोमेन-बाउंड अंतिम लाइन Safari के सुझाव को सक्षम बनाती है।
  • WebOTP: अंतिम लाइन @domain #code, कोई स्कीम, पोर्ट या पाथ नहीं; Android और डेस्कटॉप पर Chrome में समर्थित है।

OTP ऑटोफ़िल क्यों महत्वपूर्ण है?

"कोड भेजा गया" और "कोड दर्ज किया गया" के बीच का हर चरण यूजर्स को खो देता है: मैसेजिंग ऐप पर स्विच करना, छह अंकों को याद रखना, फिर वापस स्विच करना। Autofill इसे एक टैप में बदल देता है। यह टाइपिंग की गलतियों को भी कम करता है और, डोमेन-बाउंड कोड के साथ, किसी यूजर को मिलती-जुलती साइट पर कोड दर्ज करने के लिए धोखा देना कठिन बना देता है। यह डिलीवरी को ठीक नहीं करता है: कोड को अभी भी जल्दी पहुँचना होगा, इसलिए autofill को एक तेज़ रूट और फ़ालबैक के साथ जोड़ें। OTP डिलीवरी के सर्वोत्तम तरीकों को देखें।

Android SMS Retriever API कैसे काम करता है?

SMS Retriever API आपके Android ऐप को SMS रीड परमिशन मांगे बिना वेरिफिकेशन मैसेज प्राप्त करने की अनुमति देता है। Google का डॉक्यूमेंटेशन मैसेज के लिए तीन नियम निर्धारित करता है:

  • 140 बाइट्स से अधिक लंबा न हो;
  • उस वन-टाइम कोड को शामिल करे जिसे ऐप आपके सर्वर पर वापस भेजता है;
  • एक 11-कैरेक्टर हैश स्ट्रिंग शामिल करे जो आपके ऐप की पहचान करती है।

हैश की गणना आपके ऐप के पैकेज नाम और उसके साइनिंग सर्टिफिकेट से की जाती है: सर्टिफिकेट के हेक्स (hex) रूप के साथ पैकेज नाम जोड़ें, SHA-256 लें, उसे base64-encode करें और पहले 11 कैरेक्टर रखें। डिबग और रिलीज़ बिल्ड आमतौर पर अलग-अलग कुंजियों (keys) के साथ साइन किए जाते हैं, इसलिए उनके हैश अलग होते हैं। जब आपका सर्वर मैसेज बनाता है, तो वह सही हैश जोड़ देता है।

जब आप मैसेज में ऐप हैश नहीं डाल सकते, उदाहरण के लिए क्योंकि टेम्पलेट अन्य चैनलों के साथ साझा किया गया है, तो Android का SMS User Consent API उपयोगकर्ता को एक प्रॉम्प्ट दिखाता है ताकि आपका ऐप एक मैसेज पढ़ सके। Google के अनुसार, मैसेज में कम से कम एक नंबर के साथ 4–10 कैरेक्टर वाला अल्फ़ान्यूमेरिक स्ट्रिंग होना चाहिए, और यदि आपने सेंडर निर्दिष्ट किया है, तो वह उसी सेंडर से आना चाहिए। API आपके शुरू करने के बाद लगभग पांच मिनट तक सुनता है और फिर टाइम आउट हो जाता है।

iOS पर OTP ऑटोफ़िल कैसे काम करता है?

iOS कीबोर्ड से सुरक्षा-कोड ऑटोफ़िल की सुविधा देता है। एक नेटिव ऐप में, टेक्स्ट फ़ील्ड के textContentType को oneTimeCode पर सेट करें; वेब पेज पर, इनपुट में autocomplete="one-time-code" जोड़ें। जब एक मैचिंग SMS आता है, तो कोड कीबोर्ड के ऊपर दिखाई देता है और उपयोगकर्ता उस पर टैप करता है। Safari WebOTP JavaScript API को लागू नहीं करता है, लेकिन Chrome के WebOTP दस्तावेज़ों में उल्लेख है कि autocomplete एनोटेशन के साथ, डिफ़ॉल्ट कीबोर्ड कोड का सुझाव देता है यदि SMS नीचे दिए गए डोमेन-बाउंड फ़ॉर्मेट का पालन करता है (iOS 14 और macOS Big Sur या उसके बाद के वर्ज़न)।

WebOTP मैसेज फ़ॉर्मेट क्या है?

WebOTP API एक वेब पेज को navigator.credentials.get({ otp: { transport: ['sms'] } }) के साथ कोड पढ़ने की अनुमति देता है। SMS की शुरुआत मानव-पठनीय टेक्स्ट से होनी चाहिए और इसका अंत इस फ़ॉर्मेट की अंतिम पंक्ति से होना अनिवार्य है:

snippet
Your BroadNet code is 482913.
@www.example.com #482913
  • अंतिम पंक्ति @ और उस पेज के डोमेन से शुरू होती है जो कोड मांग रहा है।
  • एक स्पेस, फिर # और कोड।
  • डोमेन में कोई स्कीम, पोर्ट या पाथ नहीं होना चाहिए, और इसके अंदर कोई स्पेस नहीं होना चाहिए।
  • मानव-पठनीय भाग में कोड भी शामिल होना चाहिए, ताकि जो लोग मैसेज पढ़ते हैं वे उसे देख सकें।

इनपुट में भी हमेशा autocomplete="one-time-code" रखें, ताकि WebOTP के बिना वाले ब्राउज़र भी कोड दिखा सकें।

क्या एक SMS टेम्पलेट हर प्लेटफ़ॉर्म पर काम कर सकता है?

हाँ, यदि यह Android बाइट सीमा के भीतर रहता है और लाइनें सही क्रम में हैं। एक कंबाइंड टेम्पलेट:

snippet
Your BroadNet code is 482913. Do not share it.
FA+9qCX9VSu
@www.example.com #482913
प्लेटफ़ॉर्मकोड कौन पढ़ता हैमैसेज के लिए क्या आवश्यक है
Android ऐपSMS Retriever APIकोड और आपका 11-कैरेक्टर वाला ऐप हैश; अधिकतम 140 बाइट्स
Android ऐप (बिना हैश के)SMS User Consent APIएक 4–10 कैरेक्टर वाला अल्फ़ान्यूमेरिक कोड जिसमें कम से कम एक नंबर हो
iOS ऐपSecurity-code ऑटोफ़िल (oneTimeCode)एक पहचानने योग्य कोड; डोमेन-बाउंड लाइन की सिफारिश की जाती है
Safari (iOS, macOS)autocomplete="one-time-code"अंतिम लाइन @domain #code
Chrome (Android, डेस्कटॉप)WebOTP APIअंतिम लाइन @domain #code

दिखाया गया हैश एक प्लेसहोल्डर है: अपने स्वयं के ऐप के मान का उपयोग करें। टेम्पलेट को GSM-7 कैरेक्टर सेट में रखें ताकि यह एक सेगमेंट बना रहे; एक इमोजी या एक्सेंटेड अक्षर पूरे मैसेज को Unicode में बदल देता है, जिससे जगह आधी रह जाती है और 140-बाइट का बजट बिगड़ सकता है। SMS एन्कोडिंग और सेगमेंटेशन देखें।

आप BroadNet के साथ ये मैसेज कैसे भेजते हैं?

अपने सर्वर पर मैसेज बनाएं और इसे OTP API या SMS API के माध्यम से भेजें; न्यूलाइन्स मैसेज टेक्स्ट का हिस्सा हैं। जब कोई कोड नहीं आता है, तो BroadNet का OTP प्रोडक्ट SMS, WhatsApp, वॉइस और Flash Call पर फ़ालबैक करता है, और MyOTP.App एक ही अकाउंट से SMS, WhatsApp या Telegram द्वारा कोड भेजता है। पूरे फ्लो के लिए, OTP फ्लो कैसे बनाएं और हमारे मल्टीचैनल OTP वेरिफिकेशन गाइड पढ़ें।

अक्सर पूछे जाने वाले प्रश्न

मेरा Android ऐप OTP SMS को क्यों नहीं पढ़ रहा है?

आमतौर पर मैसेज में ऐप हैश बिल्ड से मेल नहीं खाता (debug और release कीज़ अलग होती हैं), मैसेज 140 बाइट से लंबा है, या मैसेज आने के बाद लिसनर शुरू हुआ है।

क्या मुझे Android पर कोड ऑटोफ़िल करने के लिए SMS परमिशन की आवश्यकता है?

नहीं। SMS Retriever API और SMS User Consent API दोनों SMS रीड परमिशन के बिना काम करते हैं।

मैं iOS पर OTP ऑटोफ़िल कैसे सक्षम करूँ?

एक नेटिव ऐप में textContentType को oneTimeCode पर सेट करें, या वेब पेज पर इनपुट में autocomplete="one-time-code" जोड़ें।

WebOTP SMS फॉर्मेट क्या है?

पहले पढ़ने योग्य टेक्स्ट, फिर @ के साथ आखिरी लाइन जिसमें आपका डोमेन हो, एक स्पेस, # और कोड हो, उदाहरण के लिए @www.example.com #482913।

क्या WebOTP Safari में काम करता है?

Safari WebOTP JavaScript API को सपोर्ट नहीं करता है, लेकिन autocomplete="one-time-code" के साथ इसका कीबोर्ड डोमेन-बाउंड फॉर्मेट में मैसेज से कोड सुझाता है।

क्या मैं Android, iOS और वेब के लिए एक ही टेम्पलेट का उपयोग कर सकता हूँ?

हाँ: टेक्स्ट में कोड, अपनी अलग लाइन पर ऐप हैश, और अंत में डोमेन-बाउंड लाइन, ये सभी 140 bytes के भीतर होने चाहिए।

प्लेटफ़ॉर्म नियम 28 सितंबर 2026 को Google के SMS Retriever और SMS User Consent डॉक्यूमेंटेशन (developers.google.com) और Chrome के WebOTP डॉक्यूमेंटेशन (developer.chrome.com) में पढ़े गए। हमारे संपादकीय मानक देखें।

क्या यह उपयोगी था?

हम सामग्री कैसे लिखते और जाँचते हैं

द्वारा लिखित

BroadNet संपादकीय टीम

एडिटोरियल टीम BroadNet ब्लॉग प्रकाशित करती है। लेख BroadNet की रेगुलेटरी अफेयर्स, प्रोडक्ट, इंजीनियरिंग, इंडस्ट्री रिसर्च और ऑपरेटर सॉल्यूशंस टीमों के साथ मिलकर लिखे जाते हैं, और हमारे एडिटोरियल मानकों के तहत उनकी समीक्षा की जाती है।

पढ़ना जारी रखें

जर्नल से तीन और लेख।

सभी लेख देखें
क
इंजीनियरिंग

कोड से SMS कैसे भेजें: Python, PHP, Node.js, Java, Go और C# के साथ एक REST कॉल

कोड से SMS भेजना एक प्रमाणित HTTPS POST है: एक Bearer टोकन, सेंडर ID, डेस्टिनेशन नंबर, मैसेज और मैसेज टाइप के साथ एक JSON बॉडी, और एक मैसेज ID वापस। यहाँ Python, PHP, Node.js, Java, Go और C# में वही रिक्वेस्ट, साथ ही एरर हैंडलिंग और प्रोडक्शन सलाह दी गई है।

BroadNet संपादकीय टीम
9m
क
इंजीनियरिंग

कोड भेजने से पहले: MobileValidate और BroadNet के साथ OTP के लिए एक प्री-सेंड चेक रूटीन

प्री-सेंड चेक, यूजर द्वारा फोन नंबर टाइप करने और आपके द्वारा कोड भेजने के बीच किया जाने वाला एक लुकअप है। यह उन नंबरों की पहचान करता है जो OTP प्राप्त नहीं कर सकते, अतिरिक्त सुरक्षा के लिए जोखिम भरे पैटर्न को फ्लैग करता है और चैनल का चयन करता है। यहाँ MobileValidate और BroadNet के साथ रूटीन दिया गया है, जिसमें हर परिणाम के लिए एक निर्णय तालिका (decision table) शामिल है।

BroadNet संपादकीय टीम
9m
ई
इंजीनियरिंग

ईमेल-टू-SMS: ईमेल-टू-SMS गेटवे कैसे काम करता है, इसका उपयोग कब करें और इसे सुरक्षित कैसे रखें

एक ईमेल-टू-SMS गेटवे फोन नंबर को संबोधित किए गए ईमेल को टेक्स्ट मैसेज में बदल देता है, जिससे मॉनिटरिंग टूल्स, हेल्पडेस्क और पुराने सिस्टम जो केवल ईमेल भेज सकते हैं, SMS के माध्यम से लोगों तक पहुँच सकते हैं। यहाँ बताया गया है कि यह कैसे काम करता है, यह API से बेहतर कब है, और स्पूफ किए गए मेल के खिलाफ इसे सुरक्षित कैसे बनाया जाए।

BroadNet संपादकीय टीम
7m
जर्नल, ईमेल द्वारा

महीने में एक लेख। और कुछ नहीं।

सब्सक्राइब करें और हम अगला हिस्सा — इंजीनियरिंग, रेगुलेशन, या इंडस्ट्री — जैसे ही वह जारी होगा, आपको भेज देंगे। कोई ड्रिप कैंपेन नहीं, कोई प्रोडक्ट पिच नहीं, और न ही किसी तीसरे पक्ष के साथ जानकारी साझा की जाएगी। एक क्लिक में अनसब्सक्राइब करें।

हम महीने में एक ईमेल भेजते हैं। किसी भी समय अनसब्सक्राइब करें। हमारी प्राइवेसी पॉलिसी.

आपको क्या मिलेगा
  • लंबे लेख, लिंक बेट नहीं
    एक ही विषय पर छह से ग्यारह मिनट का केंद्रित लेखन।
  • ऑपरेटरों द्वारा लिखित
    इंजीनियर्स, रेगुलेटरी लीड्स और इन-हाउस प्रोडक्ट राइटिंग।
  • क्षेत्र-आधारित
    रेगुलेटर्स, ऑपरेटर्स और चैनल मिक्स पर MENA-आधारित दृष्टिकोण।
  • महीने में एक बार
    कोई ड्रिप कैंपेन नहीं। जब कुछ साझा करने लायक हो, तब एक निबंध।
पढ़ना बंद करें। काम शुरू करें।

हम जो कुछ भी लिखते हैं, उसका अधिकांश हिस्सा हमने प्रोडक्शन के दौरान सीखा है।

अगर इस लेख ने आपको सहमत किया है, तो हमें शायद बात करनी चाहिए। अपना यूज़ केस, वॉल्यूम और मार्केट लेकर आएं — हम रूटिंग, कीमतों और एक रेफरेंस कस्टमर के साथ वापस आएंगे जिसे आप कॉल कर सकते हैं।

$ curl -X POST https://api.broadnet.me/sms/sendSms