अगर आपने ख़ुद बनाने का तय किया है, तो वेबसाइट के अलावा जो लिखना पड़ेगा उसकी सूची यह है। यह ख़ुद के डेवलपमेंट के ख़िलाफ़ तर्क नहीं - जब आपके पास ऐसी मैकेनिक हो जो किसी और के पास नहीं, वह रास्ता सही है। यह इस बात का तर्क है कि तारीख़ तब बताइए जब हर हिस्से का पता हो, सिर्फ़ दिखने वाले का नहीं।
दुकान छोटा हिस्सा है
कैटलॉग, सेवा का पन्ना, कार्ट, ग्राहक का खाता, ऑर्डर इतिहास। किसी आधुनिक फ़्रेमवर्क पर यह सचमुच महीनों के बजाय हफ़्तों का काम है, और इसीलिए «एक महीने में पैनल» सुनने में जमता है। इसके बाद वाला हिस्सा मार्कअप में दिखता ही नहीं।
पहला अनपेक्षित हिस्सा ख़ुद कैटलॉग है। प्रोवाइडर की सेवा नाम और क़ीमत नहीं होती: उसकी न्यूनतम और अधिकतम मात्रा, क़दम, प्रकार, लिंक की शर्तें और अपने नियम होते हैं। प्रोवाइडर पर हज़ार सेवाएँ आपके यहाँ हज़ार पंक्तियाँ बन जाती हैं, जिन्हें ताज़ा करना, मार्जिन लगाना और प्रोवाइडर हटाए तो बंद करना पड़ता है। हाथ से टाइप किया कैटलॉग हफ़्ता भर टिकता है; उसके बाद इम्पोर्ट और सिंक चाहिए। बिकने वाली रेंज कैसे बनाएँ, यह SMM पैनल का सेवा कैटलॉग में है।
प्रोवाइडर का पुल: मिलता-जुलता, एक जैसा नहीं
लगभग हर प्रोवाइडर API एक ही शैली में देता है: एक एंडपॉइंट, एक action पैरामीटर, बॉडी में एक कुंजी। इससे लगता है कि बदली जा सकने वाली URL के साथ एक क्लाइंट क्लास काफ़ी है। असल में फ़र्क़ तुरंत शुरू हो जाते हैं।
- सेवा प्रकारों के सेट अलग: कुछ ऑर्डर में लिंक और मात्रा चाहिए, कुछ में कमेंट, यूज़रनेम, सब्सक्रिप्शन या शेड्यूल।
- त्रुटियों के ढाँचे अलग: यहाँ
errorस्ट्रिंग, वहाँ HTTP कोड, और ख़राब दिन वाले प्रोवाइडर से JSON की जगह HTML। - रेट लिमिट अलग, और पार करने पर बरताव भी अलग।
- स्टेटस के नाम अलग, और आंशिक डिलीवरी का मतलब भी अलग।
यहीं से पहला आर्किटेक्चर फ़ैसला निकलता है: अपना भीतरी ऑर्डर प्रारूप और हर प्रोवाइडर के लिए एक अडैप्टर। इसे छोड़ दीजिए तो दूसरा प्रोवाइडर आपके कोड में शर्तें बिखेर देगा, और तीसरा हर बदलाव को ख़तरनाक बना देगा। सेवा प्रकारों पर और यह कि लिंक तथा मात्रा क्यों काफ़ी नहीं, देखिए प्रोवाइडर की सेवा किस्में।
डिस्पैचर: जहाँ सब कुछ टूटता है
ऑर्डर बटन दबने के पल में नहीं जीता - वह उसके बाद के दिनों तक जीता है। कुछ ऐसा होना चाहिए जो अधूरे ऑर्डर पर घूमे, उनका स्टेटस पूछे, आपका स्टेटस अपडेट करे, जो पहुँचा नहीं उसे रिफ़ंड करे, और यह सब आपके सोते हुए करे।
- दोहरी भेजाई। ग्राहक दो बार क्लिक करता है, या कोई जॉब विफलता के बाद दोबारा चलता है, और प्रोवाइडर को दो ऑर्डर मिलते हैं जबकि आपने एक का पैसा लिया। इलाज प्रोवाइडर पर भरोसा नहीं, अपने कोड में idempotency कुंजी है।
- खोई हुई आईडी। ऑर्डर चला गया, जवाब टाइमआउट हो गया। प्रोवाइडर के पास ऑर्डर है, आपके पास नहीं। मिलान की रूटीन के बिना यह सीधा नुक़सान है।
- भोली पोलिंग। हज़ार चालू ऑर्डर को हर मिनट एक-एक करके पोल करना हज़ार कॉल और रेट-लिमिट बैन है। बैच में स्टेटस कॉल चाहिए और नए तथा पुराने ऑर्डर के लिए अलग अंतराल।
- रिफ़ंड बिना Partial। प्रोवाइडर ने आधा पहुँचाया और बाक़ी आपके बैलेंस में लौटा दिया, पर ग्राहक को अपना पैसा वापस दिखा ही नहीं। यह हिसाब की बारीक़ी नहीं, यह विवाद और चार्जबैक है।
हर स्टेटस का क्या मतलब है और पैनल को उसके साथ क्या करना चाहिए, यह SMM पैनल पर ऑर्डर स्टेटस में है।
पैसा: वह एक हिस्सा जहाँ ग़लती की गुंजाइश नहीं
ग्राहक का बैलेंस किसी तालिका का कॉलम नहीं - वह वह बही है जिससे कॉलम निकाला जाता है। सिर्फ़ मौजूदा संख्या सहेजिए और पहली दोहरी प्रविष्टि ऐसी बहस बन जाएगी जो आप जीत नहीं सकते।
कम से कम इतना लिखना पड़ेगा: लेन-देन का लॉग, कासा के webhook से टॉप-अप, दोहराए गए webhook जो दो बार पैसा न जोड़ें, ऑपरेटर के हाथ से किए सुधार जो निशान छोड़ें, और रिफ़ंड। साथ में उस रेस से बचाव जब दो ऑर्डर एक ही बैलेंस से एक साथ काटते हैं। ख़ुद कासा जोड़ना अलग काम है, वह SMM पैनल पर भुगतान लेने के तरीक़े में है।
वह प्लंबिंग जिसका हिसाब कोई नहीं रखता
फिर वह सब आता है जो डेमो में नहीं दिखता पर जिसके बिना पैनल ग्राहक के सामने नहीं रखा जा सकता: रजिस्ट्रेशन और पासवर्ड वापसी, अपने डोमेन से मेल जो स्पैम में न गिरे, सर्टिफ़िकेट और ऑटो-रिन्यूअल वाला डोमेन, बैकअप जिनकी बहाली परखी गई हो, खुले फ़ॉर्म पर बॉट सुरक्षा, सपोर्ट टिकट, ऑपरेटर की भूमिकाएँ, निकासी और प्रोमो कोड पर धोखाधड़ी रोक, और ऐसे लॉग जिनसे विवादित ऑर्डर निपटाया जा सके। हर चीज़ घंटों से दिनों का काम है, और मिलकर वे दुकान से भारी पड़ते हैं।
लोड और हमलों का भी हिसाब रखिए: पैनल पर नियम से पासवर्ड आज़माने वाले और कचरा ट्रैफ़िक आते हैं, और इससे शुरुआत के बाद के बजाय पहले निपटना बेहतर है। देखिए SMM पैनल की सुरक्षा।
कितना समय लगता है और कब वसूल होता है
एक अनुभवी डेवलपर के लिए ईमानदार दायरा: दुकान और कैटलॉग में हफ़्ते, पुल और डिस्पैचर में एक महीना या ज़्यादा, पैसे और प्लंबिंग में उतना ही और। उसके बाद स्थायी रखरखाव, क्योंकि दूसरों के API बदलते रहते हैं - यह अंत तारीख़ वाला प्रोजेक्ट नहीं, एक नौकरी है।
ख़ुद का डेवलपमेंट दो हालात में वसूल होता है: आपके पास ऐसी मैकेनिक है जो किसी और के पास नहीं और कारोबार वही है; या आपकी मात्रा इतनी बड़ी है कि किराए की बचत टीम की लागत से ज़्यादा हो जाए। बाक़ी हर हाल में समझदारी इसमें है कि पहले किसी तैयार प्लैटफ़ॉर्म पर शुरू कीजिए, असली ऑर्डर जमा कीजिए और पता कीजिए कि असल में क्या कमी है - फिर अपने इंजन की ज़रूरतें अंदाज़े से नहीं, उस डेटा से लिखिए। रास्तों की पूरी तुलना SMM पैनल कैसे बनाएँ में है, और माँग परखने में कुछ ख़र्च नहीं होता: हमारे अपने कैटलॉग से गए ऑर्डर कभी बिल में नहीं आते, और तीसरे पक्ष के प्रोवाइडर पर महीने के पहले 100 ऑर्डर मुफ़्त हैं।