Use case
WhatsApp OTP authentication template से लॉगिन और verification कोड भेजें
WhatsApp पर one-time passcode भेजने के लिए सब कुछ: Meta का authentication template क्या देता है, Broadchat से अपने backend से इसे कैसे भेजें, और OTP abuse कैसे रोकें।
लेखक Broadchat teamप्रकाशित 9 मिनट
How the flow works
यूज़र कोड माँगता है
आपकी app या वेबसाइट पर यूज़र अपना WhatsApp नंबर डालकर Send code दबाता है। आपका backend कुछ भी करने से पहले उस नंबर, डिवाइस और IP की rate limit जाँचता है।
आपका backend कोड बनाता और सेव करता है
आपका सर्वर एक रैंडम 6-अंकों का कोड बनाता है, सिर्फ़ उसका hash एक expiry समय (जैसे 10 मिनट) के साथ सेव करता है, और असली कोड कभी log नहीं करता।
Authentication template भेजा जाता है
आपका backend Broadchat channel API को channel access token के साथ कॉल करता है, आपके मंज़ूर authentication template को कोड को parameter बनाकर और copy-code या one-tap बटन के लिए वही कोड देकर भेजता है।
यूज़र कोड डालता है या autofill होता है
यूज़र Copy code दबाकर कोड पेस्ट करता है, या, Android पर one-tap autofill सेट होने पर, कोड अपने आप भर जाता है। आपका backend इसे सेव किए hash से मिलाता है और expiry जाँचता है।
Delivery फ़ेल हो तो यूज़र दूसरा रास्ता चुने
अगर WhatsApp send फ़ेल हो जाए या आपके timeout के अंदर कोई कोड न डाला जाए, तो यूज़र को cooldown के बाद दोबारा कोशिश या SMS/ईमेल जैसा दूसरा चैनल दें। कौन सा fallback देना है, यह आपका अपना प्रोडक्ट फ़ैसला है।
Business: 482913 आपका वेरिफ़िकेशन कोड है। अपनी सुरक्षा के लिए यह कोड किसी को न बताएँ। यह कोड 10 मिनट में एक्सपायर हो जाएगा। [Copy code]
Customer: मैंने तो यह माँगा ही नहीं
Business: बताने के लिए शुक्रिया। कुछ करने की ज़रूरत नहीं: कोड अपने आप एक्सपायर हो जाएगा और जब तक आप इसे किसी को नहीं बताते, आपका अकाउंट सुरक्षित रहेगा। अगर आपको ऐसे कोड लगातार मिलते रहें, तो HELP लिखें, हमारी टीम आपके अकाउंट की जाँच करेगी।
Customer: HELP
Business: मैंने यह हमारी सिक्योरिटी टीम को भेज दिया है। कोई इस चैट में थोड़ी देर में जवाब देगा। हम इस चैट में आपसे कभी कोड, PIN या पासवर्ड नहीं माँगेंगे।
Customer: ठीक है, शुक्रिया
WhatsApp OTP authentication कैसे काम करता है
WhatsApp OTP authentication का मतलब है लॉगिन, साइन-अप या किसी संवेदनशील एक्शन के लिए one-time passcode SMS के बदले Meta की authentication template कैटेगरी से भेजना। आपका backend कोड बनाता है, उसे मंज़ूर authentication message template में भेजता है, और यूज़र उसे कॉपी करता है, या Android पर अपने आप भर जाता है। WhatsApp मैसेज आपके वेरिफ़ाइड बिज़नेस नाम से आता है, जो यूज़र का भरोसा बढ़ाता है।
यह पेज उन डेवलपर और प्रोडक्ट टीम के लिए है जिनके पास पहले से लॉगिन या चेकआउट फ़्लो है। अगर दिन में बस कुछ ही कोड भेजने हैं, तो कोई भी चलता हुआ चैनल काफ़ी है; WhatsApp अपनी जगह तब बनाता है जब आप उन यूज़र को बड़े स्केल पर कोड भेजते हैं जो WhatsApp पर रहते हैं।
Authentication template में Meta क्या इजाज़त देता है
Authentication template जानबूझकर सख़्त रखे गए हैं, इसीलिए ये जल्दी मंज़ूर होते हैं और अलग कैटेगरी माने जाते हैं:
- Fixed body: टेक्स्ट Meta का पहले से तय किया हुआ है, जैसे 482913 आपका वेरिफ़िकेशन कोड है। आप सुरक्षा डिस्क्लेमर जोड़ सकते हैं अपनी सुरक्षा के लिए यह कोड किसी को न बताएँ और expiry लाइन जैसे यह कोड 10 मिनट में एक्सपायर हो जाएगा।
- कोड के लिए एक बटन: Copy code बटन, या one-tap autofill (Android, आपकी app का package name और signature hash चाहिए), जो autofill न हो पाने पर copy code पर आ जाता है।
- Body में कोई URL, media या emoji नहीं, और किसी भी तरह का प्रचार नहीं।
- कैटेगरी: authentication। Meta के पास एक authentication-international कैटेगरी भी है जो बिज़नेस के देश के बाहर कुछ प्राप्तकर्ताओं पर लागू होती है, भारत सहित, और इसकी क़ीमत ज़्यादा है। अपने यूज़र बेस का देश के हिसाब से बँटवारा WhatsApp API pricing explainer पर देखें।
बनाने लायक़ template
| Template का नाम | कैटेगरी | नमूना |
|---|---|---|
login_otp | Authentication | {{1}} आपका वेरिफ़िकेशन कोड है। अपनी सुरक्षा के लिए यह कोड किसी को न बताएँ। 10 मिनट में एक्सपायर होगा। Copy code बटन। (482913) |
signup_otp_onetap | Authentication | वही fixed body, आपकी Android app के लिए one-tap autofill बटन के साथ; न हो पाए तो copy code पर आ जाता है। (731045) |
payment_confirm_otp | Authentication | सुरक्षा डिस्क्लेमर वाला fixed body, 5 मिनट की expiry, किसी बड़े बदलाव से पहले इस्तेमाल होता है। (209876) |
new_device_login_alert | Utility | नमस्ते {{1}}, आपका अकाउंट एक नए डिवाइस ({{2}}) पर {{3}} को लॉगिन हुआ। यह आप नहीं थे? HELP लिखें। (अर्जुन; Windows पर Chrome; 14 अक्टूबर, रात 9:42) |
आख़िरी वाला OTP नहीं है: login alert यूज़र के अपने अकाउंट के बारे में एक utility मैसेज है। इसे कोड वाले template से अलग रखें।
Broadchat में इसे कैसे बनाएँ
- Channels → All Channels में अपना नंबर जोड़ें और उस channel के messaging wallet में बैलेंस डालें।
- CRM → WhatsApp Templates में authentication template बनाएँ, authentication टाइप और copy-code या one-tap बटन चुनकर। रिव्यू में 24 घंटे तक लग सकते हैं।
- Channel से channel access token कॉपी करें। आपका backend Graph-compatible proxy को
/api/meta/{version}/{phone-number-id}/messagesपर template भेजता है, Meta के Cloud API जैसी ही request body के साथ, कोड को body parameter और बटन parameter दोनों में देकर। Sends channel wallet से बिल होते हैं। - Channel के webhook सब्सक्राइब करें ताकि sent, delivered और failed status मिलें, और फ़ेलियर तुरंत अपने लॉगिन स्क्रीन पर दिखाएँ।
- Chatbots → Chatbots में एक छोटा flow बनाएँ: HELP पर Match Keyword ट्रिगर जो सुरक्षा वाला जवाब भेजे और अपनी सिक्योरिटी टीम के लिए Assign to Agent इस्तेमाल करे।
Abuse से बचाव और फ़ेलियर
- OTP pumping: हमलावर आपका बिल बढ़ाने के लिए हज़ारों कोड ट्रिगर करते हैं। प्रति नंबर, डिवाइस और IP rate-limit लगाएँ; दो रिक्वेस्ट के बाद captcha जोड़ें; जो नंबर रेंज सर्विस नहीं करते उन्हें ब्लॉक करें।
- कम wallet बैलेंस: channel wallet ख़त्म होने पर sends फ़ेल होते हैं। बैलेंस अलर्ट सेट करें और busy समय से पहले टॉप-अप करें।
- नंबर WhatsApp पर नहीं है: send फ़ेल होता है। webhook से फ़ेलियर पकड़ें और यूज़र को इंतज़ार कराने के बजाय तुरंत SMS या ईमेल ऑफ़र करें।
- Log में कोड: असली कोड कभी सेव या log न करें, और WhatsApp चैट में कभी कोड, PIN या पासवर्ड न माँगें।
उदाहरण से हिसाब (सिर्फ़ समझाने के लिए)
सिर्फ़ उदाहरण के लिए: एक app महीने में 20,000 लॉगिन वेरिफ़ाई करता है। अगर इनमें से 1,000 यूज़र SMS कोड देर से या बिल्कुल न आने की वजह से छोड़ देते हैं, और WhatsApp delivery से इनमें से 300 साइन-इन पूरा कर लेते हैं, तो यह महीने में 300 ज़्यादा active यूज़र है। किसी active यूज़र की अपनी क़ीमत तय करें, फिर Meta के authentication चार्ज (authentication-international प्राप्तकर्ताओं के लिए ज़्यादा) और अपने platform सब्सक्रिप्शन को घटाएँ। पूरी तरह शिफ़्ट करने से पहले एक महीना WhatsApp और SMS दोनों साथ चलाकर देखें।
Platform की बुनियादी जानकारी WhatsApp Business API क्या है में है। क्लाइंट app के लिए लॉगिन फ़्लो बनाने वाली एजेंसियाँ इसे अपने ब्रांड नाम से partner program के ज़रिए चला सकती हैं।
Broadchat modules used
- Authentication message template
- Channel access token और Graph-compatible API
- Per-channel messaging wallet
- Channel webhook, delivery status के लिए
- Channel की quality और limit वाला व्यू
Industries: फ़िनटेक और NBFC, ईकॉमर्स, इंश्योरेंस, SaaS और ऐप, हेल्थकेयर पोर्टल
What to measure
- Verification completion: भेजे गए कोड में से कितने सही डाले गए।
- भेजने से सफल वेरिफ़िकेशन तक का समय, copy-code और one-tap autofill में बाँटकर।
- Error code के हिसाब से फ़ेल sends, ताकि ग़लत नंबर और non-WhatsApp यूज़र को wallet या limit की समस्या से अलग किया जा सके।
- प्रति नंबर प्रति घंटे कोड की रिक्वेस्ट, abuse पहचानने और rate limit ठीक करने के लिए।
- SMS या ईमेल पर fallback करने वाले यूज़र का हिस्सा, और उसकी वजह।
स्रोत
- Message templates overview — Meta for Developers, checked 12 October 2026
- Pricing on the WhatsApp Business Platform — Meta for Developers, checked 12 October 2026
- Template components — Meta for Developers, checked 12 October 2026
Broadchat team · Product and partner success team
The people who build and support Broadchat, the white-label WhatsApp Business API platform. We write from what we see while onboarding partners and their clients on the official WhatsApp Cloud API, and we check every article against Meta's current documentation.
आख़िरी अपडेट:
अक्सर पूछे जाने वाले सवाल
क्या मैं WhatsApp OTP मैसेज में लिंक या अपना logo डाल सकता हूँ?
नहीं। Authentication template में URL, media या emoji की इजाज़त नहीं है। Body Meta का तय किया हुआ टेक्स्ट होता है, जिसमें कोड, एक वैकल्पिक सुरक्षा डिस्क्लेमर और एक वैकल्पिक expiry लाइन, साथ में copy-code या one-tap बटन होता है।
authentication-international क्या है?
यह एक अलग pricing कैटेगरी है जो Meta कुछ देशों के यूज़र को, अपने देश के बाहर के बिज़नेस से भेजे गए authentication मैसेज पर लगाता है, भारत भी इसमें शामिल है। यह घरेलू authentication से महँगा है, इसलिए international लॉगिन के लिए WhatsApp चुनने से पहले अपना यूज़र मिक्स जाँच लें।
क्या OTP भेजने के लिए chatbot चाहिए?
नहीं। OTP आपके backend से channel API के ज़रिए भेजे जाते हैं। Chatbot सिर्फ़ "मैंने तो यह माँगा ही नहीं" या HELP जैसे जवाब संभालने के लिए काम आता है।
क्या मुझे SMS पूरी तरह बंद कर देना चाहिए?
यह आपका अपना फ़ैसला है। कई टीम उन यूज़र के लिए SMS या ईमेल को fallback रखती हैं जो WhatsApp पर नहीं हैं या जिनका send फ़ेल हो जाता है। पहले कुछ हफ़्तों तक दोनों चैनल पर completion नापें।
WhatsApp OTP कितने समय के लिए वैलिड रखना चाहिए?
कम समय: ज़्यादातर लॉगिन के लिए 5 से 10 मिनट सही है, पेमेंट कन्फ़र्मेशन के लिए कम। Template में expiry दिखाएँ, अपने सर्वर पर उसे लागू करें, और एक बार सही इस्तेमाल होने या कुछ ग़लत कोशिशों के बाद कोड को invalid कर दें।