अर्ली एक्सेस का अनुरोध करें

अपना पहला नाम और कार्यस्थल का ईमेल पता दर्ज करें। Tajo एक्सेस अनुरोध की पुष्टि के लिए हम आपको एक लिंक ईमेल करेंगे।

Shopify इंटीग्रेशन गाइड

Tajo, Shopify को Brevo से दो जगहों पर जोड़ता है. Tajo Shopify ऐप Shopify webhook को आते ही Brevo में लिखे जाने वाले डेटा में बदल देता है. सिंक नियम, जिन्हें एक एजेंट बनाता है और एक व्यक्ति मंज़ूर करता है, रिकॉर्ड को शेड्यूल पर Brevo में ले जाते हैं. यह पेज दोनों को समझाता है, फिर उन Shopify टूल को जिन्हें Tajo MCP पर उपलब्ध कराता है.

ज़रूरी शर्तें

इंटीग्रेशन शुरू करने से पहले पक्का करें कि आपके पास ये हैं:

  • Shopify स्टोर किसी भी प्लान पर (Basic, Shopify, Advanced या Plus)
  • Tajo अकाउंट (Tajo अर्ली एक्सेस में है)
  • Brevo अकाउंट, सिंक का गंतव्य
  • एडमिन एक्सेस आपके Shopify स्टोर का

चरण 1: अपना Shopify स्टोर जोड़ें

Tajo अर्ली एक्सेस में है. Shopify ऐप Shopify App Store में सूचीबद्ध नहीं है, और खुद इंस्टॉल करने का कोई लिंक नहीं है. सेटअप के लिए टीम से संपर्क करें. जब आपका Tajo वर्कस्पेस तैयार हो जाए:

  1. Tajo में Connections खोलें.
  2. अपने स्टोर का myshopify.com डोमेन डालें और Connect Shopify चुनें. Shopify वे स्कोप दिखाता है जो Tajo माँगता है, और आपके मंज़ूर करने पर आपको Tajo में वापस भेज देता है.
  3. हर स्कोप किसके लिए है, और Tajo Shopify में वापस क्या लिखता है, यह Shopify परमिशन समझाई गई में देखें.

चरण 2: Tajo Shopify ऐप Brevo को क्या भेजता है

ऐप हर Shopify webhook को वेरिफ़ाई करता है, उसे स्टोर करता है, कतार में डालता है और तुरंत प्रोसेस करता है. ग्राहक और प्रोडक्ट टॉपिक पहले लगभग चार सेकंड रुकते हैं. कोई बैच विंडो नहीं है. फ़ेल हुए जॉब को बैकऑफ़ के साथ दोबारा आज़माया जाता है.

Webhook टॉपिक

Tajo Shopify ऐप इन Shopify webhook टॉपिक को सब्सक्राइब करता है:

