Shopify integrációs útmutató
A Tajo két ponton köti össze a Shopify-t a Brevóval. A Tajo Shopify-alkalmazás a Shopify webhookokat a beérkezésükkor Brevo-írásokká alakítja. Az ügynök által felépített és ember által jóváhagyott szinkronizálási szabályok ütemezetten visznek át rekordokat a Brevóba. Ez az oldal mindkettőt bemutatja, majd a Shopify-eszközöket, amelyeket a Tajo MCP-n keresztül szolgál ki.
Előfeltételek
Az integráció megkezdése előtt győződj meg róla, hogy megvan:
- Shopify áruház bármelyik csomaggal (Basic, Shopify, Advanced vagy Plus)
- Tajo fiók (a Tajo korai hozzáférésben érhető el)
- Brevo fiók, a szinkronizálás célja
- Adminisztrátori hozzáférés a Shopify áruházadhoz
1. lépés: kösd össze a Shopify áruházadat
A Tajo korai hozzáférésben érhető el. A Shopify-alkalmazás nem szerepel a Shopify App Store-ban, és nincs önkiszolgáló telepítési hivatkozás. A beállításhoz lépj kapcsolatba a csapattal. Amint a Tajo munkaterületed készen áll:
- A Tajóban nyisd meg a Connections oldalt.
- Add meg az áruházad myshopify.com domainjét, és válaszd a Connect Shopify lehetőséget. A Shopify megmutatja a Tajo által kért scope-okat, és a jóváhagyásuk után visszavisz a Tajóba.
- Nézd meg, mire szolgál az egyes scope, és mit ír vissza a Tajo a Shopify-ba, a Shopify engedélyek magyarázata oldalon.
2. lépés: mit küld a Tajo Shopify-alkalmazás a Brevóba
Az alkalmazás minden Shopify webhookot ellenőriz, eltárol, sorba állít, és azonnal feldolgoz. A vásárlói és terméktémák előtte körülbelül négy másodpercet várnak. Nincs kötegelési időablak. A sikertelen feladatot az alkalmazás fokozatosan növekvő várakozással (backoff) újrapróbálja.
Webhooktémák
A Tajo Shopify-alkalmazás ezekre a Shopify-webhooktémákra iratkozik fel:
| Webhooktémák | Cél |
|---|---|
customers/create, customers/update, customers/delete | A Brevo-kapcsolatok naprakészen tartása |
orders/create, orders/updated, orders/fulfilled, orders/cancelled | Rendelési események és rendelési mérőszámok a Brevóhoz |
orders/paid, refunds/create | Hűségpontok jóváírása és levonása |
checkouts/create, checkouts/update | Elhagyott fizetési folyamatok visszaszerzése a Brevóban |
products/create, products/update, products/delete | A termékkatalógus naprakészen tartása a Brevóban |
inventory_levels/update | A termékkészlet naprakészen tartása a Brevóban |
collections/create, collections/update, collections/delete | A kollekciók naprakészen tartása |
companies/*, company_contacts/*, company_locations/* (create, update, delete) | B2B cégek szinkronizálása |
app/uninstalled, app/scopes_update, app_subscriptions/update | Az alkalmazás életciklusa |
A Shopify kötelező adatvédelmi webhookjait (vásárlói adatkérés, vásárlói adatok törlése, áruházadatok törlése) is kezeli. Az alkalmazás nem iratkozik fel a carts/* témákra. Az elhagyott kosarak a checkouts/* témákból érkeznek.
Ami a Brevóba kerül:
| Shopify-esemény | A Brevóban |
|---|---|
| Vásárló létrehozva vagy frissítve | A kontakt létrejön vagy frissül névvel, e-mail-címmel és marketinghozzájárulással. Fizetős csomagokon az alkalmazás címkéket, rendelésszámot, elköltött összeget és utolsó rendelést is hozzáad. |
| Vásárló törölve | A kontakt leiratkozik, nem törlődik |
| Rendelés létrehozva, frissítve, kifizetve, teljesítve vagy lemondva | A rendelés a Brevo rendelési API-ján keresztül, valamint az order_paid, order_completed és order_cancelled események |
| Visszatérítés létrehozva | Az order_refunded esemény. Ha a Tajón keresztül Brevo hűségprogramot futtatsz, a pontok arányosan levonódnak. |
| Rendelés kifizetve, Brevo hűségprogrammal | Pontok jóváírása a dolláronkénti pontarányod szerint |
| Pénztár létrehozva vagy frissítve, e-mail-címmel és tételekkel | A cart_updated és cart_abandoned események. A Brevo-automatizálásod dönti el, mikor küld. |
| Termék vagy kollekció létrehozva, frissítve vagy törölve | A Brevo termékkatalógusa és kategóriái |
| Készletszint frissítve | A termék készlete a Brevo katalógusában. Amikor egy változat 0-ról 0 fölé kerül, minden vásárló, aki értesítést kért, kap egy back_in_stock eseményt, újratöltésenként egyszer. |
Az alkalmazás nem ad „Notify me” gombot a témádhoz. Az „újra készleten” kérésnek a webáruházadból kell érkeznie, például egy általad hozzáadott gombról.
Meglévő adatok
Telepítéskor az alkalmazás Brevo-kontaktokként importálja a meglévő vásárlóidat. Teljes múltbeli szinkronizálást az alkalmazás szinkronizálási oldaláról indíthatsz. Fizetős csomagokon a termékeket, kollekciókat, cégeket és rendeléseket is importálja.
3. lépés: építs szinkronizálási szabályt az ügynökkel
A szinkronizálási szabály egy szinkronizálás deklaratív definíciója: egy forráserőforrás, egy Brevo-művelet, egy mezőleképezés és egy szűrő. Nem kézzel írod meg. Te leírod, egy ügynök felépíti, egy ember pedig jóváhagyja.
- A Tajóban nyisd meg az Agents oldalt, és kérd a szinkronizálást hétköznapi nyelven a Brevo Integration Architect ügynöktől. Például: „Küldd át a Brevóba kontaktként azokat a Shopify-vásárlókat, akik elfogadták az e-mail-marketinget.”
- Az ügynök megvizsgálja a Shopify-csatlakozót. A mintája mezőneveket és -típusokat ad vissza, vásárlói értékeket soha.
- Javasol egy szabályt mezőleképezéssel és szűrővel, majd a mezőleképezést a Brevo-művelethez méri, és próbafuttatást (dry run) végez a vázlaton. Egyik lépés sem olvas vásárlói rekordokat.
- A szabályt vázlatként menti. Sablonból is indulhatsz a Connections > Syncs and mappings > New sync from template alatt.
- A Request publish approval előnézetet futtat az áruházadon. Legfeljebb 10 rekordot olvas be, semmit nem ír a Brevóba, és nem mozdítja el a kurzort. Csak darabszámokat rögzít: a lekért, a jogosult, a leképezett és a szűrő által elutasított rekordokét, valamint a leképezési hibákat. Ha az előnézet sikertelen, nem jön létre jóváhagyási kérés.
- Egy ember az Approvals oldalon hagyja jóvá a kérést, írásos indoklással. A jóváhagyás a szabály SHA-256 kivonatához kötődik, és 30 perc után lejár. Ezután a szabály oldalán megjelenik a Publish approved version.
Egy közzétett szabály szerkesztése visszaállítja azt vázlattá. Mielőtt újra futna, ismét át kell mennie az előnézeten és a jóváhagyáson.
Egy valódi szabály
Ez a Shopify customers -> Brevo contacts sablon, ahogy a Tajo definiálja:
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)",A szűrő a hozzájárulás-ellenőrzés. A Tajo mindkét értéket a Shopify email_marketing_consent.state mezőjéből vagy a régebbi accepts_marketing jelzőből származtatja. Kontaktokat a Brevóba író szabály nélküle nem tehető közzé. A másik Shopify-sablon, a Shopify orders → Brevo orders, azoknak a vásárlóknak a rendeléseit rögzíti a Brevóban, akik a pénztárnál elfogadták a marketinget.
Mikor fut egy szabály
- A kontaktszinkronizálási szabályok alapértelmezés szerint 15 percenként futnak. Minden futás a szabály kurzorától indul.
- Egy aktív szabály oldalán van egy Test run (1 batch) gomb.
- Egy aktív, közzétett Shopify orders → Brevo orders szabály szintén 15 percenként fut. Az első ütemezett futása néhány perccel e pillanat előtt indul, és nem küld régebbi rendeléseket. Minden további futás az előző futás óta frissült rendeléseket küldi.
- Korábbi rendelések csak akkor kerülnek a Brevóba, ha te magad futtatod a szabályt: a Test run (1 batch) gombbal, vagy ha megkéred a Sync Operator ügynököt, hogy futtassa.
- Egy rendelésszabály csak a sablon vásárlói marketing-hozzájárulási szűrőjével fut ütemezetten. Az a szabály, amelynek a szűrőjét módosították, csak akkor fut, amikor te elindítod.
- Öt egymást követő sikertelen futás után a szabály szünetelteti magát, és az oldala megmutatja az utolsó hibát. Javítsd ki az okot, majd tedd közzé újra.
Minden futás szerepel a szabály futtatási előzményeiben a beolvasott, kiírt és sikertelen rekordok számával, valamint az időtartammal.
Mit olvas és ír a Shopify-csatlakozó
A szinkronizálási szabályok csak a célba írnak, itt a Brevóba. A Shopify-ba soha nem írnak.
A Tajo Shopify-alkalmazás 12 scope-ot kér, és néhány dolgot ír a Shopify-ba, például hozzájárulás-visszavonásokat és hűségcímkéket. A Shopify engedélyek magyarázata felsorol minden scope-ot és minden írást, azzal együtt, hogy mi váltja ki.
Az ügynökök és az MCP-gazdák a Shopify-csatlakozón keresztül érik el az áruházat:
| Olvas | Ír |
|---|---|
| Áruházadatok, vásárlók (lista és keresés), rendelések, termékek, vásárlói metamezők, készletszintek, tömeges export állapota | Vásárlói metamezők és vásárlói címkék, valamint tömeges export indítása. Minden írás javaslatként készül elő, és csak jóváhagyás után fut le. |
A csatlakozó egy készletmódosítást is deklarál. Ehhez a write_inventory scope kell, amelyet a Tajo Shopify-alkalmazás nem kér.
4. lépés: használd a Shopify-eszközöket MCP-n keresztül
A Tajo a Shopify-csatlakozót MCP-szerverként szolgálja ki a https://alto.tajo.io/mcp/connectors/shopify címen. Add hozzá a Claude Code-hoz:
claude mcp add --transport http tajo-shopify https://alto.tajo.io/mcp/connectors/shopifyA gazda felderíti a Tajo OAuth-szerverét, és megnyitja a Tajo bejelentkezést. A hozzáférés a korai hozzáférésű fiókokra korlátozódik. A szerver 12 eszközt kínál:
| Eszköz | Mit csinál |
|---|---|
preview_tajo_shopify_app | A Tajo Shopify-alkalmazás interaktív előnézete, MCP UI-ként megjelenítve |
get_shop | Az áruház adatai |
search_customers | Vásárlók keresése Shopify-lekérdezési szintaxissal, például tag:tajo-vip vagy total_spent:>100 |
list_customers | Vásárlók listázása, lapozva |
list_orders | Rendelések listázása, lapozva |
list_products | Termékek listázása változatokkal, képekkel és készlettel |
get_customer_metafields | Egy vásárló metamezőinek olvasása |
get_inventory_levels | Egy változat készletének olvasása az összes helyszínen |
poll_bulk_export | Egy tömeges export ellenőrzése, és a letöltési link lekérése, amikor elkészül |
calculate_rewards_profile | Egy vásárló szintjének, pontjainak és jutalomegyenlegének kiszámítása a szinkronizált kereskedelmi adatokból |
shopify_propose | Egy Shopify-írás előkészítése javaslatként. Semmi nem kerül elküldésre. |
shopify_apply | Egy jóváhagyott javaslat futtatása |
Hibaelhárítás
- Nem jelennek meg kontaktok a Brevóban: lásd hiányzó kontaktok a Brevóban.
- Egy szabály nem fut, vagy szüneteltette magát: lásd nem szinkronizálódnak az adatok.
Következő lépések
- Az adatszinkronizálás megértése, hogyan működnek a szinkronizálási szabályok
- Shopify engedélyek magyarázata, minden scope és minden írás
- Shopify + Brevo, az integrációs útmutató
- Lépj kapcsolatba a csapattal a beállításhoz