Odoo ऑर्डर आयात के लिए Shopify: संपूर्ण स्वचालन मार्गदर्शिका
प्रत्येक Shopify ऑर्डर जिसके लिए Odoo में मैन्युअल पुनः प्रवेश की आवश्यकता होती है, एक दायित्व है - डेटा प्रविष्टि त्रुटियों का मौका, पूर्ति प्रसंस्करण में देरी, और कर्मचारियों के समय की बर्बादी जो हर अतिरिक्त ऑर्डर के साथ जुड़ती है। प्रति दिन 200 ऑर्डर संसाधित करने वाले स्टोर के लिए, मैन्युअल ऑर्डर आयात में प्रतिदिन लगभग 3-4 घंटे का स्टाफ समय लगता है और 2-5% की त्रुटि दर आती है जो इन्वेंट्री, शिपिंग और अकाउंटिंग के माध्यम से बढ़ती है।
Shopify-to-Odoo ऑर्डर पाइपलाइन को स्वचालित करने से यह बाधा पूरी तरह समाप्त हो जाती है। ऑर्डर प्लेसमेंट के कुछ सेकंड के भीतर ओडू में पहुंच जाते हैं, ग्राहक रिकॉर्ड स्वचालित रूप से मर्ज हो जाते हैं, भुगतान की स्थिति वास्तविक समय में सिंक हो जाती है, पूर्ति अपडेट ट्रैकिंग नंबरों के साथ शॉपिफाई पर वापस आ जाते हैं, और त्रुटि स्थितियों को चुपचाप हटा दिए जाने के बजाय समाधान के लिए पकड़ लिया जाता है और कतार में रखा जाता है।
यह मार्गदर्शिका संपूर्ण ऑर्डर आयात स्वचालन को कवर करती है - शॉपिफाई वेबहुक से जो लूप को बंद करने वाले पूर्ति राइटबैक के माध्यम से प्रक्रिया शुरू करता है। प्रत्येक चरण में विशिष्ट डेटा मैपिंग, किनारे के मामले और विफलता मोड शामिल होते हैं जिन्हें आपको उत्पादन-ग्रेड कार्यान्वयन के लिए संभालने की आवश्यकता होती है।
मुख्य बातें
- शॉपिफाई वेबहुक वास्तविक समय के ऑर्डर ईवेंट प्रदान करते हैं - ऑर्डर/क्रिएट, ऑर्डर/अपडेटेड, ऑर्डर/रद्द - जो आयात पाइपलाइन को ट्रिगर करते हैं
- ग्राहक सिंक ईमेल को प्राथमिक मिलान कुंजी के रूप में उपयोग करता है, नए ग्राहकों के लिए स्वचालित निर्माण और मौजूदा ग्राहकों के लिए फ़ील्ड विलय के साथ
- भुगतान स्थिति मैपिंग शॉपिफाई की भुगतान स्थिति (अधिकृत, भुगतान, आंशिक रूप से भुगतान, रिफंड) को ओडू भुगतान रिकॉर्ड में अनुवादित करती है
- उत्पाद मिलान प्राथमिक पहचानकर्ता के रूप में SKU का उपयोग करके Shopify लाइन आइटम को Odoo उत्पादों से जोड़ता है - वैरिएंट-स्तरीय मिलान आवश्यक है
- पूर्ति राइटबैक ट्रैकिंग नंबर, वाहक जानकारी और प्रति-पंक्ति-आइटम पूर्ति डेटा के साथ ओडू डिलीवरी पुष्टिकरण को Shopify पर वापस भेजता है
- आंशिक पूर्ति (कई गोदामों से विभाजित शिपमेंट) के लिए लाइन-आइटम-स्तरीय पूर्ति ट्रैकिंग की आवश्यकता होती है, ऑर्डर-स्तर की नहीं
- त्रुटि प्रबंधन में पुन: प्रयास कतारें, मृत पत्र प्रसंस्करण और चेतावनी शामिल होनी चाहिए - मौन विफलताएं सबसे खतरनाक विफलताएं हैं
- इडेम्पोटेंसी कुंजियाँ (शॉपिफाई ऑर्डर आईडी) वेबहुक रिट्रीट से डुप्लिकेट ऑर्डर को रोकती हैं
वास्तुकला: ऑर्डर आयात पाइपलाइन
संपूर्ण ऑर्डर आयात पाइपलाइन में छह चरण होते हैं, प्रत्येक में विशिष्ट डेटा परिवर्तन और विफलता मोड होते हैं:
Stage 1: Webhook Reception
Shopify → orders/create webhook → Integration endpoint
Stage 2: Customer Resolution
Find or create Odoo customer from Shopify customer data
Stage 3: Product Matching
Map Shopify line items to Odoo products by SKU/variant
Stage 4: Order Creation
Create Odoo sale order with lines, taxes, shipping, discounts
Stage 5: Payment Recording
Record payment status based on Shopify financial_status
Stage 6: Fulfillment Writeback
Odoo delivery → Shopify fulfillment with tracking
प्रत्येक चरण एक अलग ऑपरेशन है जो स्वतंत्र रूप से विफल हो सकता है। एक मजबूत कार्यान्वयन इन्हें चेकपॉइंटिंग के साथ एक पाइपलाइन के रूप में संसाधित करता है - यदि चरण 4 विफल हो जाता है, तो चरण 1-3 को पुन: प्रयास पर दोबारा निष्पादित नहीं किया जाता है।
चरण 1: शॉपिफाई ऑर्डर वेबहुक प्राप्त करना
शॉपिफाई वेबहुक वास्तविक समय ऑर्डर आयात की नींव हैं। जब कोई ऑर्डर इवेंट होता है, तो Shopify पूरे ऑर्डर पेलोड के साथ आपके पंजीकृत एंडपॉइंट पर एक HTTP POST अनुरोध भेजता है।
आवश्यक वेबहुक सदस्यताएँ
| वेबहुक विषय | उद्देश्य | जब यह आग लगती है |
|---|---|---|
| आदेश/बनाएँ | नया ऑर्डर दिया गया | ग्राहक ने चेकआउट पूरा किया |
| आदेश/अद्यतन | आदेश संशोधित | भुगतान प्राप्त कर लिया गया, पूर्ति जोड़ी गई, संपादन किए गए |
| आदेश/रद्द | ऑर्डर रद्द | व्यापारी या ग्राहक रद्द करता है |
| रिफंड/बनाएं | रिफंड जारी | पूर्ण या आंशिक धन-वापसी संसाधित |
वेबहुक सत्यापन
प्रत्येक आने वाले वेबहुक को Shopify के HMAC-SHA256 हस्ताक्षर का उपयोग करके सत्यापित किया जाना चाहिए। वेबहुक पेलोड आपके ऐप के साझा रहस्य के साथ हस्ताक्षरित है - प्रसंस्करण से पहले हस्ताक्षर सत्यापित करें। असत्यापित वेबहुक को 401 प्रतिक्रिया के साथ अस्वीकार कर दिया जाना चाहिए।
वेबहुक डिलीवरी गारंटी को संभालना
Shopify कम से कम एक बार डिलीवरी की गारंटी देता है, जिसका अर्थ है कि एक ही वेबहुक कई बार भेजा जा सकता है - नेटवर्क टाइमआउट के बाद, Shopify के पुनः प्रयास चक्र के दौरान, या घटना पुनर्प्राप्ति के दौरान। आपका समापन बिंदु निष्क्रिय होना चाहिए: एक ही ऑर्डर प्राप्त करना/दो बार वेबहुक बनाना दो ओडू ऑर्डर नहीं बनाना चाहिए।
कार्यान्वयन पैटर्न: शॉपिफाई की ऑर्डर आईडी को एक निष्क्रियता कुंजी के रूप में उपयोग करें। Odoo ऑर्डर बनाने से पहले, जांचें कि क्या उस Shopify संदर्भ वाला ऑर्डर पहले से मौजूद है। यदि ऐसा होता है, तो निर्माण छोड़ें और 200 प्रतिक्रिया लौटाएँ ताकि Shopify पुनः प्रयास करना बंद कर दे।
प्रतिक्रिया समय आवश्यकताएँ
शॉपिफाई को 5 सेकंड के भीतर 200 प्रतिक्रिया की उम्मीद है। यदि आपका समापन बिंदु अधिक समय लेता है, तो Shopify डिलीवरी को विफल के रूप में चिह्नित करता है और पुनः प्रयास करता है। इस कारण से, वेबहुक एंडपॉइंट को पेलोड स्वीकार करना चाहिए, एचएमएसी हस्ताक्षर को मान्य करना चाहिए, एसिंक्रोनस प्रोसेसिंग के लिए ऑर्डर को एनक्यू करना चाहिए और तुरंत 200 लौटाना चाहिए। वास्तविक ऑर्डर निर्माण एक पृष्ठभूमि कार्यकर्ता में होता है।
चरण 2: ग्राहक समाधान
प्रत्येक Shopify ऑर्डर में ग्राहक डेटा - ईमेल, नाम, फ़ोन, शिपिंग पता और बिलिंग पता शामिल होता है। एकीकरण को ओडू के संपर्क डेटाबेस के विरुद्ध इसका समाधान करना होगा।
ग्राहक मिलान एल्गोरिदम
अनुशंसित मिलान तर्क इस प्राथमिकता क्रम का अनुसरण करता है:
- सटीक ईमेल मिलान: शॉपिफाई ऑर्डर से ईमेल पते के लिए ओडू संपर्क खोजें। ईमेल सबसे विश्वसनीय विशिष्ट पहचानकर्ता है.
- फ़ोन मिलान (यदि कोई ईमेल मिलान नहीं है): कुछ B2B ऑर्डर या POS ऑर्डर में ईमेल नहीं हो सकता है। सामान्यीकरण (स्ट्रिप स्पेस, डैश, देश कोड सामान्यीकरण) से मेल खाने वाले फ़ोन नंबर पर वापस जाएँ।
- नया संपर्क बनाएं: यदि कोई मिलान नहीं मिलता है, तो Shopify ऑर्डर से सभी उपलब्ध डेटा के साथ एक नया Odoo संपर्क बनाएं।
मौजूदा ग्राहकों के लिए फ़ील्ड विलय
जब किसी मौजूदा ओडू ग्राहक का मिलान किया जाता है, तो एकीकरण को लापता फ़ील्ड को अपडेट करना चाहिए (ओवरराइट नहीं करना चाहिए):
If Odoo contact has no phone but Shopify order does → add phone
If Odoo contact has phone and Shopify order has different phone → keep Odoo (source of truth)
If Shopify order has new shipping address → add as child contact (delivery address)
पता प्रबंधन
शॉपिफाई ऑर्डर में बिलिंग पता और शिपिंग पता दोनों शामिल होते हैं। ओडू में, ये विभिन्न संपर्क प्रकारों पर मैप होते हैं। बिलिंग पता मुख्य भागीदार रिकॉर्ड (या "चालान पता" प्रकार के चाइल्ड संपर्क) से संबद्ध होना चाहिए। शिपिंग पता "डिलीवरी पता" प्रकार का चाइल्ड संपर्क होना चाहिए। यदि ग्राहक ने अलग-अलग ऑर्डर में एकाधिक शिपिंग पते का उपयोग किया है, तो प्रत्येक अद्वितीय पता एक अलग चाइल्ड संपर्क होना चाहिए - जो भविष्य के मैन्युअल ऑर्डर के लिए पते के चयन को सक्षम बनाता है।
बी2बी ग्राहक प्रबंधन
बी2बी ऑर्डर (शॉपिफाई प्लस बी2बी फीचर्स) के लिए, एकीकरण को शॉपिफाई कंपनी को एक ओडू कंपनी-प्रकार के संपर्क में मैप करना चाहिए, जिसमें व्यक्तिगत खरीदार एक बच्चे के संपर्क के रूप में हो। यह कंपनी-से-व्यक्तिगत संबंध को संरक्षित करता है जिसकी B2B संचालन को क्रेडिट शर्तों, वॉल्यूम मूल्य निर्धारण और खाता प्रबंधन के लिए आवश्यकता होती है।
चरण 3: उत्पाद मिलान
Shopify ऑर्डर पर प्रत्येक पंक्ति वस्तु का Odoo के उत्पाद से मिलान होना चाहिए। यह मिलान वह जगह है जहां कई एकीकरण विफल हो जाते हैं, क्योंकि Shopify और Odoo उत्पादों का अलग-अलग प्रतिनिधित्व करते हैं।
SKU-आधारित मिलान
SKU अनुशंसित प्राथमिक मिलान कुंजी है. जब आप Odoo में उत्पादों का प्रबंधन करते हैं और उन्हें Shopify के साथ सिंक करते हैं, तो Odoo आंतरिक संदर्भ (SKU) को Odoo उत्पाद संस्करण और Shopify संस्करण दोनों पर सेट किया जाना चाहिए। एकीकरण Shopify लाइन आइटम SKU से Odoo उत्पाद संस्करण आंतरिक संदर्भ से मेल खाता है।
वैरिएंट मिलान जटिलता
शॉपिफाई वेरिएंट (आकार: बड़ा, रंग: नीला) को समान विशेषता मानों के साथ ओडू उत्पाद वेरिएंट से मेल खाना चाहिए। यह तब सीधा होता है जब SKU सुसंगत होते हैं, लेकिन तब टूट जाता है जब SKU सिस्टम के बीच भिन्न होते हैं, जब Shopify के ऐसे वेरिएंट होते हैं जो Odoo में मौजूद नहीं होते हैं (उदाहरण के लिए, Shopify पर एक नया वेरिएंट जोड़ा गया है लेकिन अभी तक Odoo के साथ सिंक नहीं किया गया है), या जब Odoo उत्पाद कॉन्फ़िगर करने योग्य विशेषताओं का उपयोग करते हैं जबकि Shopify पूर्व-निर्धारित वेरिएंट का उपयोग करता है।
बेजोड़ उत्पादों को संभालना: जब Shopify लाइन आइटम का Odoo उत्पाद से मिलान नहीं किया जा सकता है, तो एकीकरण को चुपचाप इसे नहीं छोड़ना चाहिए। इसके बजाय, इसे एक प्लेसहोल्डर उत्पाद लाइन के साथ ऑर्डर बनाना चाहिए (उदाहरण के लिए, विवरण में शॉपिफाई वेरिएंट शीर्षक के साथ एक कैच-ऑल "बेजोड़ शॉपिफाई उत्पाद" आइटम), समीक्षा के लिए ऑर्डर को चिह्नित करें और संचालन टीम को सचेत करें।
बंडल और किट उत्पाद
यदि आप Shopify पर बंडल बेचते हैं (उदाहरण के लिए, एक "स्टार्टर किट" जो तीन अलग-अलग उत्पादों के रूप में भेजा जाता है), तो एकीकरण को यह जानना होगा कि क्या एक एकल Odoo ऑर्डर लाइन (बंडल उत्पाद के लिए) या कई लाइनें (घटक उत्पादों के लिए) बनाई जानी चाहिए। यह आपके Odoo इन्वेंट्री सेटअप पर निर्भर करता है - चाहे आप बंडल उत्पादों को एक आइटम के रूप में ट्रैक करें या अलग-अलग घटकों के रूप में।
चरण 4: ओडू में ऑर्डर निर्माण
ग्राहक के समाधान और उत्पादों के मिलान के साथ, एकीकरण ओडू बिक्री ऑर्डर बनाता है। यह सबसे अधिक डेटा-गहन चरण है, जिसके लिए सावधानीपूर्वक फ़ील्ड मैपिंग की आवश्यकता होती है।
फील्ड मैपिंग: ओडू सेल ऑर्डर के लिए शॉपिफाई करें
| शॉपिफाई फील्ड | ओडू फील्ड | नोट्स |
|---|---|---|
| ऑर्डर.आईडी | x_shopify_order_id | संदर्भ के लिए कस्टम फ़ील्ड |
| ऑर्डर.नाम | client_order_ref | उदाहरण के लिए, "#1042" |
| order.created_at | दिनांक_आदेश | ऑर्डर की तारीख |
| ऑर्डर.ग्राहक.ईमेल | पार्टनर_आईडी | चरण 2 में हल किया गया |
| ऑर्डर.शिपिंग_पता | पार्टनर_शिपिंग_आईडी | डिलिवरी पता संपर्क |
| ऑर्डर.बिलिंग_पता | पार्टनर_इनवॉइस_आईडी | चालान पता संपर्क |
| आदेश.मुद्रा | मुद्रा_आईडी | ओडू मुद्रा का मानचित्र |
| ऑर्डर.नोट | नोट | ग्राहक नोट |
| ऑर्डर.टैग | टैग_आईडी | वैकल्पिक टैग सिंक |
लाइन आइटम मैपिंग
| शॉपिफाई फील्ड | ओडू सेल ऑर्डर लाइन फ़ील्ड | नोट्स |
|---|---|---|
| लाइन_आइटम.वैरिएंट_आईडी | उत्पाद_आईडी | चरण 3 में हल किया गया |
| लाइन_आइटम.मात्रा | product_uom_qty | ऑर्डर मात्रा |
| लाइन_आइटम.कीमत | कीमत_इकाई | इकाई मूल्य |
| लाइन_आइटम.कुल_छूट | छूट | प्रतिशत में बदलें |
| लाइन_आइटम.टैक्स_लाइनें | टैक्स_आईडी | ओडू राजकोषीय स्थिति का मानचित्र |
डिस्काउंट हैंडलिंग
Shopify Odoo की तुलना में अलग तरह से छूट का प्रतिनिधित्व करता है। शॉपिफाई प्रति पंक्ति वस्तु पर छूट राशि और ऑर्डर स्तर पर एक समग्र छूट कोड प्रदान करता है। ओडू को प्रति पंक्ति छूट प्रतिशत की उम्मीद है।
रूपांतरण: discount_percentage = (shopify_discount_amount / (quantity * unit_price)) * 100
ऑर्डर-स्तरीय छूट के लिए (उदाहरण के लिए, "संपूर्ण ऑर्डर पर 10% की छूट"), छूट को आनुपातिक रूप से लाइन आइटम में वितरित किया जाना चाहिए। कुछ कार्यान्वयन वितरण के बजाय ऑर्डर-स्तरीय छूट के लिए एक अलग नकारात्मक-राशि लाइन आइटम जोड़ते हैं - दोनों दृष्टिकोण मान्य हैं, लेकिन आनुपातिक वितरण प्रति-पंक्ति-आइटम मार्जिन विश्लेषण को साफ करता है।
शिपिंग लाइन
शॉपिफाई शिपिंग शुल्क को एक अलग ऑर्डर लाइन पर एक समर्पित ओडू उत्पाद (उदाहरण के लिए, "शॉपिफाई शिपिंग") पर मैप किया जाना चाहिए। यह रिपोर्टिंग में शिपिंग राजस्व को उत्पाद राजस्व से अलग रखता है।
| शॉपिफाई फील्ड | ओडू लाइन | नोट्स |
|---|---|---|
| शिपिंग_लाइन्स[0].शीर्षक | product_id → "Shopify शिपिंग" | Shopify से विवरण |
| शिपिंग_लाइन्स[0].कीमत | कीमत_इकाई | शिपिंग राशि |
| शिपिंग_लाइन्स[0].टैक्स_लाइन्स | टैक्स_आईडी | यदि लागू हो तो शिपिंग टैक्स |
आदेश की पुष्टि
ड्राफ्ट स्थिति में बिक्री ऑर्डर बनाने के बाद, डाउनस्ट्रीम वर्कफ़्लो को ट्रिगर करने के लिए एकीकरण को स्वचालित रूप से इसकी पुष्टि करनी चाहिए (action_confirm) - डिलीवरी ऑर्डर निर्माण, विनिर्माण ऑर्डर (एमटीओ उत्पादों के लिए), और खरीद ऑर्डर (ड्रॉपशिप उत्पादों के लिए)। यदि भुगतान स्थिति "भुगतान" या "अधिकृत" है तो केवल स्वचालित रूप से पुष्टि करें - "लंबित" भुगतान स्थितियों के लिए ड्राफ्ट ऑर्डर को रोकें।
चरण 5: भुगतान रिकॉर्डिंग
Shopify का financial_status फ़ील्ड ऑर्डर की भुगतान स्थिति को इंगित करता है। एकीकरण को इसे Odoo भुगतान रिकॉर्ड में अनुवादित करना होगा।
भुगतान स्थिति मानचित्रण
| Shopify वित्तीय_स्थिति | ओडू एक्शन | नोट्स |
|---|---|---|
| भुगतान किया गया | भुगतान रजिस्टर करें (पूर्ण) | भुगतान मिलान चालान बनाएं |
| अधिकृत | अभी तक कोई भुगतान नहीं | भुगतान बाद में लिया गया |
| आंशिक_भुगतान | आंशिक भुगतान रजिस्टर करें | अब तक भुगतान की गई रिकॉर्ड राशि |
| लंबित | ड्राफ्ट रोकें | भुगतान की पुष्टि की प्रतीक्षा करें |
| वापस कर दिया गया | भुगतान रजिस्टर + क्रेडिट नोट | पूर्ण वापसी परिदृश्य |
| आंशिक_वापसी | भुगतान रजिस्टर करें + आंशिक क्रेडिट | आंशिक वापसी परिदृश्य |
| शून्य | ऑर्डर रद्द करें | भुगतान प्राधिकरण रद्द कर दिया गया |
स्वचालित चालान निर्माण
"भुगतान किए गए" आदेशों के लिए, एकीकरण को स्वचालित रूप से ओडू चालान बनाना और मान्य करना चाहिए, फिर उसके विरुद्ध भुगतान पंजीकृत करना चाहिए। यह प्राप्य खातों को साफ रखता है - पूरी तरह से भुगतान किए गए शॉपिफाई ऑर्डर में ओडू में शून्य एआर बैलेंस होना चाहिए।
"अधिकृत" ऑर्डर के लिए (मैन्युअल कैप्चर सक्षम होने पर शॉपिफाई पेमेंट्स के साथ आम), एकीकरण को बिक्री ऑर्डर बनाना चाहिए लेकिन चालान नहीं। जब भुगतान बाद में कैप्चर किया जाता है (वित्तीय_स्थिति को "भुगतान" में बदलने के साथ ऑर्डर/अपडेटेड वेबहुक को ट्रिगर करना), एकीकरण चालान बनाता है और भुगतान को पंजीकृत करता है।
भुगतान विधि कॉन्फ़िगरेशन
शॉपिफाई भुगतान के लिए एक समर्पित ओडू भुगतान जर्नल बनाएं (उदाहरण के लिए, "बैंक" प्रकार का "शॉपिफाई पेमेंट्स" जर्नल)। सभी स्वचालित भुगतान पंजीकरणों को इस जर्नल का उपयोग करना चाहिए। यह Shopify भुगतान रिकॉर्ड को अन्य भुगतान विधियों से अलग रखता है और बैंक समाधान को सरल बनाता है।
चरण 6: पूर्ति राइटबैक
अंतिम चरण लूप को बंद कर देता है - जब ओडू (डिलीवरी ऑर्डर मान्य) में एक ऑर्डर पूरा हो जाता है, तो एकीकरण पूर्ति डेटा को शॉपिफाई पर वापस भेजता है, ऑर्डर की स्थिति को अपडेट करता है और ग्राहक को ट्रैकिंग जानकारी प्रदान करता है।
राइटबैक को ट्रिगर करना
ओडू में, पूर्ति घटना एक डिलीवरी ऑर्डर (स्टॉक.पिकिंग) का सत्यापन है। एकीकरण को डिलीवरी ऑर्डर पुष्टिकरण घटनाओं को सुनना चाहिए और शॉपिफाई पूर्ति एपीआई कॉल को ट्रिगर करना चाहिए।
पूर्ति डेटा मैपिंग
| ओडू डिलिवरी फील्ड | शॉपिफ़ाइ फ़ुलफ़िलमेंट फ़ील्ड | नोट्स |
|---|---|---|
| कैरियर_ट्रैकिंग_रेफ | ट्रैकिंग_नंबर | कैरियर ट्रैकिंग नंबर |
| कैरियर_आईडी.नाम | ट्रैकिंग_कंपनी | उदाहरण के लिए, "यूपीएस", "फेडएक्स" |
| move_line_ids | लाइन_आइटम | Odoo उत्पादों को Shopify लाइन आइटम आईडी पर वापस मैप करें |
| दिनांक_हो गया | — | स्वचालित रूप से टाइमस्टैम्प की खरीदारी करें |
आंशिक पूर्ति प्रबंधन
आंशिक पूर्ति तब होती है जब एक ऑर्डर कई पैकेजों में, कई गोदामों से भेजा जाता है, या जब कुछ आइटम बैकऑर्डर किए जाते हैं। Shopify मूल रूप से आंशिक पूर्तियों का समर्थन करता है - आप विशिष्ट लाइन आइटम को पूरा कर सकते हैं जबकि अन्य को अधूरा छोड़ सकते हैं। एकीकरण को यह ट्रैक करना होगा कि कौन से शॉपिफाई लाइन आइटम किस ओडू डिलीवरी ऑर्डर लाइन से मेल खाते हैं, और प्रत्येक पूर्ति एपीआई कॉल में केवल पूर्ण किए गए आइटम ही भेजें। जो आइटम पहले ही पूरे हो चुके हैं उनके लिए पूर्ति भेजने से एपीआई त्रुटि होती है।
स्प्लिट शिपमेंट को संभालना
जब ओडू एक डिलीवरी ऑर्डर को कई शिपमेंट (बैकऑर्डर परिदृश्य) में विभाजित करता है, तो प्रत्येक शिपमेंट एक अलग डिलीवरी ऑर्डर उत्पन्न करता है। एकीकरण अवश्य होना चाहिए:
- पता लगाएं कि नया डिलीवरी ऑर्डर एक बैकऑर्डर है (उसी बिक्री ऑर्डर से संबंधित)
- पहचानें कि इस शिपमेंट में कौन से लाइन आइटम हैं
- केवल उन वस्तुओं के लिए Shopify पर आंशिक पूर्ति बनाएँ
- इस विशिष्ट शिपमेंट के लिए सही ट्रैकिंग नंबर शामिल करें
ड्रॉपशिप ऑर्डर के लिए पूर्ति राइटबैक
ड्रॉपशिप पूर्तियों के लिए (जहां आपूर्तिकर्ता सीधे ग्राहक को भेजता है), ट्रैकिंग जानकारी खरीद ऑर्डर रसीद से आती है, न कि वेयरहाउस डिलीवरी ऑर्डर से। एकीकरण को ड्रॉपशिप ऑर्डर के लिए खरीद रसीद पुष्टिकरण की निगरानी करनी चाहिए और शॉपिफाई पूर्ति के लिए आपूर्तिकर्ता के ट्रैकिंग नंबर का उपयोग करना चाहिए।
त्रुटि प्रबंधन और पुनर्प्राप्ति
ऑर्डर आयात पाइपलाइन में त्रुटियाँ तीन श्रेणियों में आती हैं, प्रत्येक के लिए एक अलग पुनर्प्राप्ति रणनीति की आवश्यकता होती है।
क्षणिक त्रुटियाँ (स्वचालित रूप से पुनः प्रयास करें)
नेटवर्क टाइमआउट, एपीआई दर सीमाएं, अस्थायी सेवा अनुपलब्धता - ये स्वयं हल हो जाते हैं। एकीकरण को घातीय बैकऑफ़ पुनः प्रयास को लागू करना चाहिए: पहला पुनः प्रयास 30 सेकंड के बाद, दूसरा 2 मिनट के बाद, तीसरा 10 मिनट के बाद, एक विन्यास योग्य अधिकतम पुनः प्रयास गणना तक (आमतौर पर 5-10)।
डेटा त्रुटियाँ (समीक्षा के लिए संगरोध)
बेजोड़ उत्पाद, अमान्य पते, अनुपलब्ध आवश्यक फ़ील्ड - इनमें मानवीय हस्तक्षेप की आवश्यकता होती है। एकीकरण को ऑर्डर को समीक्षा कतार में अलग करना चाहिए, जिसमें विफल होने का स्पष्ट विवरण होना चाहिए, संचालन टीम के लिए एक ओडू गतिविधि या अधिसूचना बनानी चाहिए, और डेटा समस्या ठीक होने के बाद एक-क्लिक पुनः प्रयास तंत्र प्रदान करना चाहिए।
प्रणालीगत त्रुटियाँ (तत्काल सचेत करें)
प्रमाणीकरण विफलताएं, एपीआई अनुमति परिवर्तन, कनेक्टर कॉन्फ़िगरेशन त्रुटियां - ये केवल एक को नहीं, बल्कि सभी ऑर्डर को प्रभावित करते हैं। एकीकरण को पैटर्न का पता लगाना चाहिए (उदाहरण के लिए, लगातार 5 विफलताएं) और ईमेल और डैशबोर्ड अलर्ट के माध्यम से तुरंत आगे बढ़ना चाहिए।
मृत पत्र कतार
वे आदेश जो पुनः प्रयास करने के सभी प्रयासों में विफल हो जाते हैं, एक मृत पत्र कतार में चले जाते हैं - अप्राप्य आदेशों का एक सतत रिकॉर्ड। इस कतार की प्रतिदिन निगरानी की जानी चाहिए। सामान्य मृत पत्र कारणों में ऐसे उत्पाद शामिल हैं जो शॉपिफाई में मौजूद हैं लेकिन कभी भी ओडू के साथ समन्वयित नहीं किए गए थे, अमान्य वर्णों वाला ग्राहक डेटा जिसे ओडू अस्वीकार करता है, शून्य-मूल्य वाले आइटम वाले ऑर्डर जो ओडू सत्यापन में विफल होते हैं, और जब एक नई शॉपिफाई मुद्रा ओडू में कॉन्फ़िगर नहीं की जाती है तो मुद्रा बेमेल होती है।
ऑर्डर आयात पाइपलाइन का परीक्षण
लाइव होने से पहले, पाइपलाइन के माध्यम से प्रत्येक पथ का परीक्षण करें:
कार्यात्मक परीक्षण परिदृश्य
| परिदृश्य | अपेक्षित परिणाम |
|---|---|
| मानक भुगतान आदेश | Odoo SO ने बनाया, पुष्टि की, चालान किया, भुगतान पंजीकृत किया |
| डिस्काउंट कोड के साथ ऑर्डर करें | सभी लाइनों पर छूट सही ढंग से वितरित की गई |
| एकाधिक वेरिएंट के साथ ऑर्डर करें | प्रत्येक वैरिएंट Odoo उत्पाद को सही करने के लिए मैप करता है |
| नए ग्राहक के लिए ऑर्डर | सभी पतों के साथ नया Odoo संपर्क बनाया गया |
| मौजूदा ग्राहक के लिए ऑर्डर | मौजूदा संपर्क मिला, फ़ील्ड मर्ज हो गए |
| बहु-मुद्रा क्रम | प्रेजेंटेशन मुद्रा में दर्ज, कार्यात्मक में परिवर्तित |
| आंशिक पूर्ति | Shopify सही लाइन आइटम के साथ आंशिक रूप से पूर्ण शो दिखाता है |
| पूर्ण पूर्ति | Shopify ट्रैकिंग नंबर के साथ पूरा शो दिखाता है |
| ऑर्डर रद्द करना | ओडू एसओ रद्द, इन्वेंट्री बहाल |
| रिफंड (पूर्ण) | क्रेडिट नोट बनाया गया, भुगतान उलट दिया गया |
| रिफंड (आंशिक) | विशिष्ट पंक्ति वस्तुओं के लिए आंशिक क्रेडिट नोट |
| डुप्लीकेट वेबहुक | दूसरा वेबहुक डुप्लिकेट ऑर्डर नहीं बनाता है |
| उत्पाद ओडू में नहीं है | चेतावनी के साथ संगरोध आदेश |
| एपीआई दर सीमा हिट | बैकऑफ़ अवधि के बाद आदेश पुनः प्रयास किया गया |
लोड परीक्षण
यदि आपका स्टोर उच्च मात्रा (500+ ऑर्डर/दिन) संसाधित करता है, तो उत्पादन-जैसे डेटा वॉल्यूम के साथ आयात पाइपलाइन का लोड परीक्षण करें। सत्यापित करें कि पाइपलाइन बर्स्ट ट्रैफ़िक (फ़्लैश बिक्री) को संभालती है, कि डेटाबेस लॉक बाधाएँ पैदा नहीं करते हैं, और Shopify और Odoo API दर सीमा का सम्मान किया जाता है।
प्रदर्शन अनुकूलन
ऐतिहासिक आयात के लिए बैच प्रोसेसिंग
शुरुआत में एकीकरण स्थापित करते समय या ऐतिहासिक ऑर्डर आयात करते समय, प्रत्येक ऑर्डर को व्यक्तिगत रूप से संसाधित करने के बजाय 250 (अधिकतम पृष्ठ आकार) के बैच में ऑर्डर लाने के लिए शॉपिफाई के REST API का उपयोग करें। मानों की सूची के साथ ORM क्रिएट विधि का उपयोग करके बैचों में Odoo रिकॉर्ड बनाएं।
कैशिंग उत्पाद और ग्राहक लुकअप
उत्पाद मिलान (चरण 3) और ग्राहक समाधान (चरण 2) में प्रत्येक ऑर्डर के लिए डेटाबेस लुकअप शामिल होता है। Odoo API कॉल को कम करने के लिए बार-बार एक्सेस किए जाने वाले उत्पादों और ग्राहकों को कैश करें। उत्पाद या ग्राहक अपडेट होने पर कैश को अमान्य करें।
वेबहुक प्रोसेसिंग कॉनकरेंसी
उच्च-मात्रा वाली दुकानों के लिए, वेबहुक को एक साथ संसाधित करें - कई कर्मचारी एक साथ संदेश कतार से खींच रहे हैं। दो कर्मचारियों को एक साथ एक ही ऑर्डर बनाने से रोकने के लिए इडेम्पोटेंसी कुंजी जांच पर डेटाबेस-स्तरीय लॉकिंग का उपयोग करके समवर्ती सुरक्षा सुनिश्चित करें।
अक्सर पूछे जाने वाले प्रश्न
वेबहुक-आधारित स्वचालन के साथ ओडू में शॉपिफाई ऑर्डर कितनी जल्दी दिखाई देते हैं?
ठीक से कॉन्फ़िगर किए गए वेबहुक-आधारित एकीकरण के साथ, शॉपिफाई ऑर्डर ऑर्डर प्लेसमेंट के 2-10 सेकंड के भीतर ओडू में दिखाई देते हैं। इसमें वेबहुक डिलीवरी, एचएमएसी सत्यापन, ग्राहक समाधान, उत्पाद मिलान और बिक्री ऑर्डर निर्माण शामिल है। क्रॉन-आधारित विकल्प मतदान अंतराल के आधार पर 5-60 मिनट की देरी जोड़ते हैं।
यदि Shopify ऑर्डर आने पर Odoo डाउन हो जाए तो क्या होगा?
ओडू उपलब्ध होने तक एकीकरण की संदेश कतार ऑर्डर वेबहुक पेलोड को रखती है। जब ओडू ऑनलाइन वापस आता है, तो कतार सभी लंबित ऑर्डरों को क्रम से संसाधित करती है। शॉपिफाई द्वितीयक सुरक्षा जाल प्रदान करते हुए 48 घंटों तक विफल वेबहुक डिलीवरी का पुनः प्रयास भी करता है। यदि एकीकरण एक सतत संदेश कतार का उपयोग करता है तो ऑर्डर कभी नहीं खोते हैं।
क्या मैं कई शॉपिफाई स्टोर्स से ऑर्डर को एक ओडू इंस्टेंस में आयात कर सकता हूं?
हाँ। प्रत्येक शॉपिफाई स्टोर एपीआई क्रेडेंशियल्स और वेबहुक सब्सक्रिप्शन के अपने सेट के माध्यम से जुड़ता है। एकीकरण प्रत्येक ऑर्डर को स्रोत स्टोर (कस्टम फ़ील्ड या ओडू बिक्री टीम का उपयोग करके) के साथ टैग करता है ताकि आप स्टोर द्वारा रिपोर्ट कर सकें। आपकी कैटलॉग रणनीति के आधार पर उत्पादों को स्टोर या स्टोर-विशिष्ट पर साझा किया जा सकता है।
एकीकरण Shopify ड्राफ्ट ऑर्डर को कैसे संभालता है?
ड्राफ्ट ऑर्डर (फोन ऑर्डर या बी2बी कोटेशन के लिए व्यापारियों द्वारा बनाए गए) को तब आयात किया जाना चाहिए जब वे पूरे हो जाएं (भुगतान किया जाए), न कि तब जब वे ड्राफ्ट के रूप में बनाए जाएं। ऑर्डर की सदस्यता लें/वेबहुक बनाएं, जो तब सक्रिय होता है जब ड्राफ्ट ऑर्डर वास्तविक ऑर्डर में परिवर्तित हो जाता है। वैकल्पिक रूप से, ड्राफ्ट_ऑर्डर/अपडेट की सदस्यता लें और केवल तभी आयात करें जब स्थिति "पूर्ण" में बदल जाए।
Shopify POS ऑर्डर के बारे में क्या - क्या वे समान पाइपलाइन का पालन करते हैं?
शॉपिफाई पीओएस ऑर्डर ऑनलाइन ऑर्डर के समान ही ऑर्डर ट्रिगर करते हैं/वेबहुक बनाते हैं। एकीकरण उन्हें समान रूप से संसाधित कर सकता है, हालांकि आप रिपोर्टिंग के लिए एक अलग ओडू बिक्री टीम या स्रोत के साथ पीओएस ऑर्डर को टैग करना चाह सकते हैं। पीओएस ऑर्डर में नकद या बाहरी टर्मिनल भुगतान विधियां भी शामिल हो सकती हैं, जिसके लिए अलग-अलग ओडू भुगतान जर्नल कॉन्फ़िगरेशन की आवश्यकता होती है।
आयात के बाद मैं ऑर्डर संपादन कैसे प्रबंधित करूं (उदाहरण के लिए, व्यापारी Shopify पर ऑर्डर संपादित करता है)?
जब कोई ऑर्डर संपादित किया जाता है तो Shopify ऑर्डर/अपडेटेड वेबहुक सक्रिय कर देता है। एकीकरण को मौजूदा ओडू बिक्री आदेश के साथ अद्यतन आदेश की तुलना करनी चाहिए और अंतरों को लागू करना चाहिए - जोड़े गए लाइन आइटम, हटाए गए आइटम, मात्रा में परिवर्तन, या मूल्य समायोजन। यह एकीकरण के सबसे जटिल हिस्सों में से एक है, और कुछ कार्यान्वयन इसे ओडू एसओ को रद्द करके और इसे फिर से बनाकर संभालते हैं, जो सरल है लेकिन अधिक लेखांकन प्रविष्टियाँ बनाता है।
क्या ऑटोमेशन Shopify सब्सक्रिप्शन ऐप्स से सब्सक्रिप्शन ऑर्डर संभाल सकता है?
सदस्यता ऑर्डर (रिचार्ज, बोल्ड सब्सक्रिप्शन, या शॉपिफाई नेटिव सब्सक्रिप्शन से) प्रत्येक आवर्ती शुल्क के लिए मानक ऑर्डर ट्रिगर करते हैं/वेबहुक बनाते हैं। एकीकरण उन्हें किसी अन्य ऑर्डर की तरह आयात करता है। आवर्ती आदेशों को ओडू सदस्यता रिकॉर्ड से जोड़ने के लिए, संदर्भ के रूप में ऐप के मेटाफ़ील्ड से सदस्यता आईडी का उपयोग करें, और सभी संबंधित ओडू बिक्री आदेशों को एक एकल ओडू सदस्यता के साथ संबद्ध करें।
ECOSIRE के साथ कार्यान्वयन
उत्पादन-ग्रेड शॉपिफाई-टू-ओडू ऑर्डर आयात पाइपलाइन के निर्माण के लिए दर्जनों किनारे के मामलों को संभालने की आवश्यकता होती है जो तब तक स्पष्ट नहीं होते हैं जब तक आप उत्पादन में उनका सामना नहीं करते हैं - आंशिक भुगतान, डिजिटल और भौतिक दोनों वस्तुओं के साथ ऑर्डर, जटिल कर क्षेत्राधिकार, मल्टी-वेयरहाउस रूटिंग, और विक्रेता ड्रॉपशिप पूर्ति।
ECOSIRE ने सैकड़ों Shopify व्यापारियों के लिए इस पाइपलाइन को लागू किया है। हमारी Shopify एकीकरण सेवाओं में इस गाइड में वर्णित पूर्ण पाइपलाइन के साथ पूर्ण ऑर्डर स्वचालन, सभी सामान्य किनारे के मामलों के लिए पूर्व-निर्मित हैंडलिंग, वास्तविक समय की निगरानी और चेतावनी, और एपीआई विकसित होने पर चल रहे रखरखाव शामिल हैं।
उन व्यवसायों के लिए जो वित्तीय पक्ष को स्वचालित करना चाहते हैं, Shopify + Odoo Accounting Integration के लिए हमारी मार्गदर्शिका देखें, या हमारे Shopify-Odoo कनेक्टर तुलना के साथ अपने विकल्पों की तुलना करें।
लेखक
ECOSIRE TeamTechnical Writing
The ECOSIRE technical writing team covers Odoo ERP, Shopify eCommerce, AI agents, Power BI analytics, GoHighLevel automation, and enterprise software best practices. Our guides help businesses make informed technology decisions.
संबंधित लेख
blog.posts.accounting-automation-bookkeeping-guide-2026.title
blog.posts.accounting-automation-bookkeeping-guide-2026.description
blog.posts.ai-agents-business-definitive-guide-2026.title
blog.posts.ai-agents-business-definitive-guide-2026.description
blog.posts.ai-agents-vs-rpa-comparison-2026.title
blog.posts.ai-agents-vs-rpa-comparison-2026.description