Webhook टॉपिकउद्देश्य
customers/create, customers/update, customers/deleteBrevo कॉन्टैक्ट को अद्यतन रखना
orders/create, orders/updated, orders/fulfilled, orders/cancelledBrevo के लिए ऑर्डर इवेंट और ऑर्डर मेट्रिक्स
orders/paid, refunds/createलॉयल्टी पॉइंट देना और घटाना
checkouts/create, checkouts/updateBrevo में छोड़े गए चेकआउट की रिकवरी
products/create, products/update, products/deleteBrevo में प्रोडक्ट कैटलॉग को अद्यतन रखना
inventory_levels/updateBrevo में प्रोडक्ट स्टॉक को अद्यतन रखना
collections/create, collections/update, collections/deleteकलेक्शन को अद्यतन रखना
companies/*, company_contacts/*, company_locations/* (create, update, delete)B2B कंपनी सिंक
app/uninstalled, app/scopes_update, app_subscriptions/updateऐप का जीवनचक्र

Shopify के अनिवार्य प्राइवेसी webhook (ग्राहक डेटा अनुरोध, ग्राहक डेटा हटाना, शॉप डेटा हटाना) भी संभाले जाते हैं. ऐप carts/* को सब्सक्राइब नहीं करता. छोड़े गए कार्ट checkouts/* टॉपिक से आते हैं.

Brevo में क्या पहुँचता है:

Shopify इवेंटBrevo में
ग्राहक बनाया गया या अपडेट हुआकॉन्टैक्ट नाम, ईमेल और मार्केटिंग सहमति के साथ बनाया या अपडेट किया जाता है. पेड प्लान पर ऐप टैग, ऑर्डर की संख्या, खर्च की गई राशि और आख़िरी ऑर्डर भी जोड़ता है.
ग्राहक हटाया गयाकॉन्टैक्ट को अनसब्सक्राइब किया जाता है, हटाया नहीं जाता
ऑर्डर बनाया गया, अपडेट हुआ, भुगतान हुआ, पूरा हुआ या रद्द हुआBrevo के orders API के ज़रिए ऑर्डर, और इवेंट order_paid, order_completed और order_cancelled
रिफ़ंड बनाया गयाइवेंट order_refunded. अगर आप Tajo के ज़रिए Brevo लॉयल्टी प्रोग्राम चलाते हैं, तो पॉइंट अनुपात में घटाए जाते हैं.
ऑर्डर का भुगतान हुआ, Brevo लॉयल्टी प्रोग्राम के साथआपकी प्रति डॉलर पॉइंट दर पर पॉइंट दिए जाते हैं
चेकआउट बनाया गया या अपडेट हुआ, ईमेल और आइटम के साथइवेंट cart_updated और cart_abandoned. कब भेजना है, यह आपका Brevo ऑटोमेशन तय करता है.
प्रोडक्ट या कलेक्शन बनाया गया, अपडेट हुआ या हटाया गयाBrevo का प्रोडक्ट कैटलॉग और कैटेगरी
इन्वेंट्री लेवल अपडेट हुआBrevo के कैटलॉग में प्रोडक्ट का स्टॉक. जब कोई वेरिएंट 0 से 0 से ऊपर जाता है, तो सूचना माँगने वाले हर खरीदार को एक back_in_stock इवेंट मिलता है, हर रीस्टॉक पर एक बार.

ऐप आपकी थीम में “Notify me” बटन नहीं जोड़ता. बैक-इन-स्टॉक अनुरोध आपके स्टोरफ़्रंट से आना चाहिए, उदाहरण के लिए आपके जोड़े गए किसी बटन से.

मौजूदा डेटा

इंस्टॉल होने पर ऐप आपके मौजूदा ग्राहकों को Brevo कॉन्टैक्ट के रूप में इंपोर्ट करता है. पूरा ऐतिहासिक सिंक ऐप के सिंक पेज से शुरू किया जाता है. पेड प्लान पर यह प्रोडक्ट, कलेक्शन, कंपनियाँ और ऑर्डर भी इंपोर्ट करता है.

चरण 3: एजेंट के साथ सिंक नियम बनाएं

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

  1. Tajo में Agents खोलें और Brevo Integration Architect से सामान्य भाषा में सिंक माँगें. उदाहरण के लिए: “जिन Shopify ग्राहकों ने ईमेल मार्केटिंग स्वीकार की है, उन्हें Brevo में कॉन्टैक्ट के रूप में भेजें.”
  2. एजेंट Shopify कनेक्टर की जाँच करता है. उसका सैंपल फ़ील्ड के नाम और टाइप लौटाता है, ग्राहकों के मान कभी नहीं.
  3. वह फ़ील्ड मैप और फ़िल्टर के साथ एक नियम प्रस्तावित करता है, फिर फ़ील्ड मैप को Brevo के एक्शन के सामने वैलिडेट करता है और ड्राफ़्ट का ड्राई रन करता है. इनमें से कोई भी चरण ग्राहक रिकॉर्ड नहीं पढ़ता.
  4. वह नियम को ड्राफ़्ट के रूप में सेव करता है. आप Connections > Syncs and mappings > New sync from template के तहत किसी टेम्पलेट से भी शुरू कर सकते हैं.
  5. Request publish approval आपके स्टोर पर एक प्रीव्यू चलाता है. यह अधिकतम 10 रिकॉर्ड पढ़ता है, Brevo में कुछ नहीं लिखता और कर्सर को आगे नहीं बढ़ाता. यह केवल गिनती दर्ज करता है: खींचे गए, योग्य, मैप किए गए और फ़िल्टर द्वारा अस्वीकार किए गए रिकॉर्ड, साथ ही मैपिंग की गलतियाँ. अगर प्रीव्यू फ़ेल होता है, तो कोई मंज़ूरी नहीं बनती.
  6. एक व्यक्ति Approvals पेज पर लिखित कारण के साथ अनुरोध को मंज़ूर करता है. मंज़ूरी नियम के SHA-256 डाइजेस्ट से बंधी होती है और 30 मिनट बाद समाप्त हो जाती है. इसके बाद नियम के पेज पर Publish approved version दिखता है.

पब्लिश किए गए नियम को एडिट करने पर वह फिर से ड्राफ़्ट बन जाता है. दोबारा चलने से पहले उसे फिर प्रीव्यू और मंज़ूरी से गुज़रना होता है.

एक असली नियम

यह Shopify customers -> Brevo contacts टेम्पलेट है, जैसा Tajo इसे परिभाषित करता है:

sourceSlug: "shopify",
sourceResource: "customers",
destinationSlug: "brevo",
destinationAction: "upsert_contact",
fieldMap: [
{ source: "email", destination: "email", transform: "toLowerCase" },
{ source: "first_name", destination: "attributes.FIRSTNAME" },
{ source: "last_name", destination: "attributes.LASTNAME" },
{ source: "phone", destination: "attributes.PHONE" },
{ source: "total_spent", destination: "attributes.TOTAL_SPENT", transform: "toNumber" },
{ source: "orders_count", destination: "attributes.ORDERS_COUNT", transform: "toNumber" },
{ source: "tajo_email_marketing_consent", destination: "attributes.OPT_IN", transform: "toBoolean" },
{ source: "tags", destination: "attributes.SHOPIFY_TAGS" },
{ source: "id", destination: "attributes.SHOPIFY_ID", transform: "toString" },
{ source: "created_at", destination: "attributes.SHOPIFY_CREATED_AT" },
{ source: "updated_at", destination: "attributes.SHOPIFY_UPDATED_AT" },
],
filterExpression:
"($json.tajo_email_marketing_consent === true) && ($json.tajo_email_suppressed === false)",

फ़िल्टर ही सहमति की जाँच है. Tajo ये दोनों मान Shopify के email_marketing_consent.state से, या पुराने accepts_marketing फ़्लैग से निकालता है. Brevo में कॉन्टैक्ट लिखने वाला नियम इसके बिना पब्लिश नहीं किया जा सकता. दूसरा Shopify टेम्पलेट, Shopify orders → Brevo orders, उन खरीदारों के ऑर्डर Brevo में दर्ज करता है जिन्होंने चेकआउट पर मार्केटिंग स्वीकार की.

नियम कब चलता है

  • कॉन्टैक्ट सिंक नियम डिफ़ॉल्ट रूप से हर 15 मिनट में चलते हैं. हर रन नियम के कर्सर से शुरू होता है.
  • किसी सक्रिय नियम के पेज पर Test run (1 batch) बटन होता है.
  • सक्रिय और पब्लिश किया गया Shopify orders → Brevo orders नियम भी हर 15 मिनट में चलता है. उसका पहला शेड्यूल्ड रन उस पल से कुछ मिनट पहले शुरू होता है और उससे पुराने ऑर्डर नहीं भेजता. उसके बाद हर रन पिछले रन के बाद अपडेट हुए ऑर्डर भेजता है.
  • पुराने ऑर्डर Brevo में तभी पहुंचते हैं जब आप नियम खुद चलाते हैं: Test run (1 batch) से, या Sync Operator एजेंट से उसे चलाने के लिए कहकर.
  • ऑर्डर नियम शेड्यूल पर तभी चलता है जब उसमें टेम्पलेट का खरीदार मार्केटिंग ऑप्ट-इन फ़िल्टर हो. जिस नियम का फ़िल्टर एडिट किया गया है, वह तभी चलता है जब आप उसे शुरू करते हैं.
  • लगातार पाँच रन फ़ेल होने के बाद नियम खुद को रोक देता है और उसके पेज पर आख़िरी गलती दिखती है. कारण ठीक करें, फिर दोबारा पब्लिश करें.

हर रन नियम के रन इतिहास में पढ़े गए, लिखे गए और फ़ेल हुए रिकॉर्ड और उसकी अवधि के साथ दर्ज होता है.

Shopify कनेक्टर क्या पढ़ता और लिखता है

सिंक नियम केवल गंतव्य में लिखते हैं, यहाँ Brevo में. वे Shopify में कभी नहीं लिखते.

Tajo Shopify ऐप 12 स्कोप माँगता है और Shopify में कुछ ही चीज़ें लिखता है, जैसे सहमति वापस लेना (ऑप्ट-आउट) और लॉयल्टी टैग. Shopify परमिशन समझाई गई हर स्कोप और हर राइट को, उसे ट्रिगर करने वाली चीज़ के साथ, सूचीबद्ध करता है.

एजेंट और MCP होस्ट Shopify कनेक्टर के ज़रिए स्टोर तक पहुँचते हैं:

पढ़ता हैलिखता है
शॉप का विवरण, ग्राहक (सूची और खोज), ऑर्डर, प्रोडक्ट, ग्राहक मेटाफ़ील्ड, इन्वेंट्री लेवल, बल्क एक्सपोर्ट की स्थितिग्राहक मेटाफ़ील्ड और ग्राहक टैग, और बल्क एक्सपोर्ट शुरू करना. हर राइट एक प्रस्ताव के रूप में तैयार किया जाता है और मंज़ूरी के बाद ही चलता है.

कनेक्टर एक इन्वेंट्री एडजस्टमेंट भी घोषित करता है. उसके लिए write_inventory स्कोप चाहिए, जिसे Tajo Shopify ऐप नहीं माँगता.

चरण 4: MCP पर Shopify टूल इस्तेमाल करें

Tajo, Shopify कनेक्टर को https://alto.tajo.io/mcp/connectors/shopify पर MCP सर्वर के रूप में उपलब्ध कराता है. इसे Claude Code में जोड़ें:

Terminal window
claude mcp add --transport http tajo-shopify https://alto.tajo.io/mcp/connectors/shopify

होस्ट Tajo का OAuth सर्वर खोज लेता है और Tajo साइन-इन खोलता है. एक्सेस केवल अर्ली एक्सेस अकाउंट तक सीमित है. सर्वर 12 टूल उपलब्ध कराता है:

टूलयह क्या करता है
preview_tajo_shopify_appTajo Shopify ऐप का इंटरैक्टिव प्रीव्यू, MCP UI के रूप में रेंडर किया गया
get_shopशॉप का विवरण
search_customersShopify क्वेरी सिंटैक्स से ग्राहक खोजें, जैसे tag:tajo-vip या total_spent:>100
list_customersग्राहकों की सूची, पेजों में
list_ordersऑर्डर की सूची, पेजों में
list_productsवेरिएंट, इमेज और इन्वेंट्री के साथ प्रोडक्ट की सूची
get_customer_metafieldsकिसी ग्राहक के मेटाफ़ील्ड पढ़ें
get_inventory_levelsसभी लोकेशन पर किसी वेरिएंट की इन्वेंट्री पढ़ें
poll_bulk_exportबल्क एक्सपोर्ट की जाँच करें और पूरा होने पर उसका डाउनलोड लिंक पाएं
calculate_rewards_profileसिंक किए गए कॉमर्स डेटा से किसी ग्राहक का टियर, पॉइंट और रिवॉर्ड बैलेंस निकालें
shopify_proposeएक Shopify राइट को प्रस्ताव के रूप में तैयार करें. कुछ भी भेजा नहीं जाता.
shopify_applyमंज़ूर किया गया प्रस्ताव चलाएं

समस्या निवारण

अगले कदम

अर्ली एक्सेस का अनुरोध करें

अपना पहला नाम और कार्यस्थल का ईमेल पता दर्ज करें। Tajo एक्सेस अनुरोध की पुष्टि के लिए हम आपको एक लिंक ईमेल करेंगे।

AI असिस्टेंट

नमस्ते! डॉक्यूमेंटेशन के बारे में कुछ भी पूछें.

यह पेज Markdown में: shopify.md

Markdown लोड हो रहा है…
Claude में खोलें ChatGPT में खोलें