SMS QR कोड API गाइड
एक डेवलपर की sms qr code api गाइड — sms: और SMSTO: पेलोड फॉर्मेट, iOS और एंड्रॉइड में क्या फर्क है, प्रोग्रामेटिक रूप से कोड बनाना, और SMLLR का अपना API क्या करता है और क्या नहीं।
एक SMS QR कोड असल में क्या है
एक SMS QR कोड एक ऐसा URI एनकोड करता है जो स्कैन करने वाले फोन को अपना मैसेजिंग ऐप एक प्राप्तकर्ता नंबर — और वैकल्पिक रूप से पहले से भरे मैसेज के मतन — के साथ खोलने को कहता है। ग्राहक स्कैन करता है, कंपोज़ स्क्रीन खुलती है, और उसे बस भेजना दबाना होता है।
उस पूरे प्रवाह में कोई API कॉल शामिल ही नहीं है, और किसी भी sms qr code api चर्चा में सबसे पहले यही साफ होना चाहिए। लोग जिस "API" को खोज रहे हैं वह दो काफी अलग चीज़ों में से एक है: वह पेलोड फॉर्मेट जो आप एनकोड करते हैं (एक URI मानक, कोई वेब सेवा नहीं), या एक कोड-जेनरेशन लाइब्रेरी जिसे आप इमेज बनाने के लिए अपने बैकएंड से बुलाते हैं। यह गाइड दोनों बताती है, और अंत में साफ कहती है कि SMLLR का अपना REST API क्या कवर करता है और क्या नहीं।
दो पेलोड फॉर्मेट
दो प्रतिस्पर्धी परंपराएं हैं, और गलत चुनना उस SMS QR कोड की सबसे आम वजह है जो एक फोन पर काम करता है और दूसरे पर नहीं।
sms: URI स्कीम आधुनिक, व्यापक रूप से समर्थित रूप है:
sms:+919876543210?body=Hi%2C%20I%20want%20to%20orderनंबर अंतरराष्ट्रीय E.164 फॉर्मेट में होना चाहिए (भारत के लिए +91), और मतन को percent-encode किया जाना चाहिए। जब आप एक SMS QR कोड बनाते हैं तो SMLLR यही फॉर्मेट बनाता है — नंबर से सिर्फ अंक और + रखे जाते हैं, और मतन जोड़ने से पहले URI-एनकोड होता है।
SMSTO: फॉर्मेट पुरानी Denso Wave परंपरा है:
SMSTO:+919876543210:Hi, I want to orderइसे अब भी कई समर्पित स्कैनर ऐप पहचानते हैं लेकिन नेटिव फोन कैमरे इसे कम एकरूपता से संभालते हैं, और भारत में असल दुनिया के अधिकांश स्कैन वहीं होते हैं। जनता के लिए प्रिंट होने वाली किसी भी चीज़ के लिए sms: को प्राथमिकता दें।
एक तीसरा रूप, sms:+91...&body=... (प्रश्नचिह्न की जगह ऐम्परसैंड), कुछ पुरानी दस्तावेज़ी में दिखता है। इसे असंगत तरीके से संभाला जाता है। ?body= रूप इस्तेमाल करें।
वे प्लेटफॉर्म फर्क जिन्हें टेस्ट करना ही है
SMS URI संभालना प्लेटफॉर्म के हिसाब से वाकई असंगत है, और यह ऐसी चीज़ नहीं जिसे तर्क से हल किया जा सके — इसे असली डिवाइस पर टेस्ट करना ही पड़ता है।
- iOS। ऐतिहासिक रूप से Apple पहले से भरे मतन को लेकर एंड्रॉइड से ज़्यादा सख्त रहा है, और व्यवहार iOS वर्ज़न के साथ बदलता रहा है। एक वर्ज़न पर सही भरने वाला मतन दूसरे पर गिरा दिया जा सकता है।
- एंड्रॉइड।
?body=के साथ आम तौर पर ज़्यादा उदार, लेकिन डिफॉल्ट SMS ऐप निर्माता के हिसाब से बदलता है, और कुछ OEM मैसेजिंग ऐप इस पैरामीटर को स्टॉक ऐप से अलग संभालते हैं। - नेटिव कैमरा बनाम स्कैनर ऐप। एक फोन का बिल्ट-इन कैमरा एक दबाने लायक "मैसेज भेजें" प्रॉम्प्ट दिखा सकता है, जबकि एक थर्ड-पार्टी स्कैनर ऐप कच्चा URI टेक्स्ट दिखा सकता है। दोनों काम करते हैं; यूज़र को वे अलग दिखते हैं।
- विशेष अक्षर। मतन में इमोजी, लाइन ब्रेक और गैर-लैटिन लिपियां पूरे फॉर्मेट का सबसे कम भरोसेमंद हिस्सा हैं। अगर आपके पहले से भरे मैसेज में हिंदी या तमिल मतन होना है, तो उसे खासतौर पर टेस्ट करें।
व्यावहारिक निहितार्थ: कैंपेन ऐसा डिज़ाइन करें कि मतन गिर जाने पर भी काम करे। अगर पूरा तंत्र किसी ऐसे कीवर्ड पर निर्भर है जो ग्राहक को भेजना है, तो वह कीवर्ड प्रिंटेड टुकड़े पर भी लिखें — "स्कैन करके भेजें, या 9876543210 पर OFFER SMS करें" — ताकि मतन हटाने वाला फोन आपका फनल न तोड़े।
प्रोग्रामेटिक रूप से SMS QR कोड बनाना
अगर आपको अपने सिस्टम से बड़े पैमाने पर SMS QR कोड बनाने हैं — हर डीलर, हर स्टोर, हर सेल्स प्रतिनिधि के लिए एक — तो आप उन्हें अपने बैकएंड में एक QR एनकोडिंग लाइब्रेरी से बनाते हैं। किसी वेब सेवा की ज़रूरत नहीं।
Python में, qrcode लाइब्रेरी से:
import qrcode
from urllib.parse import quote
def sms_qr(number: str, body: str, out_path: str):
payload = f"sms:{number}?body={quote(body)}"
img = qrcode.make(payload)
img.save(out_path)
sms_qr("+919876543210", "Hi, I want to order", "dealer_001.png")Node.js में, qrcode पैकेज से:
const QRCode = require('qrcode');
const payload = `sms:+919876543210?body=${encodeURIComponent('Hi, I want to order')}`;
await QRCode.toFile('dealer_001.png', payload, { errorCorrectionLevel: 'Q' });हमारी Python QR कोड API गाइड लाइब्रेरी विकल्प और गहराई से बताती है, और API-फर्स्ट QR जेनरेशन इसे बड़े पैमाने पर करने के आर्किटेक्चर तरीके बताती है।
कच्चे SMS कोड के साथ ट्रैकिंग की समस्या
एक कच्चे sms: QR कोड की एक खूबी ज़्यादातर टीमों की समझ से ज़्यादा मायने रखती है: यह एनालिटिक्स के लिए पूरी तरह अदृश्य है।
स्कैन सीधे फोन का मैसेजिंग ऐप खोलता है। कुछ भी किसी सर्वर को नहीं छूता, तो कोई स्कैन इवेंट नहीं, कोई टाइमस्टैम्प नहीं, कोई डिवाइस विभाजन नहीं, कोई प्रति-प्लेसमेंट एट्रिब्यूशन नहीं। आपको तभी पता चलता है कि कैंपेन चला जब मैसेज आने लगते हैं — और आपके पास यह बताने का कोई तरीका नहीं कि किस फ्लायर, किस डीलर काउंटर या किस शहर ने वे दिए, जब तक आपने हर एक कोड में अलग कीवर्ड एनकोड न किया हो।
यह स्थायी रूप से तय भी है। अपना कारोबारी नंबर बदलिए और हर प्रिंटेड SMS कोड मर जाता है, और दोबारा प्रिंट किए बिना कोई इलाज नहीं।
यह वह अदला-बदली है जो जान-बूझकर करनी चाहिए, गलती से नहीं। एक कच्चा SMS कोड तब सही चुनाव है जब मैसेजिंग क्रिया ही वाकई पूरी बात हो और आपको एट्रिब्यूशन न चाहिए — मसलन एक उपकरण के लेबल पर सपोर्ट का शॉर्टकट। जिस कैंपेन को आप मापना चाहते हैं, उसके लिए यह गलत औज़ार है।
SMLLR यहां असल में क्या देता है
प्रोडक्ट के बारे में सटीक रहना ज़रूरी है, क्योंकि यहीं ज़्यादातर "QR API" सामग्री गोलमोल हो जाती है:
डैशबोर्ड में, SMS एक पूर्ण QR टाइप है जो Starter प्लान (₹499/माह) से उपलब्ध है। आप नंबर और मैसेज का मतन डालते हैं, और SMLLR आपके लिए sms: पेलोड बनाता है — आपकी तरफ से कोई एनकोडिंग का काम नहीं।
SMLLR REST API सिर्फ पढ़ने वाला रिपोर्टिंग API है। यह सात GET एंडपॉइंट देता है — अकाउंट सारांश, QR सूची, एकल QR विवरण, कैंपेन सूची, एकल कैंपेन विवरण, क्लाइंट सूची, एकल क्लाइंट विवरण — एक वर्ज़न वाले रिस्पॉन्स अनुबंध के तहत, Premium प्लान (₹14,999/माह) पर, प्रति API key प्रति मिनट 60 रिक्वेस्ट की सीमा के साथ। @smllr/mcp-server MCP सर्वर उन्हीं सात एंडपॉइंट को AI एजेंट के लिए टूल के रूप में लपेटता है, उन्हीं सीमाओं के साथ, क्योंकि यह उसी API को बुलाता है।
कोई ऐसा एंडपॉइंट नहीं है जो QR कोड बनाए, संपादित करे या मिटाए। अगर आप बड़े पैमाने पर SMS QR कोड गढ़ने का प्रोग्रामेटिक तरीका ढूंढ रहे हैं, तो आज का जवाब है आपके अपने बैकएंड में एक QR लाइब्रेरी, जैसा ऊपर दिखाया — SMLLR API कॉल नहीं। हमारा REST API और MCP सर्वर व्याख्यान पूरी एंडपॉइंट सूची और हर एक क्या लौटाता है, यह बताता है।
सोचने लायक ट्रैक होने वाला विकल्प
अगर आप SMS QR कोड इसलिए चाहते हैं कि "ग्राहक एक टैप में हमसे संपर्क कर सके," तो उसका एक ऐसा रूप है जो मापा जा सकता है।
एक डायनामिक QR कोड को ऐसे लैंडिंग पेज पर इंगित करें जिस पर SMS लिंक एक बटन के रूप में हो। स्कैन पहले SMLLR के रीडायरेक्ट पर पड़ता है — तो आपको स्कैन इवेंट, टाइमस्टैम्प, डिवाइस, शहर और प्रति-कोड एट्रिब्यूशन मिलता है — और ग्राहक फिर टैप करके अपने मैसेजिंग ऐप पर जाता है। आप एक टैप खोते हैं और पूरी एनालिटिक्स परत पाते हैं, साथ में बिना एक भी फ्लायर दोबारा प्रिंट किए बाद में डेस्टिनेशन नंबर बदलने की क्षमता।
कई भारतीय कारोबारों के लिए, उसी बटन के लिए एक WhatsApp CTA बेहतर डेस्टिनेशन है, यह देखते हुए कि देश में WhatsApp एंगेजमेंट SMS से कितना ऊंचा चलता है। दोनों ही तरह, सिद्धांत यही रहता है: क्रिया के आगे रीडायरेक्ट रखें, और कैंपेन मापने लायक हो जाता है।
SMLLR पर अपना QR कोड बनाएं — सीधे कोड के लिए SMS टाइप चुनें, या जब ट्रैकिंग चाहिए तब SMS लिंक वाले पेज पर इंगित करता एक डायनामिक URL कोड।
अक्सर पूछे जाने वाले सवाल
सही SMS QR कोड फॉर्मेट क्या है?
sms: URI स्कीम — sms:+919876543210?body=Your%20message — जिसमें नंबर अंतरराष्ट्रीय E.164 फॉर्मेट में हो और मतन percent-encoded हो। पुराना SMSTO:+91...:message फॉर्मेट अब भी कई स्कैनर ऐप पहचानते हैं लेकिन नेटिव फोन कैमरे इसे कम एकरूपता से संभालते हैं, जहां असल स्कैन ज़्यादातर होते हैं।
क्या कोई SMS QR कोड API है?
इस अर्थ में नहीं कि कोई वेब सेवा हो जिसे आप बुलाएं। "SMS QR कोड API" का आमतौर पर दो में से एक मतलब होता है: वह sms: URI पेलोड मानक जो आप एनकोड करते हैं, या एक QR जेनरेशन लाइब्रेरी जिसे आप अपने बैकएंड से बुलाते हैं। SMLLR का अपना REST API सिर्फ पढ़ने वाला रिपोर्टिंग API है और इसमें QR बनाने का कोई एंडपॉइंट नहीं।
क्या पहले से भरा SMS मैसेज हर फोन पर काम करता है?
नहीं। iOS ऐतिहासिक रूप से पहले से भरे मतन को लेकर एंड्रॉइड से ज़्यादा सख्त रहा है, और व्यवहार वर्ज़न के साथ बदला है; एंड्रॉइड पर OEM मैसेजिंग ऐप भी अलग-अलग हैं। कैंपेन ऐसा डिज़ाइन करें कि मतन गिर जाने पर भी काम करे — कीवर्ड प्रिंटेड टुकड़े पर भी लिखें।
क्या मैं एक SMS QR कोड पर स्कैन ट्रैक कर सकता हूं?
कच्चे कोड पर नहीं। एक sms: कोड बिना किसी सर्वर को छुए सीधे मैसेजिंग ऐप खोलता है, तो कोई स्कैन इवेंट, कोई टाइमस्टैम्प और कोई प्रति-प्लेसमेंट एट्रिब्यूशन नहीं। ट्रैकिंग पाने के लिए, एक डायनामिक QR कोड को ऐसे लैंडिंग पेज पर इंगित करें जिस पर SMS लिंक एक बटन के रूप में हो।
कौन से SMLLR प्लान में SMS QR टाइप शामिल है?
SMS एक QR टाइप के रूप में Starter प्लान (₹499/माह) से ऊपर उपलब्ध है। आप डैशबोर्ड में नंबर और मैसेज का मतन डालते हैं और SMLLR आपके लिए sms: पेलोड बनाता है, percent-encoding समेत।
क्या मैं SMLLR API से बड़े पैमाने पर SMS QR कोड बना सकता हूं?
नहीं। SMLLR REST API Premium प्लान (₹14,999/माह) पर रिपोर्टिंग के लिए सात सिर्फ-पढ़ने वाले GET एंडपॉइंट देता है, प्रति मिनट 60 रिक्वेस्ट की सीमा के साथ — यह QR कोड बना, संपादित या मिटा नहीं सकता। कच्चे SMS कोड के प्रोग्रामेटिक बल्क जेनरेशन के लिए, अपने बैकएंड में Python के qrcode या Node के qrcode जैसी QR लाइब्रेरी इस्तेमाल करें।
अगर मैं अपना कारोबारी नंबर बदल दूं तो मेरे SMS QR कोड का क्या होगा?
हर प्रिंटेड कच्चा SMS कोड मर जाता है, क्योंकि नंबर पैटर्न में ही एनकोड है। एक लैंडिंग पेज पर इंगित करता डायनामिक QR कोड इससे पूरी तरह बचाता है — आप पेज पर नंबर अपडेट करते हैं और हर प्रिंटेड कॉपी काम करती रहती है।