Tajo, Shopify डेटा को दो तरीकों से Brevo में ले जाता है। Tajo का Shopify ऐप Shopify webhook को आते ही प्रोसेस करता है। सिंक नियम इंसान द्वारा अप्रूव्ड, एक-दिशा वाले होते हैं, बैचों में चलते हैं और शुरू से अंत तक लॉग होते हैं। यह लेख दोनों को समझाता है, उनमें क्या शामिल नहीं है, और Tajo का Shopify ऐप Shopify में वापस कौन-सी कुछ चीज़ें लिखता है।
त्वरित जाँच यह लेख मानता है कि आपने Shopify और Brevo को कनेक्ट कर लिया है और कम से कम एक सिंक नियम पब्लिश कर दिया है। अगर नहीं, तो Tajo को Shopify से कनेक्ट करना से शुरुआत करें।
इवेंट होते ही: Tajo का Shopify ऐप
Tajo का Shopify ऐप Shopify webhook को सब्सक्राइब करता है और हर एक को आते ही प्रोसेस करता है। ग्राहक और प्रोडक्ट में बदलाव पहले लगभग चार सेकंड रुकते हैं। ग्राहक, ऑर्डर, चेकआउट, प्रोडक्ट, कलेक्शन और स्टॉक लेवल इसी तरह Brevo तक पहुँचते हैं, साथ में order_paid और cart_abandoned जैसे इवेंट भी। Shopify इंटीग्रेशन गाइड हर टॉपिक और वह Brevo में क्या लिखता है, इसकी सूची देती है।
एक सिंक नियम की संरचना
एक सिंक नियम पूरी तरह से समीक्षित और अप्रूव्ड परिभाषा है कि वास्तव में क्या मूव होता है और कैसे। एक एजेंट इसे आपके विवरण से बनाता है, और एक व्यक्ति इसे अप्रूव करता है। एक नियम के चार हिस्से होते हैं जिन्हें आप उसके पेज पर Connections > Syncs and mappings के तहत देख सकते हैं:
| हिस्सा | यह क्या करता है |
|---|---|
| फ़ील्ड मैपिंग | हर सोर्स फ़ील्ड, वह Brevo फ़ील्ड जिसमें यह लिखता है, और बीच में कोई भी ट्रांसफ़ॉर्म |
| फ़िल्टर एक्सप्रेशन | प्रत्येक रिकॉर्ड के लिए इवैल्युएट किया जाता है; जो रिकॉर्ड मैच नहीं करते उन्हें स्किप कर दिया जाता है |
| कर्सर | ट्रैक करता है कि सिंकिंग कितनी आगे बढ़ी है, ताकि हर रन वहीं से शुरू हो जहाँ पिछला रुका था |
| रन हिस्ट्री | हर रन, जिसमें पढ़े, लिखे और फ़ेल हुए रिकॉर्ड्स, साथ ही ड्यूरेशन और स्टेटस शामिल है |
एक सिंक नियम डेटा को एक ही दिशा में मूव करता है: आपके सोर्स से Brevo में। यह Shopify में कभी नहीं लिखता। Tajo का Shopify ऐप हालाँकि Shopify में कुछ चीज़ें वापस लिखता है, जैसे सहमति ऑप्ट-आउट और लॉयल्टी टियर टैग। Shopify परमिशन समझाई गई हर राइट और उसके होने का समय सूचीबद्ध करती है।
सिंक नियम कब चलता है
सिंक नियम बैचों में चलते हैं। कॉन्टैक्ट सिंक नियम डिफ़ॉल्ट रूप से हर 15 मिनट में चलते हैं। सक्रिय और पब्लिश किया गया Shopify orders → Brevo orders नियम भी हर 15 मिनट में चलता है, लेकिन केवल टेम्पलेट के खरीदार मार्केटिंग ऑप्ट-इन फ़िल्टर के साथ। जिस नियम का फ़िल्टर एडिट किया गया है, वह तभी चलता है जब आप उसे शुरू करते हैं। ऑर्डर नियम का पहला शेड्यूल्ड रन उस पल से कुछ मिनट पहले शुरू होता है और उससे पुराने ऑर्डर नहीं भेजता। उसके बाद हर रन पिछले रन के बाद अपडेट हुए ऑर्डर भेजता है। पुराने ऑर्डर Brevo में तभी पहुंचते हैं जब आप नियम खुद चलाते हैं। किसी सक्रिय नियम के पेज पर Test run (1 batch) बटन होता है, और Sync Operator एजेंट आपके कहने पर सक्रिय नियम चलाता है। बैच रन ही वह चीज़ है जो हर राइट को रिव्यूएबल, बजटेड, और किसी खास रन से जोड़ने योग्य बनाती है।
हर रन कर्सर के बाद से नए और बदले हुए रिकॉर्ड्स पढ़ता है, फ़िल्टर लागू करता है, फ़ील्ड्स मैप करता है, और Brevo में लिखता है। रन का रिकॉर्ड ठीक-ठीक दिखाता है कि कितने रिकॉर्ड्स पढ़े, लिखे और फ़ेल हुए।
गवर्नेंस की गारंटियां
सहमति डिफ़ॉल्ट रूप से मना करती है (fails closed)
Brevo में व्यक्तिगत डेटा लिखने वाला नियम सहमति और सप्रेशन फ़िल्टर के बिना पब्लिश नहीं हो सकता। रन टाइम पर, बिना साबित सहमति के किसी मार्केटिंग ऑडियंस में लिखा जाने वाला कॉन्टैक्ट अस्वीकार कर दिया जाता है। जब सहमति स्थापित नहीं की जा सकती, तो Tajo अंदाज़ा लगाने के बजाय राइट को मना कर देता है। फेलियर मोड हमेशा “बहुत सतर्क” होता है, कभी “ज़्यादा भेजा” नहीं।
रन इडेम्पोटेंट होते हैं
हर राइट के साथ सोर्स रिकॉर्ड से निकाली गई एक की जुड़ी होती है। यह की एक हैश है, इसलिए इसमें कोई व्यक्तिगत डेटा नहीं होता। उन्हीं रिकॉर्ड्स पर किसी सिंक को दोबारा चलाना, चाहे फेलियर के बाद हो, पॉज़ के बाद हो, या हाथ से, डुप्लिकेट राइट्स नहीं बनाता।
सब कुछ ऑडिट होता है
किसी नियम का पब्लिश होना, अमान्य हुई अप्रूवल्स और स्वचालित पॉज़ Activity के तहत दर्ज होते हैं। हर अप्रूवल निर्णय के साथ एक लिखित औचित्य होता है। हर रन नियम की रन हिस्ट्री में दर्ज होता है। किसी पब्लिकेशन को अधिकृत करने वाली अप्रूवल उस सटीक नियम के डाइजेस्ट से बंधी होती है जिसका प्रीव्यू हुआ था। नियम को एडिट करने से वह फिर से ड्राफ़्ट बन जाता है और अप्रूवल अमान्य हो जाती है, इसलिए जो चलता है वह हमेशा वही होता है जिसे अधिकृत किया गया था।
फेलियर होने पर नियम रुक जाता है
अगर लगातार पाँच रन फेल होते हैं, तो एक सर्किट ब्रेकर अपने आप नियम को रोक देता है और नियम के पेज पर आखिरी एरर दिखाता है। कारण ठीक करें, फिर फिर से शुरू करने के लिए दोबारा पब्लिश करें। आंशिक रूप से फेल हुआ रन अपनी फ़ेल्ड काउंट रिपोर्ट करता है, ताकि आप ठीक-ठीक देख सकें कि क्या नहीं पहुंचा।
अनसब्सक्राइब्स का सम्मान कैसे किया जाता है
- जब कोई कॉन्टैक्ट Brevo ईमेल के फ़ुटर लिंक के ज़रिए अनसब्सक्राइब करता है, तो वह ऑप्ट-आउट कॉन्टैक्ट के खिलाफ दर्ज हो जाता है, और Brevo उन्हें आगे के कैंपेन से बाहर रखता है।
- बैच ग्राहक सिंक में, Tajo का Shopify ऐप Shopify सहमति के समय की तुलना Brevo अनसब्सक्राइब के समय से करता है और जो बाद में हुआ उसे रखता है।
- Shopify से webhook के रूप में आने वाला सहमति बदलाव Brevo में वैसे ही लिखा जाता है जैसा Shopify उसे रिपोर्ट करता है।
- अगर संपर्क Shopify में subscribed था, तो Tajo का Shopify ऐप उसे Shopify में भी unsubscribed चिह्नित कर देता है। Brevo का कोई इवेंट किसी ग्राहक को केवल subscribed से unsubscribed में ले जाता है। यह कभी किसी को subscribe नहीं करता, इसलिए Brevo में subscribe होने से Shopify में कुछ नहीं बदलता।
कौन सा डेटा उपलब्ध है
Tajo का Shopify ऐप कॉन्टैक्ट, ऑर्डर, ऑर्डर और कार्ट इवेंट, प्रोडक्ट कैटलॉग और स्टॉक भेजता है। कोई सिंक नियम क्या भेजता है, यह उसकी फ़ील्ड मैपिंग पर निर्भर करता है। Shopify ग्राहकों के लिए, टेम्पलेट पहचान फ़ील्ड्स, कुल खर्च, ऑर्डर काउंट, टैग और ऑप्ट-इन को Brevo कॉन्टैक्ट एट्रिब्यूट्स में मैप करता है जिन्हें आप सेगमेंट्स और कैंपेन में इस्तेमाल कर सकते हैं। आपके वर्कस्पेस के लिए सटीक मैपिंग किसी डिस्क्रिप्शन में छिपी नहीं है: सिंक नियम खोलें और फ़ील्ड मैपिंग टेबल पढ़ें। “क्या सिंक होता है” इस सवाल का सही जवाब वही टेबल है।
Tajo आज क्या नहीं करता
सीमाओं के बारे में सटीक होना एक लंबी फ़ीचर लिस्ट से ज़्यादा मायने रखता है:
- कोई दो-तरफ़ा सिंक नियम नहीं। सिंक नियम केवल Brevo में लिखता है। Shopify ऐप के अपने Shopify में राइट (सहमति ऑप्ट-आउट, Brevo एंगेजमेंट और लॉयल्टी मेटाफ़ील्ड, लॉयल्टी टियर टैग) Shopify परमिशन समझाई गई में सूचीबद्ध हैं।
- कोई रियल-टाइम सिंक नियम नहीं। सिंक नियम बैचों में चलते हैं। केवल Tajo के Shopify ऐप का webhook सिंक इवेंट आते ही काम करता है।
- कोई बैक-इन-स्टॉक बटन नहीं। ऐप Brevo में प्रोडक्ट स्टॉक को अद्यतन रखता है और सूचना माँगने वाले खरीदारों को एक
back_in_stockइवेंट भेजता है। अनुरोध आपके स्टोरफ़्रंट से आना चाहिए: ऐप आपकी थीम में “Notify me” बटन नहीं जोड़ता।
अगर इनमें से कोई सीमा आपके किसी यूज़ केस को रोकती है, तो टीम को बताएं; अर्ली एक्सेस की प्राथमिकताएं ठीक इसी तरह के फ़ीडबैक से तय होती हैं।
अपना डेटा कहां देखें
- Tajo में: रन हिस्ट्री, कर्सर पोज़िशन और प्रति-रन काउंट्स के लिए Connections > Syncs and mappings के तहत सिंक नियम खोलें। Activity पब्लिकेशंस और स्वचालित पॉज़ दर्ज करता है।
- Brevo में: Contacts खोलें और यह पुष्टि करने के लिए कि मैप किए गए फ़ील्ड्स भर रहे हैं, किसी भी कॉन्टैक्ट के एट्रिब्यूट्स का निरीक्षण करें। टारगेटिंग के लिए उन एट्रिब्यूट्स पर सेगमेंट बनाएं।
समस्या निवारण
- Brevo में कॉन्टैक्ट्स दिखाई नहीं दे रहे: नियम के सबसे हाल के रन में फेलियर और उसका स्टेटस जांचें (पॉज़्ड नियम नहीं चलता)। देखें Brevo में कॉन्टैक्ट्स गायब होना।
- रन बार-बार फेल हो रहे हैं: सर्किट ब्रेकर नियम को पॉज़ कर देगा और आखिरी एरर दिखाएगा। देखें डेटा सिंक नहीं हो रहा।
- डुप्लिकेट कॉन्टैक्ट्स: राइट्स प्रति सोर्स रिकॉर्ड इडेम्पोटेंट होते हैं, लेकिन Brevo में पहले से मौजूद डुप्लिकेट्स बने रहते हैं। देखें डुप्लिकेट कॉन्टैक्ट्स।
सामान्य प्रश्न
क्या मैं सिंक को तेज़ कर सकता हूं? किसी सक्रिय नियम के पेज पर Test run (1 batch) बटन होता है। होते ही बदलावों के लिए, Tajo के Shopify ऐप का webhook सिंक पहले से ग्राहक, ऑर्डर, चेकआउट, प्रोडक्ट और स्टॉक को कवर करता है।
अगर कोई रन आधे में फेल हो जाए तो क्या होता है? रन अपनी फ़ेल्ड काउंट रिपोर्ट करता है, कर्सर केवल उतना ही आगे बढ़ता है जितना प्रोसेस हुआ, और अगला रन सुरक्षित रूप से उस ज़मीन को दोबारा कवर करता है; इडेम्पोटेंसी कीज़ डुप्लिकेट्स को रोकती हैं।
क्या मैं बदल सकता हूं कि क्या सिंक होता है? हां। एजेंट से नियम की फ़ील्ड मैपिंग या फ़िल्टर बदलने को कहें। एडिट से नियम फिर से ड्राफ़्ट बन जाता है, और दोबारा चलने से पहले उसे फिर से प्रीव्यू और अप्रूवल से गुज़रना होगा।
मेरा नियम खुद क्यों रुक गया? लगातार रन फेलियर सर्किट ब्रेकर को ट्रिगर करते हैं। नियम का पेज फेलियर काउंट और आखिरी एरर दिखाता है; समस्या ठीक करें और दोबारा पब्लिश करें।
संबंधित लेख
- Tajo को Shopify से कनेक्ट करें
- सेगमेंटेशन की मूल बातें
- समस्या निवारण: डेटा सिंक नहीं हो रहा
- समस्या निवारण: Brevo में कॉन्टैक्ट्स गायब होना