सामान्य चुनौतियां और सर्वोत्तम प्रथाएं

इस अनुभाग में, हम MCF कनेक्टर इंटीग्रेशन बनाते समय डेवलपर्स द्वारा सामना की जाने वाली कुछ सामान्य चुनौतियों पर प्रकाश डालते हैं, और कुछ सर्वोत्तम प्रथाओं के बारे में बताते हैं जो इन चुनौतियों से निपटने में आपकी मदद कर सकती हैं.

ऑर्डर स्थिति अपडेट प्राप्त करना

सामान्य चुनौती: डेवलपर को कभी-कभी सभी ऑर्डर स्थिति अपडेट के लिए नोटिफ़िकेशन पढ़ने में कठिनाई होती है.

सर्वोत्तम प्रक्रियाएं: ऑर्डर स्थिति अपडेट प्राप्त करने के लिए निम्न दो तरीकों में से एक का उपयोग करें:
1. API को कॉल करें: ऑर्डर स्थिति अपडेट के लिए GetOrder API को नियमित रूप से कॉल करें, जब तक कि ऑर्डर पर टर्मिनल स्थिति [पूर्ण, पूर्ण आंशिक, रद्द, गैर-पूर्ति योग्य] प्राप्त न हो जाए. ट्रैकिंग विवरण प्रतिक्रिया में तब शेयर किए जाते हैं जब यह उपलब्ध हो, जो प्रोसेसिंग, पूर्ण और आंशिक रूप से पूर्ण स्थिति के दौरान हो सकता है.
2. नोटिफ़िकेशन के लिए सब्सक्राइब करें: नोटिफ़िकेशन के लिए सब्सक्राइब करके और ईवेंट FULFILLMENT_ORDER_STATUS को सुनकर. हर बार जब ऑर्डर की स्थिति में बदलाव होता है या ट्रैकिंग नंबर जनरेट होता है, तो एक नोटिफ़िकेशन जारी किया जाता है जिसे SQS क्यू से पढ़ने की आवश्यकता होती है.

API कॉलिंग एक पुल मैकेनिज्म है और डेवलपर्स को API कॉलिंग की आवृत्ति के बारे में पता नहीं हो सकता है. सुझाया गया तरीका यह है कि नोटिफ़िकेशन पढ़ें और ऑर्डर पूरा होने के बाद ही पूर्ण ऑर्डर विवरण के लिए getOrder API को कॉल करें.
इस दृष्टिकोण का पालन करके, आप यह कर सकते हैं:
• API को अक्सर कॉल करने के लिए आवश्यक बैंडविड्थ को कम करें.
• शुरुआती ट्रैकिंग विवरणों के बारे में जागरूकता हासिल करें.
• रीयल-टाइम नोटिफ़िकेशन पाएं, क्योंकि API कॉल में देरी हो सकती है.
• अगर कोई हो तो ट्रैकिंग नंबरों के अपडेट की नोटिफ़िकेशन प्राप्त करें.

इंवेंट्री सिंक करना

सामान्य चुनौती: डेवलपर्स इंवेंट्री मैसेज में इंवेंट्री वैल्यू को गलत तरीके से पढ़ते हैं या यह नहीं जानते कि इंवेंट्री को ठीक से कैसे सिंक किया जाए, जिससे ओवरसेलिंग और स्टॉकआउट या अतिरिक्त इंवेंट्री हो सकती है.

सर्वोत्तम प्रक्रियाएं: हम FBA_INVENTORY_AVAILABILITY_CHANGES नोटिफ़िकेशन प्रकार को सब्सक्राइब करने की सलाह देते हैं, जो Amazon इंवेंट्री के साथ रीयल-टाइम सिंक को सक्षम करता है और किसी भी इंवेंट्री बदलाव को दर्शाता है. किसी भी मिस्ड नोटिफ़िकेशन से बचने के लिए, डेवलपर्स को इंवेंट्री स्तरों के पूर्ण स्नैपशॉट के लिए दिन में एक बार getInventorySummaries API को कॉल करना चाहिए.

