Vodnik po integraciji s Shopifyjem
Tajo poveže Shopify z Brevom na dveh mestih. Aplikacija Tajo za Shopify spremeni webhooke Shopify v zapise v Brevo takoj, ko prispejo. Pravila sinhronizacije, ki jih sestavi agent in odobri človek, po urniku prenašajo zapise v Brevo. Ta stran opisuje oboje, nato pa še orodja Shopify, ki jih Tajo ponuja prek MCP.
Predpogoji
Pred začetkom integracije poskrbite, da imate:
- Trgovino Shopify na katerem koli paketu (Basic, Shopify, Advanced ali Plus)
- Račun Tajo (Tajo je v zgodnjem dostopu)
- Račun Brevo, cilj sinhronizacije
- Skrbniški dostop do vaše trgovine Shopify
1. korak: povežite svojo trgovino Shopify
Tajo je v zgodnjem dostopu. Aplikacija za Shopify ni navedena v trgovini Shopify App Store in samostojne povezave za namestitev ni. Obrnite se na ekipo, da vam pomaga z nastavitvijo. Ko je vaš delovni prostor Tajo pripravljen:
- V Tajo odprite Connections.
- Vnesite domeno myshopify.com svoje trgovine in izberite Connect Shopify. Shopify prikaže obsege dovoljenj, ki jih Tajo zahteva, in vas po odobritvi vrne v Tajo.
- Čemu je namenjen vsak obseg in kaj Tajo zapisuje nazaj v Shopify, preverite v razlagi dovoljenj za Shopify.
2. korak: kaj aplikacija Tajo za Shopify pošilja v Brevo
Aplikacija preveri vsak webhook Shopify, ga shrani, uvrsti v čakalno vrsto in takoj obdela. Teme strank in izdelkov najprej počakajo približno štiri sekunde. Paketnega okna ni. Neuspelo opravilo se ponovi s postopno daljšim zamikom (backoff).
Teme webhookov
Aplikacija Tajo za Shopify je naročena na te teme webhookov Shopify:
| Teme webhookov | Namen |
|---|---|
customers/create, customers/update, customers/delete | Ohranjanje aktualnih stikov v Brevo |
orders/create, orders/updated, orders/fulfilled, orders/cancelled | Dogodki naročil in metrike naročil za Brevo |
orders/paid, refunds/create | Dodeljevanje in odštevanje točk zvestobe |
checkouts/create, checkouts/update | Obnova opuščenih blagajn (checkouts) v Brevo |
products/create, products/update, products/delete | Ohranjanje aktualnega kataloga izdelkov v Brevo |
inventory_levels/update | Ohranjanje aktualnih zalog izdelkov v Brevo |
collections/create, collections/update, collections/delete | Ohranjanje aktualnih zbirk |
companies/*, company_contacts/*, company_locations/* (create, update, delete) | Sinhronizacija B2B podjetij |
app/uninstalled, app/scopes_update, app_subscriptions/update | Življenjski cikel aplikacije |
Obvezni zasebnostni webhooki platforme Shopify (zahteva za podatke stranke, izbris stranke, izbris trgovine) so prav tako obdelani. Aplikacija ni naročena na carts/*. Opuščene košarice izvirajo iz tem checkouts/*.
Kaj pride v Brevo:
| Dogodek v Shopifyju | V Brevo |
|---|---|
| Stranka ustvarjena ali posodobljena | Stik se ustvari ali posodobi z imenom, e-poštnim naslovom in soglasjem za trženje. Na plačljivih paketih aplikacija doda oznake, število naročil, porabljeni znesek in zadnje naročilo. |
| Stranka izbrisana | Stik se odjavi, ne izbriše |
| Naročilo ustvarjeno, posodobljeno, plačano, izpolnjeno ali preklicano | Naročilo prek API-ja za naročila platforme Brevo ter dogodki order_paid, order_completed in order_cancelled |
| Vračilo ustvarjeno | Dogodek order_refunded. Če prek Taja vodite program zvestobe Brevo, se točke sorazmerno odštejejo. |
| Naročilo plačano, s programom zvestobe Brevo | Točke dodeljene po vaši stopnji točk na dolar |
| Blagajna ustvarjena ali posodobljena, z e-poštnim naslovom in artikli | Dogodka cart_updated in cart_abandoned. Kdaj se sporočilo pošlje, odloča vaša avtomatizacija v Brevo. |
| Izdelek ali zbirka ustvarjena, posodobljena ali izbrisana | Katalog izdelkov in kategorije v Brevo |
| Raven zaloge posodobljena | Zaloga izdelka v katalogu Brevo. Ko varianta preide z 0 na več kot 0, vsak kupec, ki je zahteval obvestilo, prejme dogodek back_in_stock, enkrat ob vsaki ponovni zalogi. |
Aplikacija v vašo temo ne doda gumba „Obvesti me“. Zahteva za obvestilo o ponovni zalogi mora priti iz vaše spletne trgovine, na primer iz gumba, ki ga dodate.
Obstoječi podatki
Ob namestitvi aplikacija uvozi vaše obstoječe stranke kot stike Brevo. Celotno sinhronizacijo zgodovinskih podatkov zaženete s strani za sinhronizacijo v aplikaciji. Na plačljivih paketih uvozi tudi izdelke, zbirke, podjetja in naročila.
3. korak: sestavite pravilo sinhronizacije z agentom
Pravilo sinhronizacije je deklarativna definicija ene sinhronizacije: izvorni vir, dejanje v Brevo, preslikava polj in filter. Ne pišete ga ročno. Opišete ga, agent ga sestavi, človek pa ga odobri.
- V Tajo odprite Agents in Brevo Integration Architect v navadnem jeziku prosite za sinhronizacijo. Na primer: „Pošiljaj stranke Shopify, ki so sprejele trženje po e-pošti, v Brevo kot stike.“
- Agent pregleda konektor Shopify. Njegov vzorec vrne imena in vrste polj, nikoli vrednosti strank.
- Predlaga pravilo s preslikavo polj in filtrom, nato preslikavo polj preveri glede na dejanje Brevo in osnutek poskusno zažene (dry run). Noben od teh korakov ne bere zapisov strank.
- Pravilo shrani kot osnutek. Začnete lahko tudi s predlogo v Connections > Syncs and mappings > New sync from template.
- Request publish approval zažene predogled nad vašo trgovino. Prebere največ 10 zapisov, v Brevo ne zapiše ničesar in ne premakne kazalca. Beleži le števila: prebrane zapise, ustrezne, preslikane in zapise, ki jih je filter zavrnil, ter napake preslikave. Če predogled ne uspe, odobritev ni ustvarjena.
- Človek zahtevo odobri na strani Approvals s pisno utemeljitvijo. Odobritev je vezana na izvleček SHA-256 pravila in poteče po 30 minutah. Stran pravila nato prikaže Publish approved version.
Urejanje objavljenega pravila ga vrne v osnutek. Pred naslednjim izvajanjem znova gre skozi predogled in odobritev.
Resnično pravilo
To je predloga Shopify customers -> Brevo contacts, kot jo definira 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)",Filter je preverjanje soglasja. Tajo obe vrednosti izpelje iz polja email_marketing_consent.state v Shopifyju ali iz starejše zastavice accepts_marketing. Pravila, ki zapisuje stike v Brevo, brez njega ni mogoče objaviti. Druga predloga Shopify, Shopify orders → Brevo orders, v Brevo beleži naročila kupcev, ki so ob nakupu sprejeli trženje.
Kdaj se pravilo izvaja
- Pravila sinhronizacije stikov se privzeto izvajajo vsakih 15 minut. Vsako izvajanje se začne pri kazalcu pravila.
- Stran aktivnega pravila ima gumb Test run (1 batch).
- Aktivno objavljeno pravilo Shopify orders → Brevo orders se prav tako izvaja vsakih 15 minut. Prvo načrtovano izvajanje se začne nekaj minut pred tem trenutkom in ne pošlje starejših naročil. Vsako naslednje izvajanje pošlje naročila, posodobljena od prejšnjega.
- Pretekla naročila pridejo v Brevo le, ko pravilo zaženete sami: z gumbom Test run (1 batch) ali tako, da za to prosite agenta Sync Operator.
- Pravilo za naročila se po urniku izvaja le s filtrom privolitve kupca v trženje iz predloge. Pravilo z urejenim filtrom se izvede le, ko ga zaženete sami.
- Po petih zaporednih neuspelih izvajanjih se pravilo samo zaustavi, njegova stran pa prikaže zadnjo napako. Odpravite vzrok in ga nato znova objavite.
Vsako izvajanje je navedeno v zgodovini izvajanj pravila s prebranimi, zapisanimi in neuspelimi zapisi ter s trajanjem.
Kaj konektor Shopify bere in zapisuje
Pravila sinhronizacije zapisujejo le v cilj, tukaj v Brevo. V Shopify nikoli ne zapisujejo.
Aplikacija Tajo za Shopify zahteva 12 obsegov dovoljenj in v Shopify izvede kratek seznam zapisov, na primer odjave soglasja in oznake zvestobe. Razlaga dovoljenj za Shopify navaja vsak obseg in vsak zapis ter kaj ga sproži.
Agenti in gostitelji MCP do trgovine dostopajo prek konektorja Shopify:
| Branje | Zapisovanje |
|---|---|
| Podatki trgovine, stranke (seznam in iskanje), naročila, izdelki, metapolja strank, ravni zalog, stanje množičnega izvoza | Metapolja in oznake strank ter zagon množičnega izvoza. Vsak zapis se pripravi kot predlog in se izvede šele po odobritvi. |
Konektor deklarira tudi prilagoditev zaloge. Ta zahteva obseg write_inventory, ki ga aplikacija Tajo za Shopify ne zahteva.
4. korak: uporabljajte orodja Shopify prek MCP
Tajo ponuja konektor Shopify kot strežnik MCP na naslovu https://alto.tajo.io/mcp/connectors/shopify. Dodajte ga v Claude Code:
claude mcp add --transport http tajo-shopify https://alto.tajo.io/mcp/connectors/shopifyGostitelj odkrije strežnik OAuth platforme Tajo in odpre prijavo v Tajo. Dostop imajo le računi v zgodnjem dostopu. Strežnik ponuja 12 orodij:
| Orodje | Kaj naredi |
|---|---|
preview_tajo_shopify_app | Interaktivni predogled aplikacije Tajo za Shopify, izrisan kot MCP UI |
get_shop | Podatki trgovine |
search_customers | Iskanje strank s sintakso poizvedb Shopify, na primer tag:tajo-vip ali total_spent:>100 |
list_customers | Seznam strank po straneh |
list_orders | Seznam naročil po straneh |
list_products | Seznam izdelkov z variantami, slikami in zalogo |
get_customer_metafields | Branje metapolj stranke |
get_inventory_levels | Branje zaloge variante po lokacijah |
poll_bulk_export | Preverjanje množičnega izvoza in pridobitev povezave za prenos, ko se konča |
calculate_rewards_profile | Izračun ravni, točk in stanja nagrad stranke iz sinhroniziranih podatkov o nakupih |
shopify_propose | Pripravi en zapis v Shopify kot predlog. Nič se ne pošlje. |
shopify_apply | Izvede odobren predlog |
Odpravljanje težav
- Stiki se ne prikažejo v Brevo: glejte manjkajoči stiki v Brevo.
- Pravilo, ki se ne izvaja ali se je samo zaustavilo: glejte podatki se ne sinhronizirajo.
Naslednji koraki
- Razumevanje sinhronizacije podatkov, kako se obnašajo pravila sinhronizacije
- Razlaga dovoljenj za Shopify, vsak obseg in vsak zapis
- Shopify + Brevo, vodnik po integraciji
- Obrnite se na ekipo, da vam pomaga z nastavitvijo