VibeFox iMile for WooCommerce — सहायता
आवश्यकताएँ
WordPress: 5.8 या उसके बाद का संस्करण।
WooCommerce: 5.0 या उसके बाद का संस्करण, इंस्टॉल और सक्रिय। इसके बिना प्लगइन सक्रिय नहीं होगा।
PHP: 8.0 या उसके बाद का संस्करण।
iMile टैरिफ़: वे कीमतें जो आपने iMile की सेल्स टीम के साथ तय की हैं। आप इन्हें अपनी स्टोर मुद्रा में मूल्य तालिका में दर्ज करते हैं।
iMile API खाता (केवल लाइव अनुमान के लिए): लाइव अनुमान iMile OpenAPI "Estimated order delivery costs" का उपयोग करता है। आपको Customer ID और Secret key चाहिए (वह API कुंजी जो iMile आपके Customer ID के साथ जारी करता है)। टेस्ट क्लाइंट के लिए iMile डेवलपर पोर्टल (developer.imile.com) पर पंजीकरण करें। प्रोडक्शन कुंजियाँ आपके iMile अकाउंट मैनेजर से मिलती हैं। यदि आप केवल मूल्य तालिका उपयोग करते हैं, तो API कुंजियों की ज़रूरत नहीं है।
VibeFox लाइसेंस कुंजी: vibefox.net पर खरीदी जाती है। एक कुंजी एक डोमेन पर काम करती है।
इंस्टॉलेशन
1. WordPress में Plugins > Add New > Upload Plugin पर जाएँ, प्लगइन की ZIP फ़ाइल चुनें और Install Now पर क्लिक करें। आप vfd_imile फ़ोल्डर को FTP से /wp-content/plugins/ में भी अपलोड कर सकते हैं।
2. Activate पर क्लिक करें।
3. सेटिंग्स खोलें: WooCommerce > Settings > Shipping > VibeFox iMile, या Plugins पेज पर प्लगइन के नाम के नीचे Settings पर क्लिक करें।
4. पेज के शीर्ष पर लाइसेंस ब्लॉक में अपनी VibeFox लाइसेंस कुंजी दर्ज करें और Activate पर क्लिक करें।
5. Price table में अपनी iMile दरें दर्ज करें। वैकल्पिक रूप से Live rates (API) सेक्शन भरें और Live estimate चालू करें (कॉन्फ़िगरेशन देखें)।
6. WooCommerce > Settings > Shipping > Shipping zones में किसी शिपिंग ज़ोन (जैसे "United Arab Emirates") में VibeFox iMile जोड़ें, या Ignore shipping zones चालू करके देश चुनें।
कॉन्फ़िगरेशन
सभी सेटिंग्स एक ही पेज पर हैं: WooCommerce > Settings > Shipping > VibeFox iMile। ये हर शिपिंग ज़ोन पर लागू होती हैं। जब आप किसी ज़ोन में यह विधि जोड़ते हैं, तो ज़ोन विंडो में केवल एक फ़ील्ड होता है:
Title (zone): इस ज़ोन के लिए ग्राहकों को दिखने वाला नाम। खाली छोड़ें तो वैश्विक Method title इस्तेमाल होगा।
जब भी आप सेटिंग्स सहेजते हैं, कैश किए गए iMile अनुमान और एक्सेस टोकन साफ़ हो जाते हैं। यदि लाइव अनुमान चालू है पर काम नहीं कर सकता (कुंजियाँ नहीं, शिप-फ़्रॉम शहर या देश नहीं, विनिमय दरें नहीं, मूल्य तालिका खाली), तो सेटिंग्स के ऊपर चेतावनियाँ दिखती हैं।
सामान्य
Enable/Disable: इस विधि को सभी ज़ोन में एक साथ चालू या बंद करता है।
Method title: कार्ट और चेकआउट में दिखने वाली शिपिंग विधि का नाम। कोई ज़ोन इसे बदल सकता है। डिफ़ॉल्ट: iMile।
लाइव दरें (API) (वैकल्पिक)
यदि iMile कोई अनुमान नहीं लौटाता (कुंजियाँ नहीं, शहर अभी दर्ज नहीं, त्रुटि, टाइमआउट, विनिमय दर नहीं), तो मूल्य तालिका इस्तेमाल होती है।
Live estimate: iMile से शिपिंग लागत पाने के लिए इसे चालू करें। डिफ़ॉल्ट: बंद। लाइव अनुमान बंद होने पर चेकआउट के दौरान iMile को कुछ नहीं भेजा जाता।
Environment: Production (openapi.imile.com) (डिफ़ॉल्ट) या Test (test-openapi.52imile.cn)। टेस्ट कुंजियाँ केवल टेस्ट सर्वर पर काम करती हैं और टेस्ट कीमतें देती हैं।
Customer ID: iMile द्वारा जारी क्लाइंट कोड (customerId), जैसे C2102192601।
Secret key: iMile द्वारा Customer ID के साथ जारी गुप्त कुंजी (API कुंजी)। यह अनुरोधों पर हस्ताक्षर करती है।
Signature: अनुरोधों पर हस्ताक्षर करने का तरीका।
Ship-from country: वह देश जहाँ से आप भेजते हैं। डिफ़ॉल्ट रूप से यह आपके स्टोर का देश है। सूची में वे देश हैं जिनके लिए प्लगइन के पास iMile देश कोड हैं।
Ship-from city: वह शहर जहाँ से आपके पार्सल भेजे जाते हैं, उसी वर्तनी में जैसी iMile शहर सूची में है (जैसे Dubai, Riyadh)। खाली छोड़ें तो WooCommerce > Settings > General से स्टोर शहर इस्तेमाल होगा।
Ship-from province: वैकल्पिक, जैसे Dubai या Riyadh Province।
iMile service: iMile को भेजा जाने वाला ऑर्डर प्रकार: Delivery order (100) (डिफ़ॉल्ट) या Express order (1100)। Express आपके खाते और देश के लिए सक्षम होना चाहिए।
Goods category: iMile को भेजे जाने वाले माल का प्रकार: Normal goods (डिफ़ॉल्ट), Sensitive (cosmetics, liquids...), With battery, Batteries / power banks, Documents या Parcel।
Exchange rates: iMile गंतव्य देश की मुद्रा में अनुमान देता है। हर मुद्रा के लिए एक पंक्ति दर्ज करें, जिसमें स्टोर मुद्रा में 1 इकाई का मूल्य हो, जैसे "AED = 0.25" या "SAR = 0.24"। दशमलव विभाजक के रूप में बिंदु और अल्पविराम दोनों स्वीकार हैं। स्टोर की अपनी मुद्रा के लिए दर की ज़रूरत नहीं है। दर न होने पर उस मुद्रा के अनुमान इस्तेमाल नहीं होते और उसकी जगह मूल्य तालिका लागू होती है। वही दर iMile को घोषित कार्ट मूल्य को भी बदलती है। सहेजते समय अमान्य पंक्तियाँ हटा दी जाती हैं।
कीमतें (जब लाइव अनुमान बंद हो, और जब iMile कोई अनुमान न दे तब बैकअप के रूप में इस्तेमाल होता है)
अपनी iMile दरें स्टोर की मुद्रा में दर्ज करें। यदि वे AED, SAR या किसी अन्य मुद्रा में हैं, तो पहले बदलें।
Price table: गंतव्य देश के लिए एक पंक्ति। पंक्ति जोड़ने के लिए + Add country पर क्लिक करें, और हटाने के लिए क्रॉस पर। ऐसी पंक्ति के लिए जो बिना अपनी पंक्ति वाले सभी देशों को कवर करे, * All other countries चुनें। हर पंक्ति में एक Base price और वैकल्पिक वज़न कॉलम होते हैं: XS ≤1 kg, S ≤2 kg, M ≤3 kg, L ≤5 kg और XL >5 kg। खाली (या 0) वज़न कॉलम आधार मूल्य का उपयोग करता है। 0 का आधार मूल्य उस देश में मुफ़्त शिपिंग का अर्थ है। "9.99" और "9,99" दोनों स्वीकार हैं। बिना कीमत वाली पंक्तियाँ, अमान्य देश कोड और ऋणात्मक कीमतें सहेजते समय हटा दी जाती हैं। हर देश के लिए केवल एक पंक्ति रखी जाती है।
Price for countries not in the table: स्टोर मुद्रा में एक कीमत। यह तब इस्तेमाल होती है जब तालिका में गंतव्य देश की पंक्ति नहीं है (और * पंक्ति भी नहीं), या पंक्ति में इस वज़न के लिए कीमत नहीं है। ऐसी स्थिति में विधि छिपाने के लिए खाली छोड़ें।
Price applies: तालिका की कीमत किस तरह वसूली जाती है।
वही विकल्प लाइव अनुमान पर भी लागू होता है: प्रति ऑर्डर पूरे कार्ट के साथ एक पार्सल भेजा जाता है; प्रति आइटम हर अलग पार्सल के लिए पूछा जाता है और इकाइयों की संख्या से गुणा होता है। यदि कार्ट में 5 से अधिक अलग पार्सल हैं, तो मूल्य तालिका इस्तेमाल होती है।
उत्पाद के वज़न को आपकी स्टोर वज़न इकाई से किलोग्राम में बदला जाता है।
शर्तें
Minimum weight (kg): कार्ट इससे हल्का हो तो विधि छिपा दें। 0 का अर्थ है कोई सीमा नहीं।
Maximum weight (kg): कार्ट इससे भारी हो तो विधि छिपा दें। डिफ़ॉल्ट: 30। 0 का अर्थ है कोई सीमा नहीं।
Minimum order amount: विधि तभी दिखाएँ जब कार्ट का उप-योग (छूट के बाद, कर से पहले) इस राशि तक पहुँचे। हमेशा दिखाने के लिए खाली छोड़ें।
Free shipping from: कार्ट का उप-योग (छूट के बाद, कर से पहले) जिससे iMile डिलीवरी मुफ़्त होती है। कभी मुफ़्त शिपिंग न देने के लिए खाली छोड़ें।
Excluded shipping classes: यदि कार्ट में इन WooCommerce शिपिंग क्लासों में से किसी का उत्पाद हो, तो विधि छिपा दें।
Tax status: Taxable शिपिंग लागत में WooCommerce टैक्स जोड़ता है, None नहीं जोड़ता। यदि तालिका की कीमतों और iMile अनुमानों में पहले से VAT शामिल है, तो None चुनें।
शिपिंग ज़ोन के बिना उपलब्धता
Ignore shipping zones: iMile को नीचे दिए देशों के लिए प्रस्तुत करता है, भले ही विधि किसी शिपिंग ज़ोन में न जोड़ी गई हो।
Countries: इस मोड के गंतव्य देश। खाली छोड़ें तो वे सभी देश इस्तेमाल होंगे जहाँ आप भेजते हैं। यह फ़ील्ड केवल तब इस्तेमाल होता है जब Ignore shipping zones चालू हो।
उन्नत
Debug log: दर गणनाओं को WooCommerce > Status > Logs में लिखता है (स्रोत "vfd_imile")। कोई कुंजी या ग्राहक का पता दर्ज नहीं होता। डीबग लॉग बंद होने पर भी विफल iMile अनुरोध हमेशा दर्ज होते हैं। काम पूरा होने पर लॉग बंद कर दें।
Remove data on uninstall: चालू होने पर प्लगइन हटाने से सभी iMile सेटिंग्स, ज़ोन विधियाँ और कैश किए गए अनुमान हट जाते हैं। प्लगइन निष्क्रिय करने से कुछ नहीं हटता।
चेकआउट पर यह कैसे काम करता है
जब ग्राहक डिलीवरी पता दर्ज करता है, तो WooCommerce प्लगइन से दर माँगता है। प्लगइन पहले शर्तें जाँचता है: डिलीवरी देश, कार्ट का वज़न, न्यूनतम ऑर्डर राशि और बाहर रखी गई शिपिंग क्लासें। यदि मुफ़्त शिपिंग लागू है, तो ग्राहक को विधि बिना शुल्क के दिखती है और iMile को कोई अनुरोध नहीं जाता।
लाइव अनुमान चालू होने पर, प्लगइन iMile को शिप-फ़्रॉम देश, प्रांत और शहर, गंतव्य देश, राज्य, शहर और पिन कोड, कार्ट का वज़न किलो में, आकार घन सेंटीमीटर में (उत्पाद के आयामों से), कार्ट का मूल्य, iMile सेवा और माल की श्रेणी भेजता है। अनुमान हमेशा प्रीपेड के रूप में माँगा जाता है, इसलिए कैश-ऑन-डिलीवरी शुल्क शामिल नहीं होते। लाइव अनुमान तभी माँगा जाता है जब ग्राहक शहर दर्ज कर चुका हो, और केवल तब जब हर पार्सल का वज़न हो। हर उत्तर 1 घंटे के लिए कैश होता है। विफल अनुरोध 5 मिनट के लिए कैश होता है। टाइमआउट या सर्वर त्रुटि के बाद 2 मिनट तक iMile से नहीं पूछा जाता, और अस्वीकृत कुंजियों के बाद 5 मिनट तक, ताकि चेकआउट हर रीफ़्रेश पर iMile का इंतज़ार न करे। API टाइमआउट 12 सेकंड है। समाप्त एक्सेस टोकन अपने-आप नवीनीकृत होता है।
अनुमान आपकी विनिमय दरों से स्टोर मुद्रा में बदला जाता है। यदि iMile उपयोगी अनुमान नहीं देता (कुंजियाँ सेट नहीं, शहर दर्ज नहीं, अज्ञात शहर, त्रुटि, टाइमआउट, विनिमय दर नहीं), तो ग्राहक को कोई त्रुटि नहीं दिखती और तालिका की कीमत इस्तेमाल होती है। यदि तालिका में भी कीमत न हो, तो विधि छिप जाती है। कारण लॉग में लिखा जाता है।
यह विधि क्लासिक चेकआउट और Cart व Checkout ब्लॉक पर काम करती है। यह WooCommerce High-Performance Order Storage (HPOS) के साथ संगत है।
प्लगइन केवल दरों की गणना करता है। यह iMile शिपमेंट नहीं बनाता, AWB लेबल प्रिंट नहीं करता, पिकअप का अनुरोध नहीं करता, पार्सल ट्रैक नहीं करता, कैश-ऑन-डिलीवरी राशि का मिलान नहीं करता, और पिकअप पॉइंट या लॉकर नहीं देता। शिपमेंट के लिए iMile पोर्टल का उपयोग करें।
लाइसेंस कुंजी
प्लगइन vibefox.net से मिली VibeFox लाइसेंस कुंजी के साथ काम करता है। लाइसेंस ब्लॉक WooCommerce > Settings > Shipping > VibeFox iMile के शीर्ष पर है। कुंजी को License key में चिपकाएँ और Activate पर क्लिक करें। ब्लॉक में स्थिति दिखती है, जैसे लाइसेंस कब तक सक्रिय है और आपका डोमेन। स्थिति दोबारा जाँचने के लिए Check now, कोई अन्य कुंजी दर्ज करने के लिए Change key, और इस साइट से कुंजी हटाने के लिए Remove key इस्तेमाल करें। Manage licenses and domains in your account लिंक आपका vibefox.net खाता खोलता है।
एक कुंजी एक डोमेन पर काम करती है। किसी साइट से कुंजी हटाने पर उस डोमेन का स्लॉट खाली नहीं होता। अपने vibefox.net खाते में स्लॉट खाली करें।
सक्रिय कुंजी के बिना, चेकआउट पर ग्राहकों को iMile नहीं दिखता। लॉग इन किए स्टोर मैनेजर इसे अब भी देखते हैं, जिस पर (unlicensed — visible to admins only) लिखा होता है, ताकि आप कुंजी खरीदने से पहले प्लगइन सेट कर सकें और परख सकें। प्लगइन पेज और WooCommerce पेजों पर एक याद दिलाने वाला संदेश दिखता है। मौजूदा ऑर्डर प्रभावित नहीं होते।
लाइसेंस समाप्त होने पर प्लगइन काम करता रहता है, लेकिन अपडेट और सहायता के लिए नवीनीकरण चाहिए। स्थिति पृष्ठभूमि में अपने-आप फिर से जाँची जाती है।
समस्या निवारण
चेकआउट पर iMile दिखाई नहीं देता: जाँचें कि लाइसेंस सक्रिय है, Enable/Disable चालू है, और विधि ग्राहक के देश के ज़ोन में जुड़ी है (या Ignore shipping zones चालू है और देश की अनुमति है)। वज़न की सीमाएँ, Minimum order amount और Excluded shipping classes जाँचें। जाँचें कि देश या * की Price table में पंक्ति है, या Price for countries not in the table सेट है।
iMile अनुमान की जगह तालिका की कीमत दिखती है: WooCommerce > Status > Logs खोलें, स्रोत "vfd_imile" चुनें, और विवरण के लिए Debug log चालू करें। आम कारण: Live estimate बंद है, कुंजियाँ नहीं हैं, ग्राहक ने अभी शहर दर्ज नहीं किया, iMile शहर की वर्तनी नहीं पहचानता, उत्पादों का वज़न नहीं है, गंतव्य मुद्रा की विनिमय दर नहीं है, या API त्रुटि है। सेटिंग्स के ऊपर की चेतावनियाँ भी देखें।
लॉग में "sign is invalid": Secret key जाँचें, फिर Signature = SimpleKey आज़माएँ।
कुंजियाँ अस्वीकार हो रही हैं: Customer ID, Secret key और Environment जाँचें। टेस्ट कुंजियाँ केवल टेस्ट सर्वर पर काम करती हैं।
शहर के नाम मेल नहीं खाते: शहर के नाम iMile शहर सूची से मेल खाने चाहिए। डेवलपर vfd_imile_live_request फ़िल्टर से इन्हें मैप कर सकते हैं, और देश कोड vfd_imile_live_country_code फ़िल्टर से।
कीमतें गलत मुद्रा में हैं: मूल्य तालिका स्टोर मुद्रा (WooCommerce > Settings > General) में है। AED, SAR या MXN टैरिफ़ दर्ज करते समय बदलें। लाइव अनुमान Exchange rates से बदले जाते हैं।
शिपिंग पर टैक्स दो बार लगता है: यदि आपकी कीमतों में पहले से VAT शामिल है, तो Tax status को None पर सेट करें।
बदलाव के बाद अनुमान पुराने लगते हैं: सेटिंग्स पेज सहेजें। इससे कैश किए गए iMile अनुमान साफ़ हो जाते हैं।
लाइसेंस ब्लॉक में त्रुटि दिखती है: ब्लॉक में दिए संदेश का पालन करें। उदाहरण के लिए, यदि कुंजी किसी दूसरे डोमेन पर पहले से उपयोग में है, तो अपने vibefox.net खाते में स्लॉट खाली करें और Check now पर क्लिक करें। यदि साइट का पता बदल गया है, तो नए डोमेन के लिए कुंजी सक्रिय करने के लिए Check now पर क्लिक करें। यदि लाइसेंस सर्वर तक नहीं पहुँचा जा सकता, तो प्लगइन आखिरी ज्ञात स्थिति पर काम करता रहता है।
अनइंस्टॉल
प्लगइन निष्क्रिय करने पर सारा डेटा रहता है। हटाने के लिए इसे निष्क्रिय करें और Plugins पेज पर डिलीट करें। इस प्लगइन की लाइसेंस कुंजी और लाइसेंस स्थिति हमेशा हटाई जाती है। सेटिंग्स, ज़ोन विधियाँ और कैश किए गए अनुमान केवल तब हटते हैं जब Remove data on uninstall चालू था। अन्यथा वे बाद में दोबारा इंस्टॉल करने के लिए रहते हैं। मौजूदा ऑर्डर अपनी शिपिंग लाइनें बनाए रखते हैं।
iMile अपने-अपने स्वामी का ट्रेडमार्क है। यह प्लगइन iMile से संबद्ध नहीं है और iMile द्वारा समर्थित नहीं है।