getInventorySummaries API को दिन में एक से अधिक बार कॉल करने से API कॉल के बीच पुराना डेटा हो सकता है और इसका सुझाव नहीं दिया जाता है.
उन डेवलपर्स के लिए जो केवल API का उपयोग करते हैं, हमारा सुझाव है:
• दिए गए और रद्द किए गए ऑर्डर के आधार पर, इंवेंट्री का अपना आंतरिक रिकॉर्ड बनाए रखना. फिर आप इंवेंट्री सिंक प्रक्रिया के दौरान उस रिकॉर्ड को ओवरराइट कर सकते हैं, जिसे दिन में एक या दो बार किया जा सकता है.
• कुछ सुरक्षा स्टॉक सेटिंग के साथ काम करें, ताकि इंवेंट्री सिंक जॉब्स के बीच कोई ओवरसेलिंग न हो.

यदि आप केवल IN-HAND इंवेंट्री (Amazon पूर्ति सेंटर में स्थित) में रुचि रखते हैं, तो प्रतिक्रिया में डेवलपर्स को InventorySummaries.fulfillable के लिए ट्रैक करना चाहिए .
उन डेवलपर्स के लिए जो इन-ट्रांजिट/इनबाउंड आइटमों की अकाउंटिंग में रुचि रखते हैं, निम्न का योग करें: [inventoryDetails.Fulfillable + inventoryDetails.inboundWorkingQuantity+inventoryDetails.inboundShippedQuantity+inventoryDetails.inboundReceivingQuantity].
नोट: इन-ट्रांजिट/इनबाउंड इंवेंट्री की अनुमानित आगमन दिनांक इन-हैंड इंवेंट्री की तुलना में अधिक लंबी हो सकती है.

शुरुआती ट्रैकिंग जानकारी एक्सेस करना

सामान्य चुनौती: अब ऑर्डर के शिपमेंट पूरे हुए बिना भी ट्रैकिंग नंबर उपलब्ध हैं.

सर्वोत्तम प्रक्रियाएं: getOrder API को कॉल करने वाले डेवलपर्स के लिए, यह न मानें कि ट्रैकिंग विवरण केवल तभी उपलब्ध होते हैं जब ऑर्डर पूरा या आंशिक रूप से पूरा स्थिति में हो. ट्रैकिंग विवरण अब तब उपलब्ध होगा जब ऑर्डर प्रोसेसिंग स्टेज में होगा.

ऑर्डर नोटिफ़िकेशन सुनने वाले डेवलपर्स के लिए, प्रारंभिक ट्रैकिंग विवरण के साथ एक नोटिफ़िकेशन स्पष्ट रूप से भेजा जाता है, जिसमें ऑर्डर की स्थिति प्रोसेसिंग के रूप में होती है, जिसमें कैरियर, पैकेज नंबर और ट्रैकिंग नंबर होता है.

अक्सर getOrder API का उपयोग करने वाले डेवलपर्स ट्रैकिंग विवरण प्राप्त करने के बाद अपने ऑर्डर को पूर्ति किया गया के रूप में चिह्नित करते हैं, लेकिन जब पूर्ति केंद्र पर Re-SLAM (संशोधन) होते हैं, तो ट्रैकिंग विवरण में हमेशा अपडेट हो सकते हैं. यदि आप ऑर्डर को पूर्ति किया गया के रूप में चिह्नित करते हैं, तो आपको किसी भी अपडेट के बारे में जानकारी नहीं होगी और आपके पास अमान्य ट्रैकिंग विवरण होंगे.
FULFILLMENT_ORDERs STATUS नोटिफ़िकेशन अवश्य पढ़ें, जो शुरुआती ट्रैकिंग विवरण के लिए और उपलब्ध होने पर ट्रैकिंग विवरण के किसी भी अपडेट के लिए एक ईवेंट भेजती हैं. यह दृष्टिकोण यह सुनिश्चित करेगा कि विक्रेताओं के पास ऑर्डर पर हमेशा सही ट्रैकिंग विवरण हो.

