VibeFox Delhivery for PrestaShop — सहायता
आवश्यकताएँ
PrestaShop: 8.0 से 9.x।
PHP: 8.0 या बाद का संस्करण। पुराने PHP संस्करणों पर मॉड्यूल इंस्टॉल नहीं होता।
Delhivery API टोकन (केवल लाइव दरों के लिए): Delhivery One में लॉग इन करें और Settings > API setup खोलें। Delhivery का सहायता लेख «API token generation» चरण बताता है। दोनों लिंक मॉड्यूल पेज पर हैं। टेस्ट टोकन staging वातावरण के साथ काम करते हैं। आपको अपने पिकअप स्थान का 6 अंकों का पिनकोड भी चाहिए। यदि आप केवल निश्चित कीमतें उपयोग करते हैं, तो टोकन की आवश्यकता नहीं है।
VibeFox लाइसेंस कुंजी: vibefox.net पर खरीदी जाती है। एक कुंजी एक डोमेन पर काम करती है।
इंस्टॉलेशन
1. बैक ऑफिस में Modules > Module Manager पर जाएँ और Upload a module पर क्लिक करें। मॉड्यूल की ZIP फ़ाइल चुनें।
2. अपलोड पूरा होने पर Configure पर क्लिक करें, या बाद में मॉड्यूल सूची में VibeFox Delhivery खोजकर Configure पर क्लिक करें।
3. Configure पेज के ऊपर वाले लाइसेंस ब्लॉक में License key फ़ील्ड में अपनी VibeFox लाइसेंस कुंजी दर्ज करें और Activate पर क्लिक करें (देखें लाइसेंस कुंजी)।
4. API टोकन और अपना origin पिनकोड दर्ज करें, Express या Surface तथा Pre-paid या COD चुनें। यदि आपके स्टोर की डिफ़ॉल्ट मुद्रा INR नहीं है, तो conversion rate दर्ज करें। वैकल्पिक रूप से निश्चित कीमतें दर्ज करें (कॉन्फ़िगरेशन देखें)। Save पर क्लिक करें।
इंस्टॉल होने पर मॉड्यूल Delhivery कैरियर बनाता है, जिसका डिलीवरी समय टेक्स्ट Courier delivery (India) है और ट्रैकिंग URL के रूप में Delhivery का ट्रैकिंग पेज है। कैरियर सभी ज़ोन और सभी ग्राहक समूहों को सौंपा जाता है। ज़ोन, ग्राहक समूह, डिलीवरी समय, लोगो और आकार की सीमाएँ आप Shipping > Carriers में बदल सकते हैं। वहाँ कीमतें सेट न करें: कीमत हमेशा मॉड्यूल से आती है।
कॉन्फ़िगरेशन
सभी सेटिंग्स मॉड्यूल पेज पर हैं: Modules > Module Manager > VibeFox Delhivery > Configure। ये सभी ज़ोन पर लागू होती हैं। हर सेक्शन का अपना Save बटन है, जो पूरा पेज सेव करता है। हर सेव के साथ कैश की गई Delhivery दरें भी साफ़ हो जाती हैं। राशि के लिए "9.99" और "9,99" दोनों स्वीकार होते हैं। यदि किसी संख्या फ़ील्ड में गैर-ऋणात्मक संख्या नहीं है, तो एक त्रुटि दिखती है और कुछ भी सेव नहीं होता।
यदि आपके स्टोर की डिफ़ॉल्ट मुद्रा INR नहीं है, API टोकन सेव है और conversion rate सेट नहीं है, तो फ़ॉर्म के ऊपर की चेतावनी याद दिलाती है कि conversion rate दर्ज करने तक लाइव दरें उपयोग नहीं होतीं। यदि आपके स्टोर की वज़न इकाई मानक इकाई (kg, g, lb या oz) नहीं है, तो एक चेतावनी आपसे इसे International > Localization (Local units) में सेट करने को कहती है, क्योंकि अन्यथा उत्पादों का वज़न किलोग्राम माना जाएगा।
सामान्य
Enable Delhivery: कैरियर को चालू या बंद करता है। यह Shipping > Carriers में कैरियर की स्थिति वाला ही स्विच है।
Method title: कार्ट और चेकआउट में दिखने वाला कैरियर का नाम। डिफ़ॉल्ट: Delhivery। आवश्यक, अधिकतम 64 अक्षर।
Tax: कैरियर का टैक्स नियम, या No tax। नियम होने पर PrestaShop शिपिंग लागत पर टैक्स जोड़ता है।
Delhivery API खाता (केवल लाइव दरों के लिए आवश्यक)
Environment: Production (track.delhivery.com) (डिफ़ॉल्ट) या Staging / test account (staging-express.delhivery.com)। Staging का उपयोग केवल Delhivery टेस्ट टोकन के साथ करें।
API token: आपका Delhivery API टोकन। यह केवल authorization हेडर में भेजा जाता है और कभी लॉग में नहीं लिखा जाता। सेव करने के बाद फ़ील्ड खाली रहता है और Saved — leave empty to keep it. दिखाता है। केवल बदलने के लिए नया मान दर्ज करें।
Remove saved token: इसे चालू करके सेव करने पर सहेजा गया टोकन हट जाता है। उसके बाद केवल निश्चित कीमतें उपयोग होती हैं।
Origin pincode: आपके पिकअप स्थान या गोदाम का 6 अंकों का पिनकोड, उदाहरण के लिए 110001। यदि यह 6 अंकों का नहीं है, तो चेतावनी दिखती है और इसे ठीक होने तक लाइव दरों का अनुरोध नहीं किया जाता।
लाइव दरें
वैध 6 अंकों के पिनकोड वाले भारतीय गंतव्यों के लिए, फ़ॉरवर्ड (डिलीवर होने वाली) शिपमेंट के लिए लाइव दर का अनुरोध किया जाता है।
Shipping mode: दर के लिए उपयोग होने वाला Delhivery बिलिंग मोड: Express (डिफ़ॉल्ट) या Surface।
Payment type: Delhivery को भेजा जाने वाला भुगतान प्रकार: Pre-paid (डिफ़ॉल्ट) या COD (cash on delivery — Delhivery adds its COD charge)। मॉड्यूल इसे ग्राहक द्वारा चुनी गई भुगतान विधि के अनुसार नहीं बदलता।
Rate amount: Delhivery GST सहित और GST रहित, दोनों राशियाँ लौटाता है।
INR to (shop currency) conversion rate: लेबल आपके स्टोर की डिफ़ॉल्ट मुद्रा दिखाता है। Delhivery की दरें भारतीय रुपये में हैं। यदि आपकी डिफ़ॉल्ट मुद्रा INR नहीं है, तो दर्ज करें कि एक रुपया आपकी मुद्रा की कितनी इकाइयों के बराबर है, उदाहरण के लिए 0.011। दर 0 से अधिक होनी चाहिए। इसे खाली छोड़ने पर लाइव दरें उपयोग नहीं होतीं और निश्चित कीमतें लागू होती हैं। यदि आपकी डिफ़ॉल्ट मुद्रा INR है, तो इसकी आवश्यकता नहीं है।
निश्चित कीमतें (जब कोई लाइव दर उपलब्ध न हो तब उपयोग होती हैं)
निश्चित कीमतें तब उपयोग होती हैं जब अभी तक टोकन या पिनकोड नहीं है, गंतव्य भारत के बाहर है, पिनकोड पर सेवा उपलब्ध नहीं है, या API कोई त्रुटि लौटाता है। ये आपके स्टोर की डिफ़ॉल्ट मुद्रा में, टैक्स को छोड़कर होती हैं।
Prices per country: प्रति पंक्ति एक, COUNTRY_CODE:price प्रारूप में, उदाहरण के लिए IN:120। ये वैकल्पिक कीमत से पहले जाँची जाती हैं। किसी अन्य प्रारूप वाली पंक्तियाँ सेव करते समय हटा दी जाती हैं, और एक चेतावनी उन्हें सूचीबद्ध करती है।
Fallback price: तब उपयोग होती है जब न लाइव दर लागू होती है न देश की कीमत। कैरियर छिपाने के लिए इसे खाली छोड़ें। 0 का अर्थ है मुफ़्त।
Fixed price is charged: Per order कीमत एक बार लेता है। Per item (price × quantity) इसे कार्ट में आइटमों की संख्या से गुणा करता है। Delhivery की लाइव दर हमेशा पूरे पार्सल के वज़न के लिए होती है।
शर्तें
Free shipping from: यदि कार्ट का सबटोटल (शिपिंग की आवश्यकता वाले उत्पाद, छूट के बाद, टैक्स से पहले) इस राशि के बराबर या अधिक है, तो डिलीवरी मुफ़्त है। Delhivery को कोई अनुरोध नहीं भेजा जाता। बंद करने के लिए खाली छोड़ें।
Show from subtotal: कैरियर तभी दिखाएँ जब कार्ट का सबटोटल इस राशि के बराबर या अधिक हो। हमेशा दिखाने के लिए खाली छोड़ें।
Min weight: कैरियर दिखाने के लिए कार्ट का न्यूनतम वज़न, किलोग्राम में। 0 का अर्थ है कोई सीमा नहीं।
Max weight: यदि कार्ट इससे भारी है, तो कैरियर छिपाएँ, किलोग्राम में। डिफ़ॉल्ट: 30। 0 का अर्थ है कोई सीमा नहीं, खाली फ़ील्ड का अर्थ है 30 kg। Min weight, Max weight से अधिक नहीं हो सकता: पेज एक त्रुटि दिखाता है और कुछ भी सेव नहीं होता।
उत्पादों का वज़न आपके स्टोर की वज़न इकाई से kg में बदला जाता है। दर कार्ट का वास्तविक वज़न (उत्पाद वज़न का योग) उपयोग करती है, वॉल्यूमेट्रिक वज़न या डिब्बे नहीं।
शिपिंग ज़ोन के बिना उपलब्धता
Ignore zones: बंद होने पर देश Shipping > Carriers में कैरियर के ज़ोन से तय होते हैं। चालू होने पर कैरियर सभी ज़ोन से जुड़ जाता है (बाद में बनाए गए ज़ोन सहित) और नीचे दिए गए देशों के लिए पेश किया जाता है। इसे बंद करने पर कैरियर को उसके पिछले ज़ोन वापस मिल जाते हैं।
Countries: इस मोड के लिए गंतव्य देश, आपके सक्रिय देशों में से चुने गए। सभी देशों का उपयोग करने के लिए खाली छोड़ें जहाँ आप शिप करते हैं। केवल तब उपयोग होता है जब Ignore zones चालू हो।
एडवांस्ड
Debug log: दर गणनाएँ मॉड्यूल फ़ोल्डर में logs/vfd_dlv_debug.log.php में लिखता है। यह फ़ाइल वेब से नहीं खोली जा सकती। API त्रुटियाँ हमेशा दर्ज होती हैं, भले ही यह बंद हो। टोकन और ग्राहकों के पूरे पिनकोड कभी दर्ज नहीं होते।
Log: लॉग का आकार और नवीनतम प्रविष्टियाँ दिखाता है। उसे खाली करने के लिए Clear log पर क्लिक करें।
Remove data on uninstall: चालू होने पर मॉड्यूल अनइंस्टॉल करने से Delhivery सेटिंग्स, कैरियर, कैश की गई दरें, ऑर्डर डेटा और लॉग हट जाते हैं। बंद होने पर पुनः इंस्टॉल के लिए सब कुछ रखा जाता है। ऑर्डरों के AWB नंबर कभी नहीं हटते।
चेकआउट पर यह कैसे काम करता है
शिपिंग चरण में PrestaShop मॉड्यूल से Delhivery की कीमत माँगता है। केवल भौतिक उत्पाद गिने जाते हैं: वर्चुअल उत्पाद वज़न नहीं जोड़ते और सबटोटल में शामिल नहीं होते। मॉड्यूल पहले देश जाँचता है (जब Ignore zones चालू हो), फिर कार्ट का वज़न और Show from subtotal। यदि मुफ़्त शिपिंग लागू होती है, तो कीमत 0 होती है और Delhivery को कोई अनुरोध नहीं भेजा जाता।
6 अंकों के वैध पिनकोड वाले भारतीय पते के लिए मॉड्यूल Delhivery को origin और गंतव्य पिनकोड, ग्राम में कार्ट का वज़न, शिपिंग मोड और भुगतान प्रकार भेजता है। लौटाई गई राशि INR से आपके स्टोर की डिफ़ॉल्ट मुद्रा में बदली जाती है और फिर ग्राहक की कार्ट मुद्रा में दिखाई जाती है। हर उत्तर 1 घंटे के लिए कैश होता है। असफल अनुरोध 10 मिनट के लिए कैश होता है, ताकि चेकआउट हर रिफ़्रेश पर Delhivery का इंतज़ार न करे। API टाइमआउट 10 सेकंड है।
यदि कोई लाइव दर नहीं है, तो देश की कीमत या वैकल्पिक कीमत उपयोग होती है। यदि दोनों सेट नहीं हैं, तो कैरियर छिप जाता है। ग्राहक को कभी API त्रुटि नहीं दिखती। कारण लॉग में लिखा जाता है।
यदि आप Shipping > Carriers में कैरियर को उसके ऑर्डर आने के बाद संपादित करते हैं, तो PrestaShop उसे कैरियर के नए संस्करण के रूप में सेव करता है। मॉड्यूल नए संस्करण का अनुसरण स्वतः करता है।
मॉड्यूल दरें गणना करता है और ग्राहकों को ट्रैकिंग लिंक देता है। यह शिपमेंट या वेबिल नहीं बनाता, लेबल प्रिंट नहीं करता, पिकअप या मैनिफ़ेस्ट का अनुरोध नहीं करता, पिनकोड की सेवा-उपलब्धता नहीं जाँचता, डिलीवरी तिथियों का अनुमान नहीं लगाता, ट्रैकिंग स्थिति सिंक नहीं करता और Delhivery की अंतरराष्ट्रीय दरें नहीं बताता। भारत के बाहर केवल निश्चित कीमतें उपयोग होती हैं।
ऑर्डर और ट्रैकिंग
जब Delhivery के साथ ऑर्डर दिया जाता है, तो मॉड्यूल शिपिंग मोड और कीमत के स्रोत को ऑर्डर के साथ सेव करता है। एडमिन ऑर्डर पेज पर Delhivery ब्लॉक Mode: (Express या Surface), Price: (Delhivery लाइव दर, निश्चित कीमत या मुफ़्त शिपिंग सीमा) और Delhivery AWB / tracking number दिखाता है, या यदि दर्ज नहीं है तो Not entered yet.
Delhivery One में शिपमेंट बनाएँ, फिर ऑर्डर पेज के Carriers ब्लॉक (Edit) में उसका AWB नंबर ऑर्डर के ट्रैकिंग नंबर के रूप में दर्ज करें। तब Delhivery ब्लॉक में Track on delhivery.com लिंक दिखता है। ग्राहक को ऑर्डर इतिहास में ट्रैकिंग लिंक दिखता है और उसे PrestaShop से «ट्रांज़िट में» स्थिति वाला ईमेल मिलता है।
लाइसेंस कुंजी
मॉड्यूल vibefox.net से प्राप्त VibeFox लाइसेंस कुंजी के साथ काम करता है। लाइसेंस ब्लॉक License — VibeFox Delhivery मॉड्यूल के Modules > Module Manager > VibeFox Delhivery > Configure पेज पर सेटिंग्स के ऊपर पहला ब्लॉक है। कुंजी License key में डालें और Activate पर क्लिक करें। इसके बाद ब्लॉक कुंजी को मास्क करके, स्थिति (जैसे लाइसेंस किस तारीख तक सक्रिय है और आपका डोमेन) और ये बटन दिखाता है: स्थिति फिर से जाँचने के लिए Check now, दूसरी कुंजी दर्ज करने के लिए Change key, और इस स्टोर से कुंजी हटाने के लिए Remove key। इनके नीचे Product: presta-shipping-delhivery वाली पंक्ति और Manage licenses and domains in your account लिंक है, जो आपका vibefox.net खाता खोलता है। कुंजी केवल वे कर्मचारी बदल सकते हैं जिनके पास इस मॉड्यूल के लिए Configure अनुमति है। ब्लॉक के टेक्स्ट बैक ऑफ़िस की भाषा के अनुसार दिखते हैं (अंग्रेज़ी और रूसी शामिल हैं)।
यदि कुंजी स्वीकार नहीं होती, तो ब्लॉक कारण बताता है, जैसे Key not found, This key belongs to another product, Domain limit reached, या तारीख के साथ License expired on। स्टोर का पता बदलने के बाद, या अपने खाते में डोमेन स्लॉट खाली करने के बाद, Check now पर क्लिक करें। यदि लाइसेंस सर्वर तक पहुँच नहीं होती, तो मॉड्यूल आख़िरी ज्ञात स्थिति पर काम करता रहता है।
एक कुंजी एक डोमेन पर काम करती है: मुख्य स्टोर का डोमेन, मल्टीस्टोर सेटअप में भी। स्टोर से कुंजी हटाने से उसका डोमेन स्लॉट खाली नहीं होता। स्लॉट अपने vibefox.net खाते में खाली करें।
सक्रिय कुंजी के बिना ग्राहकों को चेकआउट पर Delhivery कैरियर नहीं दिखाया जाता, और कोई दर भी नहीं निकाली जाती। PrestaShop स्टोरफ़्रंट को नहीं पता कि आप बैक ऑफ़िस में लॉग इन हैं, इसलिए कैरियर आपसे भी छिपा रहता है: आप कुंजी खरीदने से पहले मॉड्यूल सेट कर सकते हैं, लेकिन चेकआउट पर उसे टेस्ट नहीं कर सकते। Modules > Module Manager में Alerts टैब पर एक याद दिलाने वाला संदेश दिखता है। मौजूदा ऑर्डर प्रभावित नहीं होते।
लाइसेंस समाप्त होने पर मॉड्यूल चलता रहता है, लेकिन अपडेट और सपोर्ट के लिए नवीनीकरण ज़रूरी है। बैक ऑफ़िस में काम करते समय स्थिति अपने-आप फिर जाँची जाती है: कुंजी दर्ज करने के बाद पहले 14 दिनों तक रोज़ एक बार, फिर हर हफ़्ते एक बार। कोई cron जॉब नहीं चाहिए। मॉड्यूल अनइंस्टॉल या रीसेट करने पर लाइसेंस कुंजी और लाइसेंस स्थिति हमेशा हटा दी जाती है।
समस्या निवारण
चेकआउट पर Delhivery नहीं दिखता: जाँचें कि लाइसेंस सक्रिय है और Enable Delhivery चालू है। Shipping > Carriers में जाँचें कि कैरियर ग्राहक के देश के ज़ोन और ग्राहक के समूह को कवर करता है, या Ignore zones चालू करके Countries जाँचें। वज़न की सीमाएँ और Show from subtotal जाँचें। लाइव दर के बिना देश की कीमत या Fallback price की आवश्यकता होती है। उत्पाद पेज पर उत्पादों को कुछ कैरियर तक सीमित भी किया जा सकता है।
लाइव दरें दिखाई नहीं देतीं: API टोकन, एक वैध Origin pincode और, यदि डिफ़ॉल्ट मुद्रा INR नहीं है, तो conversion rate जाँचें। ग्राहक को 6 अंकों का वैध भारतीय पिनकोड दर्ज करना होगा। Debug log चालू करें, चेकआउट रीलोड करें और मॉड्यूल पेज पर Log फ़ील्ड देखें। उसमें कारण दिखता है, उदाहरण के लिए ऐसा पिनकोड जिस पर सेवा नहीं है, या Delhivery से HTTP त्रुटि।
GST दोबारा लगता है: Delhivery की कुल राशि में GST पहले से शामिल है। Rate amount को Gross amount (excluding GST) पर सेट करें, या Tax को No tax पर सेट करें।
परीक्षण: Environment को Staging पर सेट करें और Delhivery का टेस्ट टोकन उपयोग करें।
बदलाव के बाद दरें पुरानी लगती हैं: मॉड्यूल पेज पर Save पर क्लिक करें। इससे कैश की गई Delhivery दरें साफ़ हो जाती हैं।
पेज कहता है कि Delhivery कैरियर नहीं मिला: कैरियर Shipping > Carriers में हटा दिया गया था। उसे दोबारा बनाने के लिए Modules > Module Manager में मॉड्यूल को रीसेट करें।
डेवलपर्स के लिए: मॉड्यूल actionVfdDlvApiUrl और actionVfdDlvApiTimeout हुक चलाता है, जो API का पता और टाइमआउट बदल सकते हैं।
अनइंस्टॉल
Modules > Module Manager पर जाएँ, VibeFox Delhivery के बगल वाला मेनू खोलें और Uninstall चुनें। लाइसेंस कुंजी, लाइसेंस स्थिति और कैश की गई दरें हमेशा हटा दी जाती हैं। यदि Remove data on uninstall चालू है, तो कैरियर को उसके पिछले ज़ोन वापस मिलते हैं और वह हटा दिया जाता है (ऑर्डर अपना इतिहास रखते हैं), और सेटिंग्स, लॉग तथा ऑर्डरों का Delhivery डेटा (मोड और कीमत का स्रोत) हटा दिए जाते हैं। यदि यह बंद है, तो कैरियर केवल निष्क्रिय होता है और सभी सेटिंग्स रखी जाती हैं। मॉड्यूल फिर से इंस्टॉल करने पर कैरियर अपनी पिछली स्थिति के साथ बहाल हो जाता है। AWB नंबर ऑर्डरों में बने रहते हैं।
Delhivery अपने संबंधित स्वामी का ट्रेडमार्क है। यह मॉड्यूल Delhivery से संबद्ध नहीं है और न ही Delhivery द्वारा अनुमोदित है।
