2015-06-18 5 views
6

मैं अमेज़ॅन मार्केटप्लेस पर उत्पादों की सूची के लिए एक स्वचालित स्क्रिप्ट लिख रहा हूं, यह 95% उत्पादों के लिए ठीक काम करता है, जिन्हें मैं सूचीबद्ध करने की कोशिश कर रहा हूं, लेकिन मुझे विशेष वस्तुओं, "थोक सौदे" या "एक्स के पैक" लिस्टिंग के रूप में।अमेज़ॅन मार्केटप्लेस बारकोड उत्पाद मात्रा

उदाहरण के लिए, मैं 7613032631703 के EAN बारकोड के साथ एक उत्पाद है, और मैं इस

$amazon_api = new MarketplaceWebServiceProducts_Client(
    AWS_ACCESS_KEY_ID, 
    AWS_SECRET_ACCESS_KEY, 
    APPLICATION_NAME, 
    APPLICATION_VERSION, 
    [ 
     'ServiceURL' => 'https://mws-eu.amazonservices.com/Products/2011-10-01', 
     'ProxyHost' => null, 
     'ProxyPort' => -1, 
     'ProxyUsername' => null, 
     'ProxyPassword' => null, 
     'MaxErrorRetry' => 3, 
    ] 
); 

$list = new MarketplaceWebServiceProducts_Model_IdListType(); 
$list->setId('7613032631703'); 

$request = new MarketplaceWebServiceProducts_Model_GetMatchingProductForIdRequest(); 
$request->setSellerId(SELLER_ID); 
$request->setIdType('EAN'); 
$request->setMarketplaceId(MARKETPLACE_ID); 
$request->setIdList($list); 
$response = $amazon_api->getMatchingProductForId($request); 

कौन सा फिर मुझे वापस आने वाले MarketplaceWebServiceProducts_Model_GetMatchingProductForIdResponse वस्तु की तरह कुछ के साथ एक बारकोड के साथ उत्पादों के बारे में जानकारी के लिए अमेज़न एपीआई क्वेरी कर सकता है , जो मैं ठीक उपयोग कर सकते हैं।

लेकिन सभी परिणाम अमेज़न वापस आ गया है bulk buys for this product के उत्पाद लिस्टिंग, जो जहाँ तक मैं बता सकता है इसका मतलब है अमेज़न, गलत है इस उदाहरण EAN बारकोड 7613032631703 इस उत्पाद की x12 में से एक पैकेज के लिए अनुवाद में के रूप में के लिए कर रहे हैं, जहां अमेज़ॅन कह रहा है कि यह वही उत्पाद है, लेकिन 4 के बहु-पैक में (कुल 48 पैकेट)।

स्पष्ट रूप से मैं अपने उत्पाद को "थोक सौदा" सूची के रूप में एक ही ASIN पर सेट नहीं करना चाहता, क्योंकि मैं उन्हें व्यक्तिगत रूप से बेच रहा हूं।

क्या इसे रोकने का कोई तरीका है? मुझे अमेज़ॅन एपीआई दस्तावेज़ों में कहीं भी "लिस्टिंग मात्रा" या "स्टॉक रिलेशनशिप वैल्यू" या कुछ ऐसा उपयोग करने के लिए उपयोग नहीं किया जा सकता है जब वे वास्तव में मल्टीपाक्स की सूची के लिए एकवचन बारकोड का उपयोग कर रहे हैं।

किसी भी विचार के लिए बहुत धन्यवाद कोई मुझे दे सकता है।

संपादित करें:

इस में आगे देखने के बाद, मैं बिंदु पर कर रहा हूँ जहाँ मैं यह संभव है नहीं लगता। सीधे शब्दों में कहें, अमेज़ॅन पर गलत लिस्टिंग हैं और आप अमेज़ॅन की जानकारी पर विश्वास नहीं कर सकते हैं कि आप प्रत्येक लिस्टिंग को स्वचालित करने में सक्षम हैं।

MarketplaceWebServiceProducts_Model_ListMatchingProductsRequest के परिणाम पर उच्चतम आशा थी, यदि आप AttributeSets में खोदते हैं तो आप लिस्टिंग के लिए PackageQuantity पा सकते हैं। उदाहरण में मैंने बारकोड 7613032631703 के लिए दिया कुछ लिस्टिंग में से PackageQuantity 4 है, जो सही होगा! और फिर आप इस प्रक्रिया को स्वचालित करने में उपयोग कर सकते हैं। लेकिन एक ही उत्पाद के लिए कई अन्य लिस्टिंग में PackageQuantity है, उनमें से एक में PackageQuantity 48 है .... अमेज़ॅन प्रदान करता है डेटा केवल गलत है (यह वास्तव में उनकी गलती नहीं है कि ये लिस्टिंग गलत हैं, जिन्होंने भी लिस्टिंग बनाई है पहली जगह यह गलत थी। लेकिन मुझे लगता है कि उन्हें पुलिस चाहिए और इन लिस्टिंग को बेहतर तरीके से ठीक करना चाहिए)।

मुझे वास्तव में दिलचस्पी है यदि किसी को ठोस समाधान मिल गया है जो स्वचालन की अनुमति देता है, लेकिन यदि कोई और एक ही समस्या के साथ है, तो मुझे नहीं लगता कि यह संभव दिखता है, और मैं इसे स्वचालित करने की कोशिश करने के खिलाफ सलाह दूंगा क्योंकि संभावित गलतियों को यह बड़ा कर सकता है।

उत्तर

0

मैंने इसे क्लाइंट के लिए किया था। मैं उस पेज को स्क्रैप करने के लिए समाप्त हुआ जो उन्होंने आपको देखने दिया था। मुझे यकीन नहीं है कि आपको यह कहां मिल रहा है लेकिन यह मौजूद है। मैंने यह एक साल पहले किया था और आपके जैसा मैं था, यह असंभव है। लेकिन मेरे पास क्लाइंट ने इसे समझने के लिए भारी मात्रा में पैसा फेंक दिया था, इसलिए मैंने ऐसा किया।

मुझे स्क्रैपिंग के लिए एल्गोरिदम को कोड करने में घंटों लग गए क्योंकि मुझे वास्तव में जो कुछ चाहिए, उसे पाने के लिए इतना जटिल था और इसमें एपीआई को भी कॉल की आवश्यकता थी। मुझे यकीन है कि यह उनके TOS का उल्लंघन करने का कुछ प्रकार था इसलिए मुझे यह कहकर अस्वीकार कर देना चाहिए, यह संभव है, लेकिन यह केवल सूचनात्मक उद्देश्यों के लिए है। आपको टीओएस का उल्लंघन नहीं करना चाहिए।

उम्मीद है कि इससे मदद मिलती है। :)

संबंधित मुद्दे