अनब्रांडेड पैकेजिंग (ब्लैंक बॉक्स) और ब्लॉक Amazon Logistics फ़ीचर का उपयोग करना

सामान्य चुनौती: डेवलपर्स को पता नहीं है कि अनब्रांडेड पैकेजिंग और ब्लॉक Amazon Logistics फ़ीचर को कैसे कॉन्फ़िगर किया जाए.

सर्वोत्तम प्रक्रियाएं: MCF अमेरिकी क्षेत्र में अधिकांश ऑर्डर की डिलीवरी बिना ब्रांड वाली पैकेजिंग में करता है, लेकिन कुछ विक्रेताओं की यह आवश्यकता हो सकती है कि सभी ऑर्डर की डिलीवरी बिना ब्रांड वाले पैकेजों में की जाए.

अनब्रांडेड पैकेज (ब्लैंक बॉक्स या BB):
1. अनब्रांडेड पैकेजिंग को BlankBox (BB)-Only SKU के रूप में चिह्नित करने के लिए SKU स्तर पर एक फ़्लैग बनाए रखें. आप getFeatureInventory API को कॉल करके अपने BlankBox योग्य प्रोडक्ट को देख सकते हैं.
2. BB-Only SKU के लिए, अनब्रांडेड पैकेजिंग (BlankBox या BB) और नियमित इंवेंट्री दोनों को ट्रैक करना सुनिश्चित करें.
3. बिक्री चैनल स्तर पर टॉगल सेट करें और सुनिश्चित करें कि आवश्यक बिक्री चैनल हमेशा BB इंवेंट्री पर नज़र रखते हैं. इन बिक्री चैनलों के लिए BB ऑर्डर और रिले BB इंवेंट्री बनाएं.
4. ऑर्डर कार्य स्तर पर, यह सुनिश्चित करने के लिए कि आइटम केवल अनब्रांडेड पैकेज में ही डिलीवर किए जाएं, फ़ीचर प्रतिबंध Blank_Box=Required के साथ PREVIEW Order और CREATE Order ऑपरेशंस को कॉल करें.

ब्लॉक Amazon Logistics (ब्लॉक AMZL या BAMZL):

विक्रेता सेंट्रल और सप्लाई चेन पोर्टल प्रत्येक विक्रेता अकाउंट के स्टोर लेवल पर ब्लॉक AMZL सेटिंग प्रदान करते हैं, जिसे सभी ऑर्डर के लिए चालू किया जा सकता है और यह 5% के अधिभार के साथ आता है. जिन डेवलपर्स को विशिष्ट ऑर्डर के लिए ब्लॉक AMZL की आवश्यकता है, वे निम्नलिखित कॉन्फ़िगरेशन चरणों का उपयोग कर सकते हैं:
1. बिक्री चैनल स्तर पर टॉगल सेट करें ताकि यह सुनिश्चित हो सके कि Amazon Logistics द्वारा आवश्यक बिक्री चैनलों के ऑर्डर डिलीवर नहीं किए गए हैं. इन चैनलों के लिए BAMZL ऑर्डर बनाएं.
2. ऑर्डर कार्य स्तर पर, फ़ीचर प्रतिबंध Block_AMZL=Required के साथ PREVIEW Order और CREATE Order ऑपरेशन को कॉल करें, ताकि यह सुनिश्चित हो सके कि Amazon Logistics के अलावा कोई अन्य कैरियर आइटम की शिपिंग कर रहा है.

सार्वजनिक ऐप पर ऑथोराइज़ेशन फ़्लो का परीक्षण करना

सामान्य चुनौती: डेवलपर्स को यह नहीं पता कि ऐप को विक्रेता सेंट्रल में पब्लिश या लिस्ट किए बिना वे अपने विक्रेता ऑथेंटिकेशन फ़्लो का परीक्षण कैसे करें.

