2015-09-01 28 views
7

पर प्रोग्रामिक रूप से उत्पाद जोड़ना मेरे पास एक वेबपृष्ठ है जहां उपयोगकर्ता मेरे पृष्ठ से तृतीय पक्ष वाणिज्य साइटों (अमेज़ॅन, दुकानदारी, Magento, आदि) से उत्पादों को जोड़ सकते हैं। उपयोगकर्ता एकाधिक उत्पादों का चयन करते हैं और फिर चेकआउट पर क्लिक करते हैं, फिर पृष्ठ उन्हें तृतीय पक्ष वाणिज्य साइट में चेकआउट पृष्ठ पर रीडायरेक्ट करता है।उपयोगकर्ता के दूरस्थ Magento कार्ट

यह अमेज़ॅन के साथ ठीक काम करता है क्योंकि उनके पास सर्वर-साइड एपीआई है जो हम प्रॉक्सी करते हैं। इनपुट: उत्पादों का एक समूह, आउटपुट: एक चेकआउट यूआरएल। बहुत सरल और यह बहुत अच्छी तरह से काम करता है।

हालांकि हम Magento के साथ अटक गए हैं।

  • एक उपयोगकर्ता के दूरस्थ कार्ट में उत्पाद जोड़ने के लिए कोई सार्वजनिक एपीआई है
  • अप्रलेखित एपीआई एक बार में केवल एक एकल उत्पाद जोड़ने का समर्थन करता है, तो कई उत्पादों का समर्थन करने के लिए कई API कॉल (जो धीमी है)
  • की आवश्यकता है
  • अधिकांश Magento साइट HTTPS का समर्थन नहीं करते हैं और/या हर समय HTTP पर रीडायरेक्ट करते हैं, और हमारी साइट HTTPS का उपयोग करती है। इस प्रकार, यह वास्तव में काम नहीं करता है।
  • जब हम AJAX अनुरोधों को आजमाते हैं तो हम सीओआरएस मुद्दों में भाग लेते हैं - हम वर्तमान में इसे iframes के साथ हैक कर रहे हैं।
  • पहला अनुरोध हमें वास्तव में कार्ट में जोड़ने के बजाय "कोई कुकी" त्रुटि पृष्ठ देता है।

क्या इसे हल करने का कोई तरीका है? Magento CORS अनुरोधों का समर्थन करता है? HTTPS के साथ Magento का समर्थन क्या है?

मैं http://community.magento.com/t5/Programming-Questions/API-Redirecting-user-to-magento-instance-to-view-their-cart/m-p/9113#M2029 देखना जो एक विस्तार स्थापित करने के लिए हमारे ग्राहक की आवश्यकता है, लेकिन यह है कि स्वीकार्य

धन्यवाद

उत्तर

1

वहाँ Magento में कोई API कार्यक्षमता बॉक्स से बाहर इस समर्थन हालांकि नहीं हो सकता है, यह विस्तार करने के लिए संभव है Magento में काम करने के लिए Magento में स्थापित करने के लिए एक छोटे एपीआई मॉड्यूल लिखकर इसका समर्थन करने के लिए Magento। एपीआई एक्सटेंशन बनाकर, आप नियम बना सकते हैं, स्वीकार कर सकते हैं - उदाहरण के लिए - टोकरी में कई उत्पादों को जोड़ा जाना चाहिए।

Magento का प्रलेखन हमेशा काफी खराब रहा है, और सामान्य रूप से डेवलपर्स को खुद को डिबग करना और कोड के माध्यम से कदम उठाना है, यह समझने के लिए कि एक विशेष सुविधा वास्तव में कैसे काम कर रही है। एक बार जब आप पर्याप्त कुशल बन जाते हैं, तो आप एक "बड़ी तस्वीर" देखना शुरू करते हैं, जो आपको Magento व्यवहार की "भविष्यवाणी" करने की अनुमति देता है और अक्सर आपको चरण-दर-चरण डीबगिंग जांच छोड़ने की अनुमति देता है।

मैं सुझाव दूंगा कि आपको एक पेशेवर डेवलपर से मदद मिलेगी, इसे बनाने के लिए (मैं कम से कम 2-3 साल का बैक एंड डेवलपमेंट अनुभव कहूंगा), और आपकी मदद करने के लिए एक प्रमाणित Magento डेवलपर प्राप्त करें: शौकिया शायद कम के लिए एक समाधान समाधान बनाओ, लेकिन आप लंबे समय तक परिणामों का भुगतान करेंगे, Magento संस्करणों और संस्करणों, और सुरक्षा से संबंधित मुद्दों (एक्सएसएस, एसक्यूएल इंजेक्शन इत्यादि) में अपने मॉड्यूल की पोर्टेबिलिटी का उल्लेख न करें।

Magento HTTPS का समर्थन करता है (वास्तव में, यह वेब सर्वर को ठीक से कॉन्फ़िगर करने के लिए साइट के sysadmin पर निर्भर करता है), और इसमें थोड़ा सीORS समर्थन है (डिफ़ॉल्ट रूप से, "समान-मूल" नीति लागू की जाती है)। सीओआरएस बदलना एक विकास कार्य भी होगा, भले ही मैं वास्तव में नहीं देखता कि यह आरईएसटी या एसओएपी एपीआई से कैसे संबंधित होगा।

इसके अलावा, कृपया ध्यान दें कि Magento सत्र समर्थन के लिए कुकीज़ पर भारी निर्भर करता है (और टोकरी को ग्राहक सत्र के विरुद्ध डेटाबेस में संग्रहीत किया जाता है)।

यह सब मैं वास्तव में कह सकता हूं, आपकी वास्तविक समस्या के बारे में उस छोटी सी जानकारी प्रदान की गई है।

क्या आपको अधिक जानकारी चाहिए, मुझे मदद करने में खुशी होगी, लेकिन मुझे सबसे अच्छा समाधान जानने के लिए अधिक जानकारी की आवश्यकता होगी।

1

शायद आप इसे इस तरह की क्वेरी स्ट्रिंग के साथ आज़मा सकते हैं?

<?php 

$formKey = Mage::getSingleton('core/session')->getFormKey();?> 

<form action="/checkout/cart/add/product/<?php echo $productid; ?>" method="post"> 
    <input type="hidden" name="form_key" value="<?php echo $formKey; ?>" /> 

    <input type="text" name="qty"> QTY 

    <input type="submit" value="Add to basket" /> 
</form> 
संबंधित मुद्दे