VibeFox EasyPost for PrestaShop — सहायता
आवश्यकताएँ
PrestaShop: 8.0 से 9.x।
PHP: cURL एक्सटेंशन के साथ 8.0 या उसके बाद का संस्करण। इनके बिना मॉड्यूल इंस्टॉल नहीं होगा।
EasyPost खाता (केवल लाइव दरों के लिए): EasyPost की वेबसाइट पर खाता बनाएँ, EasyPost डैशबोर्ड में अपने कैरियर खाते (USPS, UPS, FedEx और अन्य) जोड़ें, और EasyPost Dashboard > Account Settings > API Keys से API कुंजी कॉपी करें। EasyPost खरीदे गए लेबल पर शुल्क लेता है, दर पूछने पर नहीं। यदि आप केवल फ़ॉलबैक कीमतों का उपयोग करते हैं, तो EasyPost खाते की ज़रूरत नहीं है।
उत्पाद: उत्पादों का वज़न होना चाहिए, और बेहतर होगा कि आयाम (डाइमेंशन) भी हों।
VibeFox लाइसेंस कुंजी: vibefox.net पर खरीदी जाती है। एक कुंजी केवल एक डोमेन पर काम करती है।
इंस्टॉलेशन
1. बैक ऑफ़िस में Modules > Module Manager पर जाएँ और Upload a module पर क्लिक करें। मॉड्यूल की ZIP फ़ाइल चुनें।
2. अपलोड पूरा होने पर Configure पर क्लिक करें, या बाद में मॉड्यूल सूची में VibeFox EasyPost ढूँढकर Configure पर क्लिक करें।
3. Configure पेज के सबसे ऊपर वाले लाइसेंस ब्लॉक में License key फ़ील्ड में अपनी VibeFox लाइसेंस कुंजी दर्ज करें और Activate पर क्लिक करें (देखें लाइसेंस कुंजी)।
4. अपनी EasyPost API कुंजी चिपकाएँ और Ship from पता भरें। लाइव दरों के लिए ZIP कोड ज़रूरी है।
5. यदि आपकी डिफ़ॉल्ट मुद्रा USD नहीं है, तो USD exchange rate दर्ज करें। चाहें तो फ़ॉलबैक कीमतें भी दर्ज करें (देखें कॉन्फ़िगरेशन)। Save पर क्लिक करें।
इंस्टॉल होने पर मॉड्यूल EasyPost Shipping कैरियर बनाता है, जिसका डिलीवरी समय टेक्स्ट Live carrier rate (EasyPost) होता है। यह कैरियर सभी ज़ोन और सभी ग्राहक समूहों को सौंपा जाता है। ज़ोन, ग्राहक समूह, डिलीवरी समय, लोगो और आकार की सीमाएँ Shipping > Carriers में बदली जा सकती हैं। वहाँ कीमतें सेट न करें: कीमत हमेशा मॉड्यूल से आती है।
कॉन्फ़िगरेशन
सभी सेटिंग्स मॉड्यूल के पेज पर हैं: Modules > Module Manager > VibeFox EasyPost > Configure। हर सेक्शन का अपना Save बटन है, जो पूरा पेज सहेजता है। हर सेव के साथ कैश्ड EasyPost दरें भी साफ़ हो जाती हैं।
पेज के ऊपर, जब लाइव दरों का उपयोग नहीं हो सकता, तब मॉड्यूल चेतावनियाँ दिखाता है: API कुंजी न होने पर (फ़ॉलबैक कीमतों के साथ या बिना), शिप-फ़्रॉम ZIP कोड या देश न होने पर, या बिना विनिमय दर के डिफ़ॉल्ट मुद्रा USD से अलग होने पर। टेस्ट API कुंजी सेट होने पर एक नोट, मॉड्यूल का कैरियर हटाए जाने पर एक त्रुटि, और स्टोर की वज़न या आयाम इकाई (International > Localization) मॉड्यूल की जानी-पहचानी इकाइयों में न होने पर (kg, g, lb, oz; cm, mm, m, in) चेतावनी दिखती है।
सेव करते समय, जो मान संख्या नहीं है (या ऋणात्मक है), वह सेव नहीं होता: चेतावनी फ़ील्ड का नाम बताती है और पिछला मान बना रहता है। यही बात तब भी होती है जब USD exchange rate 0 हो, या जब Minimum weight, Maximum weight से बड़ा हो।
सामान्य
Enable EasyPost shipping: कैरियर को चालू या बंद करता है। यह वही स्विच है जो Shipping > Carriers में कैरियर की स्थिति है। डिफ़ॉल्ट: on।
Name: चेकआउट पर ग्राहक को दिखाया जाने वाला कैरियर नाम, अधिकतम 64 अक्षर। लंबा नाम अस्वीकार होता है और कुछ भी सेव नहीं होता। डिफ़ॉल्ट: EasyPost Shipping। यदि नाम खाली है या उसमें ऐसे अक्षर हैं जो PrestaShop कैरियर नाम में अनुमति नहीं देता, तो डिफ़ॉल्ट नाम इस्तेमाल होता है।
EasyPost खाता
API key: EasyPost Dashboard > Account Settings > API Keys से आपकी EasyPost API कुंजी। प्रोडक्शन कुंजी (EZAK से शुरू) असली दरें लौटाती है। टेस्ट कुंजी (EZTK से शुरू) EasyPost की टेस्ट दरें लौटाती है; इसे केवल परीक्षण के लिए उपयोग करें। सेव करने के बाद फ़ील्ड खाली रहता है और सहेजी गई कुंजी मास्क करके दिखती है, जैसे EZAK******abcd। कुंजी रखने के लिए फ़ील्ड खाली छोड़ दें। केवल बदलना हो तो नया मान दर्ज करें।
Remove the saved API key: सहेजी गई कुंजी हटाने के लिए यह बॉक्स चुनें और Save पर क्लिक करें।
Allowed carriers / services: वैकल्पिक, कॉमा से अलग किया हुआ। EasyPost के नामों के अनुसार कैरियर (USPS) या कैरियर और सेवा (USPS:Priority, UPS:Ground) दर्ज करें। अनुमत दरों में सबसे सस्ती दर दिखाई जाती है। किसी भी कैरियर की सबसे सस्ती दर दिखाने के लिए खाली छोड़ें।
शिप फ़्रॉम
वह पता जहाँ से आपके पार्सल भेजे जाते हैं। यदि Country आपके स्टोर का देश है, तो खाली फ़ील्ड Shop Parameters > Contact > Stores के स्टोर पते से भरे जाते हैं (और भेजने वाले का नाम स्टोर के नाम से)।
Sender name / company: भेजने वाले का नाम या कंपनी।
Street address: शिप-फ़्रॉम पते की सड़क।
City: शिप-फ़्रॉम पते का शहर।
State: दो अक्षरों वाला राज्य कोड, जैसे CA या NY।
ZIP code: शिप-फ़्रॉम पते का ZIP या पोस्टल कोड। लाइव दरों के लिए ज़रूरी।
Country: वह देश जहाँ से आप भेजते हैं। डिफ़ॉल्ट: United States।
दरें
Parcels: कार्ट EasyPost को कैसे भेजा जाता है।
वज़न आपके स्टोर की इकाई से औंस (न्यूनतम 1 oz) में और आयाम इंच में बदले जाते हैं। यदि किसी उत्पाद का आयाम नहीं है, तो पार्सल केवल वज़न से आँका जाता है।
USD exchange rate: EasyPost की दरें USD में होती हैं। अपनी डिफ़ॉल्ट मुद्रा में 1 USD का मूल्य दर्ज करें, जैसे 0.92। इसके बिना लाइव दरें इस्तेमाल नहीं होतीं, केवल फ़ॉलबैक कीमतें। डिफ़ॉल्ट मुद्रा USD होने पर इसकी ज़रूरत नहीं है। USD और CAD वाले स्टोर EasyPost से अपनी मुद्रा में कोटेशन माँगते हैं। दशमलव विभाजक के रूप में बिंदु और कॉमा दोनों स्वीकार होते हैं।
Tax: कैरियर का टैक्स नियम, या No tax। EasyPost की दरों में बिक्री कर शामिल नहीं होता। शिपिंग पर लागू होने वाले टैक्स नियम चुनें।
फ़ॉलबैक कीमतें
जब कोई लाइव दर न हो तब इस्तेमाल होती हैं: API कुंजी न होने पर, EasyPost तक पहुँच न होने पर, कुंजी अस्वीकृत होने पर, या किसी कैरियर के पास पते के लिए दर न होने पर। कीमतें डिफ़ॉल्ट मुद्रा में और टैक्स के बिना होती हैं। इस स्थिति में कैरियर को छिपाने के लिए दोनों फ़ील्ड खाली छोड़ें।
Country prices: हर देश के लिए एक पंक्ति: दो अक्षरों वाला देश कोड, कोलन और कीमत, जैसे US:9.99। किसी दूसरे फ़ॉर्मैट की पंक्तियाँ अनदेखी होती हैं और सेव करते समय चेतावनी में सूचीबद्ध होती हैं।
Other countries: ऊपर की सूची में न होने वाले देशों की कीमत। इन देशों के लिए कैरियर छिपाने के लिए खाली छोड़ें।
शर्तें
Free shipping from: कार्ट का सबटोटल (भेजे जाने वाले उत्पाद, छूट के बाद, टैक्स से पहले, डिफ़ॉल्ट मुद्रा में) जिस राशि से शिपिंग मुफ़्त होती है। इस स्थिति में EasyPost को कोई अनुरोध नहीं भेजा जाता। बंद करने के लिए खाली छोड़ें।
Minimum subtotal: कैरियर तभी दिखाएँ जब कार्ट का सबटोटल (भेजे जाने वाले उत्पाद, छूट के बाद, टैक्स से पहले) कम से कम इतनी राशि हो। हमेशा दिखाने के लिए खाली छोड़ें।
Minimum weight: जब कार्ट का वज़न इससे कम हो, तो कैरियर छिपाएँ। वज़न आपके स्टोर की वज़न इकाई में है (फ़ील्ड के लेबल में दिखाई गई)। 0 का मतलब कोई सीमा नहीं।
Maximum weight: जब कार्ट का वज़न इससे अधिक हो, तो कैरियर छिपाएँ। वज़न आपके स्टोर की वज़न इकाई में है। 0 का मतलब कोई सीमा नहीं।
शिपिंग ज़ोन के बिना उपलब्धता
आमतौर पर कैरियर उन ज़ोन में दिया जाता है जो Shipping > Carriers में उसे सौंपे गए हैं। वैकल्पिक रूप से, इसे ज़ोन से स्वतंत्र होकर देश के आधार पर भी दिया जा सकता है।
Ignore shipping zones: नीचे दिए गए देशों के लिए कैरियर देता है, चाहे उनका ज़ोन कैरियर को सौंपा गया हो या नहीं। जब आप इस विकल्प के चालू रहते सेव करते हैं, तो कैरियर बाद में बने ज़ोन सहित सभी ज़ोन को सौंप दिया जाता है। इसे बंद करने पर कैरियर को उसके पिछले ज़ोन वापस मिल जाते हैं।
Countries: इस मोड के लिए गंतव्य देश। कई चुनने के लिए Ctrl+क्लिक करें। आपके स्टोर के सभी सक्रिय देश इस्तेमाल करने के लिए खाली छोड़ें। यह फ़ील्ड केवल तब इस्तेमाल होता है जब Ignore shipping zones चालू हो।
उन्नत
Debug log: EasyPost अनुरोधों को modules/vfd_easypost/logs/vfd_ep.log.php में लिखता है। यह फ़ाइल वेब से नहीं खुल सकती और 5 MB पर रोटेट होती है। API त्रुटियाँ हमेशा दर्ज होती हैं, भले ही यह विकल्प बंद हो। API कुंजी और ग्राहक के पते कभी दर्ज नहीं होते।
Remove data on uninstall: चालू होने पर, मॉड्यूल अनइंस्टॉल करने से उसकी सेटिंग्स, टेबल और लॉग हट जाते हैं। मॉड्यूल को बंद करने से सेटिंग्स कभी नहीं हटतीं।
Log: सेटिंग्स के नीचे का पैनल लॉग की नवीनतम 100 पंक्तियाँ दिखाता है। खाली करने के लिए Clear log पर क्लिक करें।
चेकआउट पर यह कैसे काम करता है
शिपिंग चरण पर PrestaShop मॉड्यूल से EasyPost की कीमत माँगता है। केवल भौतिक उत्पाद गिने जाते हैं: वर्चुअल उत्पाद वज़न नहीं जोड़ते और सबटोटल में शामिल नहीं होते। मॉड्यूल पहले शर्तें जाँचता है: गंतव्य देश (Ignore shipping zones के साथ), कार्ट का वज़न और न्यूनतम सबटोटल। यदि मुफ़्त शिपिंग लागू होती है, तो कीमत 0 होती है और EasyPost को कोई अनुरोध नहीं जाता।
अन्यथा मॉड्यूल EasyPost को शिप-फ़्रॉम पता, डिलीवरी पता और पार्सल भेजता है, और आपके सभी कैरियर खातों की दरें प्राप्त करता है। वह अनुमत सबसे सस्ती दर चुनता है, उसे आपकी डिफ़ॉल्ट मुद्रा में बदलता है और ग्राहक की कार्ट मुद्रा में दिखाता है। जिन देशों में पोस्टल कोड चाहिए, वहाँ अनुरोध तभी जाता है जब डिलीवरी पते में पोस्टल कोड हो। ग्राहक के पता दर्ज करने से पहले केवल विज़िटर का देश ज्ञात होता है, इसलिए पोस्टल कोड वाले देशों को पता दर्ज होने तक फ़ॉलबैक कीमत मिलती है।
हर उत्तर एक ही पते और पार्सल के लिए 1 घंटे तक कैश में रहता है। जिस पते पर उपयोगी दरें नहीं मिलतीं, वह 10 मिनट तक याद रखा जाता है। टाइमआउट, अस्वीकृत कुंजी, दर सीमा या EasyPost सर्वर त्रुटि के बाद 5 मिनट तक कोई अनुरोध नहीं जाता। API टाइमआउट 10 सेकंड है। इन सभी स्थितियों में ग्राहक को कोई त्रुटि नहीं दिखती: फ़ॉलबैक कीमत इस्तेमाल होती है, या फ़ॉलबैक कीमत न होने पर कैरियर छिपा दिया जाता है। कारण लॉग में लिखा जाता है।
यदि कैरियर के पास ऑर्डर होने के बाद आप उसे Shipping > Carriers में संपादित करते हैं, तो PrestaShop उसे कैरियर के नए संस्करण के रूप में सहेजता है। मॉड्यूल नए संस्करण को अपने-आप मान लेता है।
मॉड्यूल केवल दरों की गणना करता है। वह लेबल नहीं खरीदता, पार्सल ट्रैक नहीं करता, पते की पुष्टि नहीं करता, पिकअप या ड्रॉप-ऑफ स्थान नहीं देता, और बीमा या हस्ताक्षर विकल्प नहीं जोड़ता। वह एक ही विकल्प (अनुमत सबसे सस्ती दर) दिखाता है, सेवाओं की सूची नहीं। आइटम को एक पार्सल में रखने के अलावा कोई बॉक्स पैकिंग नहीं है, और दर पर कोई मार्कअप या हैंडलिंग शुल्क नहीं है।
ऑर्डर
जब EasyPost कैरियर वाला ऑर्डर दिया जाता है, तो चेकआउट पर दिखाई गई दर ऑर्डर के साथ रखी जाती है। बैक ऑफ़िस के ऑर्डर पेज पर EasyPost shipping ब्लॉक दिखता है:
Carrier / service: दर का EasyPost कैरियर और सेवा, जैसे USPS Priority। प्रति आइटम एक पार्सल मोड में इस्तेमाल की गई सभी सेवाएँ सूचीबद्ध होती हैं।
Estimated delivery days: EasyPost द्वारा लौटाए गए डिलीवरी दिन (केवल प्रति ऑर्डर एक पार्सल मोड में, जब EasyPost उन्हें लौटाए)।
Price source: Live EasyPost rate, Fallback price (no live rate) या Free shipping threshold।
Calculated price (excl. tax): डिफ़ॉल्ट मुद्रा में कीमत।
बैक ऑफ़िस में कार्ट में बाद के बदलाव ये मान नहीं बदलते। इनका उपयोग अपने EasyPost खाते में लेबल खरीदने के लिए करें। छोड़े गए कार्ट की दरें 30 दिन बाद हटा दी जाती हैं।
लाइसेंस कुंजी
यह मॉड्यूल vibefox.net से प्राप्त VibeFox लाइसेंस कुंजी के साथ काम करता है। लाइसेंस ब्लॉक License — VibeFox EasyPost Modules > Module Manager > VibeFox EasyPost > Configure का पहला ब्लॉक है, सेटिंग्स के ऊपर। कुंजी License key में दर्ज करें और Activate पर क्लिक करें। उसके बाद ब्लॉक में कुंजी छिपाकर (मास्क करके), स्थिति (जैसे लाइसेंस किस तारीख तक सक्रिय है और आपका डोमेन) दिखती है, साथ ही बटन: Check now स्थिति दोबारा जाँचने के लिए, Change key दूसरी कुंजी दर्ज करने के लिए और Remove key इस दुकान से कुंजी हटाने के लिए। इनके नीचे पंक्ति Product: presta-shipping-easypost और लिंक 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 खाते में स्लॉट मुक्त करें।
सक्रिय कुंजी के बिना EasyPost कैरियर चेकआउट पर ग्राहकों को नहीं दिखता और कोई दर नहीं निकाली जाती। PrestaShop स्टोरफ़्रंट को नहीं पता कि आप बैक ऑफ़िस में लॉग इन हैं, इसलिए कैरियर आपको भी छिपा रहता है: आप खरीदने से पहले मॉड्यूल सेट कर सकते हैं, पर चेकआउट पर उसे परख नहीं सकते। Modules > Module Manager में Alerts टैब पर एक अनुस्मारक दिखता है। मौजूदा ऑर्डर प्रभावित नहीं होते।
जब लाइसेंस समाप्त होता है, तो मॉड्यूल चलता रहता है, लेकिन अपडेट और सहायता के लिए नवीनीकरण चाहिए। बैक ऑफ़िस में काम करते समय स्थिति अपने-आप दोबारा जाँची जाती है: कुंजी दर्ज करने के बाद पहले 14 दिनों तक रोज़ाना एक बार, फिर हफ़्ते में एक बार। कोई cron job ज़रूरी नहीं है। मॉड्यूल को अनइंस्टॉल या रीसेट करने पर लाइसेंस कुंजी और लाइसेंस स्थिति हमेशा हट जाती है।
समस्या निवारण
EasyPost चेकआउट पर नहीं दिखता: जाँचें कि लाइसेंस सक्रिय है और Enable EasyPost shipping चालू है। Shipping > Carriers में जाँचें कि कैरियर सक्षम है और ग्राहक के देश के ज़ोन तथा ग्राहक के समूह को कवर करता है (या Ignore shipping zones चालू है और देश चुना गया है)। वज़न सीमा और Minimum subtotal भी जाँचें। लाइव दर के बिना कैरियर को देश या Other countries के लिए फ़ॉलबैक कीमत चाहिए। उत्पाद पेज पर उत्पादों को कुछ कैरियरों तक सीमित भी किया जा सकता है।
लाइव दरें नहीं दिखतीं: मॉड्यूल पेज के ऊपर की चेतावनियाँ पढ़ें, फिर Debug log चालू करें, चेकआउट रीलोड करें और Log पैनल देखें। आम कारण: API कुंजी या शिप-फ़्रॉम ZIP कोड न होना, USD exchange rate के बिना USD से अलग मुद्रा वाला स्टोर, डिलीवरी पते में अभी ZIP कोड न होना, आपके EasyPost खाते का कोई कैरियर उस पते की सेवा न करना, या Allowed carriers / services द्वारा सभी दरों का छन जाना।
दरें टेस्ट कीमतों जैसी लगती हैं: टेस्ट कुंजी (EZTK...) सेट है। लाइव स्टोर पर प्रोडक्शन कुंजी (EZAK...) इस्तेमाल करें।
कुछ मिनट के लिए दरें रुक गईं: टाइमआउट, अस्वीकृत कुंजी या EasyPost सर्वर त्रुटि के बाद मॉड्यूल 5 मिनट के लिए अनुरोध रोकता है और फ़ॉलबैक कीमतें इस्तेमाल करता है। API कुंजी और लॉग जाँचें।
क्या टैक्स शामिल है? EasyPost की दरों में बिक्री कर शामिल नहीं होता। शिपिंग पर टैक्स जोड़ने के लिए Tax में टैक्स नियम चुनें।
बदलाव के बाद दरें पुरानी लगती हैं: मॉड्यूल पेज पर Save क्लिक करें। इससे कैश्ड EasyPost दरें साफ़ हो जाती हैं।
पेज कहता है कि मॉड्यूल का कैरियर नहीं मिला: कैरियर Shipping > Carriers में हटा दिया गया था। उसे फिर से बनाने के लिए Modules > Module Manager में मॉड्यूल रीसेट करें।
डेवलपर हुक: हुक actionVfdEpShipmentRequest (अनुरोध बॉडी), actionVfdEpSelectedRate (चुनी गई दर) और actionVfdEpApiUrl (API बेस URL) मॉड्यूल को समायोजित करते हैं।
अनइंस्टॉल
Modules > Module Manager पर जाएँ, VibeFox EasyPost के बगल वाला मेनू खोलें और Uninstall चुनें। लाइसेंस कुंजी और लाइसेंस स्थिति हमेशा हटा दी जाती हैं। कैरियर चेकआउट से हट जाता है (ऑर्डर अपना इतिहास रखते हैं), और कैश्ड दरें हमेशा हटा दी जाती हैं। यदि Remove data on uninstall चालू है, तो सेटिंग्स, सहेजी गई ऑर्डर दरें और लॉग भी हटा दिए जाते हैं। यदि यह बंद है, तो दोबारा इंस्टॉल के लिए सेटिंग्स और दिए गए ऑर्डरों का EasyPost डेटा रखा जाता है। मॉड्यूल इंस्टॉल या रीसेट करने पर नया कैरियर बनता है। यदि सेटिंग्स रखी गई थीं, तो उसे पिछले कैरियर की स्थिति (सक्षम या अक्षम) मिलती है।
EasyPost उसके संबंधित स्वामी का ट्रेडमार्क है। यह मॉड्यूल EasyPost से संबद्ध नहीं है और न ही EasyPost द्वारा समर्थित है।