सर्वोत्तम प्रक्रियाएं: डेवलपर ऐप को प्रकाशित किए बिना टेस्ट विक्रेता अकाउंट के ऑथेंटिकेशन फ़्लो को मान्य कर सकते हैं. विक्रेता सेंट्रल ऑथेंटिकेशन फ़्लो और Webstore ऑथेंटिकेशन फ़्लो दोनों के लिए विक्रेता सेंट्रल सहमति URL में “version=beta” जोड़कर अपने ऑथेंटिकेशन फ़्लो का परीक्षण करें. नोट: बीटा मोड में, 25 से अधिक विक्रेता ऐप को ऑथोराइज़ नहीं कर सकते क्योंकि यह केवल सत्यापन उद्देश्यों के लिए है.

उदाहरण:
https://sellercentral.amazon.com/apps/authorize/consent?application_id=appidexample&state=stateexample&version=beta

MCF डेवलपर्स के लिए आवश्यक रिपोर्ट निकालना

सामान्य चुनौती: डेवलपर्स को उन रिपोर्टों के बारे में जानकारी नहीं है जिन्हें हमारे रिपोर्ट API का उपयोग करके निकाला जा सकता है.

सर्वोत्तम प्रक्रियाएं: MCF डेवलपर्स के लिए मुख्य रिपोर्ट निकालने के लिए नीचे दी गई कॉल जानकारी का उपयोग करें.

MCF डेवलपर्स के लिए मुख्य रिपोर्ट:
• लिस्टिंग रिपोर्ट - विक्रेता अकाउंट का प्रॉडक्ट लिस्टिंग डेटा प्राप्त करने के लिए.
GET_FLAT_FILE_OPEN_LISTINGS_DATA and GET_MERCHANT_LISTINGS_ALL_DATA
• इंवेंट्री रिपोर्ट - Amazon पूर्ति सेंटर पर इंवेंट्री की गतिविधियों पर नज़र रखने के लिए.
GET_FBA_MYI_UNSUPPRESSED_INVENTORY_DATA and GET_LEDGER_SUMMARY_VIEW_DATA
• ऑर्डर/सेल्स रिपोर्ट - Amazon ने पूर्ति किए गए सभी ऑर्डर और शिपमेंट डेटा प्राप्त करने के लिए.
GET_XML_ALL_ORDERS_DATA_BY_ORDER_DATE_GENERAL, GET_FLAT_FILE_ALL_ORDERS_DATA_BY_ORDER_DATE_GENERAL, and GET_AMAZON_FULFILLED_SHIPMENTS_DATA_GENERAL

सैंडबॉक्स एक्सेस के लिए क्रेडेंशियल्स बनाए रखना

सामान्य चुनौती: डेवलपर डायनामिक सैंडबॉक्स वातावरण और उत्पादन वातावरण के लिए अलग-अलग ऐप क्रेडेंशियल्स बनाए रखना चाहते हैं.

निजी और सार्वजनिक दोनों ऐप्स के लिए, केवल डायनामिक सैंडबॉक्स वातावरण तक एक्सेस को सीमित करने का तरीका है. किसी भी प्रोडक्शन-अनुमोदित ऐप में प्रोडक्शन और सैंडबॉक्स एंडपॉइंट दोनों तक एक्सेस होगी और एक्सेस को प्रतिबंधित करने का कोई तरीका नहीं है.

सर्वोत्तम प्रक्रियाएं: समस्या को हल करने के लिए, डेवलपर्स सैंडबॉक्स और प्रोडक्शन वातावरण के लिए ड्राफ्ट स्थिति में अलग-अलग निजी ऐप्स बना सकते हैं और उत्पादों को केवल प्रोडक्शन में सूचीबद्ध कर सकते हैं, यदि वे क्लाइंट क्रेडेंशियल के दो अलग-अलग सेट रखना चाहते हैं.