बल्क QR कोड API: बड़े पैमाने पर जेनरेट करें
एक ईमानदार bulk qr code api गाइड — एक जेनरेशन API क्या करता है, इसे अपने बैकएंड में कैसे बनाएं, बल्क जेनरेशन और बल्क डाउनलोड में क्या फर्क है, और SMLLR का सिर्फ-पढ़ने वाला API ठीक-ठीक क्या कवर करता है।
इससे लोग दो अलग चीज़ें समझते हैं
"बल्क QR कोड API" दो ऐसे समूह खोजते हैं जिनकी समस्याएं वाकई अलग हैं, और इस विषय पर ज़्यादातर सामग्री उन्हें गड्डमड्ड कर देती है।
पहले समूह को बड़ी मात्रा में स्टैटिक कोड चाहिए। दस हज़ार प्रोडक्ट SKU, प्रति यूनिट एक सीरियल नंबर, प्रति मशीन एक एसेट टैग। हर कोड अलग तय डेटा ले जाता है और कभी बदलने की ज़रूरत नहीं। यह विशुद्ध एनकोडिंग समस्या है और इसे आपके अपने बैकएंड में एक ओपन-सोर्स लाइब्रेरी से हल करना सीधा है — कोई वेंडर नहीं, कोई API नहीं, प्रति कोड कोई लागत नहीं।
दूसरे समूह को बड़ी मात्रा में डायनामिक कोड चाहिए। हर स्टोर, हर डीलर, हर कैंपेन के लिए एक ट्रैक होने वाला, संपादन योग्य कोड, जहां डेस्टिनेशन बाद में बदलने लायक होना चाहिए और हर स्कैन का श्रेय तय होना चाहिए। इसके लिए वाकई एक प्लेटफॉर्म चाहिए, क्योंकि रीडायरेक्ट और एनालिटिक्स को कहीं किसी सर्वर पर रहना ही पड़ता है।
संचालन के लिहाज़ से इन दोनों में लगभग कुछ भी साझा नहीं है। यह गाइड दोनों को बताती है, और साफ कहती है कि SMLLR का अपना API क्या करता है — जो है रिपोर्टिंग, जेनरेशन नहीं।
स्टैटिक बल्क जेनरेशन खुद बनाना
पहले समूह के लिए, पूरी समस्या एक डेटा स्रोत पर एक लूप है। SKU की एक CSV अंदर, इमेज का एक फोल्डर बाहर।
import csv, qrcode
with open('skus.csv', newline='') as f:
for row in csv.DictReader(f):
payload = f"https://example.in/p/{row['sku']}"
img = qrcode.make(payload)
img.save(f"out/{row['sku']}.png")बड़ी मात्रा में वे बातें जो सही करनी चाहिए और जो एक सीधा-सादा लूप चूक जाता है:
- वेक्टर एक्सपोर्ट करें, रास्टर नहीं। SVG या PDF बनाएं ताकि वही फाइल बिना दोबारा बनाए एक लेबल, एक कार्टन और एक बैनर पर काम करे। हमारी फाइल फॉर्मेट गाइड अदला-बदली बताती है।
- एरर करेक्शन लेवल साफ तौर पर तय करें। 10,000 कोड के रन में लाइब्रेरी के डिफॉल्ट पर भरोसा न करें — प्रिंट के लिए Q सेट करें, या लोगो शामिल हो तो H।
- पेलोड छोटे और एकसमान रखें। एक सुसंगत छोटा URL पैटर्न हर कोड को एक ही QR वर्ज़न पर रखता है, जिसका मतलब है पूरे बैच में एकसमान मॉड्यूल साइज़ और अनुमान लगाने लायक प्रिंट साइज़। अलग-अलग लंबाई के पेलोड दिखने में असंगत कोड बनाते हैं।
- एक नमूना जांचें। बनाई गई फाइलों का एक यादृच्छिक नमूना प्रोग्रामेटिक रूप से डिकोड करें और पक्का करें कि पेलोड सही लौटता है, तभी 10,000 कोड प्रिंटर को भेजें।
हमारी API-फर्स्ट QR जेनरेशन गाइड इसे स्क्रिप्ट के बजाय एक सेवा के रूप में चलाने के आर्किटेक्चर तरीके बताती है — कतार, idempotency, स्टोरेज।
डायनामिक कोड इस तरह क्यों नहीं बनाए जा सकते
दूसरे समूह की ज़रूरत मात्रा में नहीं, किस्म में अलग है। एक डायनामिक कोड का प्रिंटेड पैटर्न एक छोटा रीडायरेक्ट लिंक एनकोड करता है जिसे एक जीवित सर्वर पर हल होना ही है — तो एक बनाना एनकोडिंग का काम नहीं, रिकॉर्ड बनाने का काम है। किसी को वह मैपिंग स्टोर करनी है, रीडायरेक्ट परोसना है, स्कैन दर्ज करना है, और आपको बाद में डेस्टिनेशन संपादित करने देना है।
यही वजह है कि "बस उन्हें एक लाइब्रेरी से बना लो" यहां काम नहीं करता: एक लाइब्रेरी पैटर्न खींच सकती है, लेकिन उसके पीछे कुछ नहीं होता। ट्रैकिंग, संपादन योग्यता और एट्रिब्यूशन सब प्लेटफॉर्म से आते हैं, इमेज से नहीं।
यही वजह यह भी है कि डायनामिक कोड का बल्क निर्माण स्टैटिक बल्क जेनरेशन से काफी कठिन प्रोडक्ट फीचर है। हर कोड एक जीवन-चक्र वाली पंक्ति है — यह एक्सपायर हो सकता है, निष्क्रिय हो सकता है, किसी कैंपेन को सौंपा जा सकता है, स्कैन जमा कर सकता है। दस हज़ार ऐसे प्रोग्रामेटिक रूप से बनाना कोटा, स्वामित्व और सफाई के असली सवाल खड़े करता है जिनका जवाब एक स्टैटिक जेनरेशन स्क्रिप्ट को कभी नहीं देना पड़ता।
SMLLR का API असल में क्या करता है
बिना घुमाए कहा जाए, क्योंकि खोज असल में यही सवाल पूछ रही है।
SMLLR का सार्वजनिक REST API सिर्फ पढ़ने वाली रिपोर्टिंग है। यह सात GET एंडपॉइंट देता है:
GET /summary— एक अवधि के लिए पूरे अकाउंट का स्कैन सारांशGET /qrs— आपके QR कोड की पेज-वार सूचीGET /qr/:id— एक QR कोड के लिए एनालिटिक्सGET /campaigns— पेज-वार कैंपेन सूचीGET /campaign/:id— एक कैंपेन के लिए एनालिटिक्सGET /clients— पेज-वार एजेंसी क्लाइंट सूचीGET /client/:id— एक एजेंसी क्लाइंट के लिए एनालिटिक्स
यह Premium प्लान (₹14,999/माह) पर उपलब्ध है, एक API key से प्रमाणित, और प्रति key प्रति मिनट 60 रिक्वेस्ट तक सीमित — सीमा IP के बजाय प्रमाणित अकाउंट से जुड़ी है, तो साझा बुनियादी ढांचे से कॉल करने वाले इंटीग्रेटर एक ही बाल्टी साझा नहीं करते। रिस्पॉन्स एक वर्ज़न वाले लिफाफे में आते हैं जिसमें कर्सर-आधारित पेजिनेशन होता है।
कोई POST, PATCH या DELETE एंडपॉइंट नहीं है। API एक QR कोड बना नहीं सकता, डेस्टिनेशन संपादित नहीं कर सकता, कुछ मिटा नहीं सकता। यह डिज़ाइन से Lead Hub का संपर्क डेटा भी कभी नहीं लौटाता — कोई नाम, ईमेल, फोन नंबर या सहमति रिकॉर्ड नहीं।
@smllr/mcp-server MCP सर्वर उन्हीं सात एंडपॉइंट को AI एजेंट के बुलाने लायक टूल के रूप में लपेटता है, उसी Premium ज़रूरत और उसी दर सीमा के साथ, क्योंकि यह उसी API को बुलाता है। हमारा REST API और MCP सर्वर व्याख्यान रिस्पॉन्स की बनावट बताता है।
बल्क डाउनलोड बनाम बल्क जेनरेशन
यह फर्क मायने रखता है और इस पर सटीक होना ज़रूरी है, क्योंकि QR प्लेटफॉर्म मार्केटिंग में इन दोनों को नियमित रूप से एक कर दिया जाता है।
बल्क डाउनलोड आपके अकाउंट में पहले से मौजूद QR कोड लेकर उन्हें एक प्रिंट-रेडी सेट के रूप में एक साथ एक्सपोर्ट करता है। SMLLR इसे Basic प्लान (₹1,999/माह) से ऊपर पांच फॉर्मेट में समर्थित करता है — PNG, JPG, SVG, PDF और EPS — तो एक पूरी कैंपेन के कोड उस फॉर्मेट में दोबारा एक्सपोर्ट किए जा सकते हैं जो किसी खास प्रिंट रन को चाहिए।
बल्क जेनरेशन एक सूची या स्प्रेडशीट से एक साथ कई नए कोड बनाता है। SMLLR इसे फिलहाल अपने सेल्फ-सर्व प्लान पर नहीं देता, और ईमानदार स्थिति यह है कि कोड डैशबोर्ड में एक-एक करके बनाए जाते हैं।
तो आज बहुत सारे डायनामिक कोड चाहने वाले एक SMLLR ग्राहक के लिए व्यावहारिक जवाब है: उन्हें डैशबोर्ड में बनाएं, फिर सेट को उस फॉर्मेट में बल्क डाउनलोड करें जो आपका प्रिंटर चाहता है। दर्जनों या कुछ सौ कोड के लिए यह वाकई काम करता है — प्रति स्टोर, प्रति डीलर, प्रति कैंपेन प्लेसमेंट एक कोड — और दस हज़ार के लिए वाकई तकलीफदेह है। अगर आपकी ज़रूरत दस हज़ार डायनामिक कोड की है, तो कोई जुगाड़ मान लेने के बजाय यह हमसे सीधे उठाने लायक है। हमारी बैच QR जेनरेशन गाइड मौजूदा वर्कफ्लो बताती है।
एक वास्तविक फैसला गाइड
ज़रूरत को तरीके से मिलाना:
- बहुत सारे स्टैटिक कोड, तय डेटा, ट्रैकिंग नहीं चाहिए (SKU लेबल, सीरियल नंबर, एसेट टैग): अपने बैकएंड में एक ओपन-सोर्स लाइब्रेरी से बनाएं। सबसे तेज़, सबसे सस्ता, किसी पर निर्भरता नहीं।
- बहुत सारे स्टैटिक कोड, लेकिन आपको स्कैन डेटा चाहिए: एक स्टैटिक कोड से दोनों नहीं मिल सकते। या तो एनालिटिक्स न होना स्वीकार करें, या डायनामिक कोड पर जाएं और निर्माण की मेहनत स्वीकार करें।
- दर्जनों से कुछ सौ डायनामिक कोड (प्रति स्टोर, डीलर, प्लेसमेंट, कैंपेन एक): उन्हें SMLLR डैशबोर्ड में बनाएं, एक कैंपेन के नीचे समूहित करें, और प्रिंट के लिए सेट बल्क डाउनलोड करें। यह आम मामला है और अच्छा काम करता है।
- हज़ारों डायनामिक कोड: यह एक असली ज़रूरत है जिसे मौजूदा सेल्फ-सर्व औज़ार ठीक से नहीं संभालते। कोई नाज़ुक जुगाड़ बनाने के बजाय हमसे इस पर बात करें।
- बहुत सारे मौजूदा कोड की प्रोग्रामेटिक निगरानी: सिर्फ-पढ़ने वाला API ठीक इसी के लिए है। कर्सर पेजिनेशन के साथ
GET /qrsपोल करें और जहां ज़रूरत हो वहां प्रति-कोड विवरण खींचें — रिपोर्टिंग डैशबोर्ड, क्लाइंट-सामने वाले पोर्टल, स्वचालित अलर्ट।
शुरू करने के लिए SMLLR पर अपना QR कोड बनाएं, और जब आपको उन पर प्रोग्रामेटिक रिपोर्ट चाहिए तब Premium पर सिर्फ-पढ़ने वाला API इस्तेमाल करें।
प्रिंट करने से पहले पैमाने के लिए डिज़ाइन करना
आप जो भी रास्ता लें, कुछ फैसले कोड के मैदान में जाने के बाद पलटना महंगा पड़ता है:
- पहले स्टैटिक बनाम डायनामिक तय करें। यही अकेला वाकई अपरिवर्तनीय चुनाव है। एक स्टैटिक कोड का डेटा हमेशा के लिए पैटर्न में है; बाद में बदलने का मतलब है सब कुछ दोबारा प्रिंट करना।
- एक URL पैटर्न तय करें और उस पर टिके रहें। एक सुसंगत, छोटा, वर्ज़न वाला पथ (
/p/{sku}, किसी क्वेरी-स्ट्रिंग की गड़बड़ी के बजाय) पेलोड एकसमान रखता है और आपको कोड बदले बिना यह बदलने की गुंजाइश देता है कि वह पथ क्या परोसता है। - पेलोड की लंबाई एकसमान रखें। एक बैच में अलग-अलग पेलोड लंबाई अलग QR वर्ज़न पर कोड बनाती है, जो दिखने में असंगत लगते हैं और अलग-अलग न्यूनतम साइज़ पर प्रिंट होते हैं।
- दर्ज करें कि कौन सा कोड कहां गया। बड़े पैमाने पर सबसे आम पछतावा है दस हज़ार कोड का ऐसा सेट जिसका कोई रिकॉर्ड नहीं कि हर एक किस कार्टन, स्टोर या बैच पर लगा — जो बाद में स्कैन डेटा को समझ से बाहर कर देता है।
- असली प्रिंट रन से एक भौतिक प्रूफ टेस्ट करें, डिजिटल फाइल से नहीं। स्क्रीन पर बढ़िया डिकोड होने वाला कोड सतह पर फेल हो सकता है।
अक्सर पूछे जाने वाले सवाल
क्या SMLLR के पास बल्क QR कोड जेनरेशन API है?
नहीं। SMLLR का सार्वजनिक REST API सिर्फ पढ़ने वाली रिपोर्टिंग है — Premium प्लान (₹14,999/माह) पर अकाउंट, QR, कैंपेन और क्लाइंट एनालिटिक्स के लिए सात GET एंडपॉइंट, प्रति मिनट 60 रिक्वेस्ट तक सीमित। कोई POST, PATCH या DELETE एंडपॉइंट नहीं है, तो API QR कोड बना, संपादित या मिटा नहीं सकता।
मैं हज़ारों स्टैटिक QR कोड कैसे बनाऊं?
इसे अपने बैकएंड में Python के qrcode या Node के qrcode पैकेज जैसी ओपन-सोर्स लाइब्रेरी से बनाएं — यह एक CSV पर एक लूप है। रास्टर के बजाय वेक्टर फाइल एक्सपोर्ट करें, डिफॉल्ट पर भरोसा करने के बजाय एरर करेक्शन लेवल साफ तौर पर तय करें, और प्रिंटर को कुछ भेजने से पहले एक यादृच्छिक नमूना डिकोड करके जांचें।
बल्क डाउनलोड और बल्क जेनरेशन में क्या फर्क है?
बल्क डाउनलोड आपके अकाउंट में पहले से मौजूद QR कोड को एक प्रिंट-रेडी सेट के रूप में एक्सपोर्ट करता है — SMLLR इसे Basic प्लान (₹1,999/माह) से ऊपर PNG, JPG, SVG, PDF और EPS में समर्थित करता है। बल्क जेनरेशन एक सूची से एक साथ कई नए कोड बनाता है, जो SMLLR फिलहाल सेल्फ-सर्व प्लान पर नहीं देता।
क्या मैं एक लाइब्रेरी से डायनामिक QR कोड बना सकता हूं?
सार्थक रूप से नहीं। एक लाइब्रेरी पैटर्न खींच सकती है, लेकिन एक डायनामिक कोड के छोटे लिंक को एक जीवित सर्वर पर हल होना ही है जो मैपिंग स्टोर करे, रीडायरेक्ट परोसे और स्कैन दर्ज करे। एक डायनामिक कोड बनाना एक प्लेटफॉर्म पर रिकॉर्ड बनाने का काम है, एनकोडिंग का काम नहीं।
SMLLR API की दर सीमा क्या है?
प्रति API key प्रति मिनट 60 रिक्वेस्ट। सीमा IP पते के बजाय प्रमाणित अकाउंट से जुड़ी है, तो साझा या NAT वाले बुनियादी ढांचे से कॉल करने वाले इंटीग्रेटर — एक कंपनी का दफ्तर, एक सर्वरलेस फ़ंक्शन पूल — असंबंधित ट्रैफिक के साथ एक ही बाल्टी साझा नहीं करते।
मैं SMLLR API से असल में क्या कर सकता हूं?
स्कैन एनालिटिक्स प्रोग्रामेटिक रूप से पढ़ सकते हैं: पूरे अकाउंट का सारांश, आपके QR कोड की पेज-वार सूची, किसी भी एक कोड का विवरण, और कैंपेन तथा एजेंसी क्लाइंट के लिए वही। यह उन कोड पर रिपोर्टिंग डैशबोर्ड, क्लाइंट-सामने वाले पोर्टल और स्वचालित अलर्ट के लिए बना है जो आपके पास पहले से हैं — नए बनाने के लिए नहीं।
मुझे दस हज़ार डायनामिक QR कोड चाहिए — मैं क्या करूं?
कोई जुगाड़ बनाने के बजाय यह हमसे सीधे उठाएं। मौजूदा सेल्फ-सर्व औज़ार डायनामिक कोड डैशबोर्ड में एक-एक करके बनाते हैं, जो दर्जनों या कुछ सौ के लिए अच्छा काम करता है — प्रति स्टोर, डीलर या प्लेसमेंट एक कोड — और दस हज़ार पर वाकई तकलीफदेह है।