Ansök om tidig åtkomst

Ange ditt förnamn och din e-postadress på jobbet. Vi skickar en länk för att bekräfta din begäran om åtkomst till Tajo.

Integrationsguide för Shopify

Tajo kopplar ihop Shopify med Brevo på två ställen. Tajos Shopify-app gör om Shopify-webhooks till skrivningar i Brevo när de kommer in. Synkregler, som en agent bygger och en människa godkänner, flyttar poster in i Brevo enligt ett schema. Den här sidan går igenom båda, och sedan Shopify-verktygen som Tajo tillhandahåller via MCP.

Förutsättningar

Innan du sätter igång med integrationen behöver du:

  • En Shopify-butik på valfri plan (Basic, Shopify, Advanced eller Plus)
  • Ett Tajo-konto (Tajo är i early access)
  • Ett Brevo-konto, mottagaren för synken
  • Adminåtkomst till din Shopify-butik

Steg 1: Anslut din Shopify-butik

Tajo är i early access. Shopify-appen finns inte i Shopify App Store och det finns ingen självbetjäningslänk för installation. Kontakta teamet för att komma igång. När din Tajo-arbetsyta är klar:

  1. Öppna Connections i Tajo.
  2. Ange din butiks myshopify.com-domän och välj Connect Shopify. Shopify visar de scope som Tajo begär och skickar tillbaka dig till Tajo när du godkänner dem.
  3. Läs vad varje scope används till, och vad Tajo skriver tillbaka till Shopify, i Shopify permissions explained.

Steg 2: Vad Tajos Shopify-app skickar till Brevo

Appen verifierar varje Shopify-webhook, sparar den, köar den och bearbetar den direkt. Kund- och produktämnen väntar först omkring fyra sekunder. Det finns inget batchfönster. Ett misslyckat jobb görs om med backoff.

Webhookämnen

Tajos Shopify-app prenumererar på de här Shopify-webhookämnena:

WebhookämnenSyfte
customers/create, customers/update, customers/deleteHålla Brevo-kontakter aktuella
orders/create, orders/updated, orders/fulfilled, orders/cancelledOrderhändelser och ordermetrik för Brevo
orders/paid, refunds/createGe och dra av lojalitetspoäng
checkouts/create, checkouts/updateÅtertagning av övergivna checkouter i Brevo
products/create, products/update, products/deleteHålla produktkatalogen i Brevo aktuell
inventory_levels/updateHålla produkternas lagersaldo i Brevo aktuellt
collections/create, collections/update, collections/deleteHålla kollektioner aktuella
companies/*, company_contacts/*, company_locations/* (create, update, delete)B2B-företagssynkronisering
app/uninstalled, app/scopes_update, app_subscriptions/updateAppens livscykel

Shopifys obligatoriska integritetswebhooks (begäran om kunddata, radering av kunddata, radering av butiksdata) hanteras också. Appen prenumererar inte på carts/*. Övergivna varukorgar kommer från checkouts/*-ämnena.

Det här hamnar i Brevo:

Shopify-händelseI Brevo
Kund skapad eller uppdateradKontakten skapas eller uppdateras med namn, e-post och marknadsföringssamtycke. På betalplaner lägger appen till taggar, antal ordrar, köpsumma och senaste order.
Kund raderadKontakten avprenumereras, den raderas inte
Order skapad, uppdaterad, betald, levererad eller annulleradOrdern via Brevos order-API, och händelserna order_paid, order_completed och order_cancelled
Återbetalning skapadHändelsen order_refunded. Om du driver ett lojalitetsprogram i Brevo via Tajo dras poäng av i proportion.
Order betald, med ett lojalitetsprogram i BrevoPoäng ges enligt din takt för poäng per dollar
Checkout skapad eller uppdaterad, med e-post och varorHändelserna cart_updated och cart_abandoned. Din automatisering i Brevo bestämmer när utskicket sker.
Produkt eller kollektion skapad, uppdaterad eller raderadBrevos produktkatalog och kategorier
Lagernivå uppdateradProduktens lagersaldo i Brevos katalog. När en variant går från 0 till mer än 0 får varje kund som har bett om att bli meddelad en back_in_stock-händelse, en gång per påfyllning.

Appen lägger inte till någon “Notify me”-knapp i ditt tema. En begäran om att bli meddelad när varan finns i lager igen måste komma från din butiksfront, till exempel från en knapp som du lägger till.

Befintlig data

Vid installationen importerar appen dina befintliga kunder som Brevo-kontakter. En fullständig historisk synk startas från appens synksida. På betalplaner importerar den också produkter, kollektioner, företag och ordrar.

Steg 3: Bygg en synkregel med agenten

En synkregel är en deklarativ definition av en synk: en källresurs, en Brevo-åtgärd, en fältmappning och ett filter. Du skriver den inte för hand. Du beskriver den, en agent bygger den och en människa godkänner den.

  1. Öppna Agents i Tajo och be Brevo Integration Architect om synken med vanliga ord. Till exempel: “Skicka Shopify-kunder som har godkänt e-postmarknadsföring till Brevo som kontakter.”
  2. Agenten inspekterar Shopify-connectorn. Dess urval returnerar fältnamn och typer, aldrig kundernas värden.
  3. Den föreslår en regel med en fältmappning och ett filter, validerar sedan fältmappningen mot Brevo-åtgärden och testkör utkastet. Inget av stegen läser kundposter.
  4. Den sparar regeln som ett utkast. Du kan också utgå från en mall under Connections > Syncs and mappings > New sync from template.
  5. Request publish approval kör en förhandsgranskning mot din butik. Den läser högst 10 poster, skriver ingenting till Brevo och flyttar inte cursorn. Den registrerar bara antal: hämtade poster, behöriga, mappade och avvisade av filtret, plus mappningsfel. Om förhandsgranskningen misslyckas skapas ingen begäran om godkännande.
  6. En människa godkänner begäran på sidan Approvals, med en skriftlig motivering. Godkännandet är bundet till en SHA-256-digest av regeln och går ut efter 30 minuter. Regelns sida visar sedan Publish approved version.

Om du redigerar en publicerad regel går den tillbaka till utkast. Den går igenom förhandsgranskning och godkännande igen innan den körs på nytt.

En verklig regel

Så här definierar Tajo mallen Shopify customers -> Brevo contacts:

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)",

Filtret är samtyckeskontrollen. Tajo härleder båda värdena från Shopifys email_marketing_consent.state, eller den äldre flaggan accepts_marketing. En regel som skriver kontakter till Brevo kan inte publiceras utan det. Den andra Shopify-mallen, Shopify orders → Brevo orders, registrerar ordrar i Brevo för köpare som godkände marknadsföring i kassan.

När en regel körs

  • Synkregler för kontakter körs som standard var 15:e minut. Varje körning börjar från regelns cursor.
  • Sidan för en aktiv regel har knappen Test run (1 batch).
  • En aktiv, publicerad regel av typen Shopify orders → Brevo orders körs också var 15:e minut. Den första schemalagda körningen börjar några minuter före det ögonblicket och skickar inga äldre ordrar. Varje senare körning skickar ordrarna som uppdaterats sedan den förra.
  • Tidigare ordrar når Brevo bara när du själv kör regeln: med Test run (1 batch) eller genom att be agenten Sync Operator köra den.
  • En orderregel körs enligt schema bara med mallens filter för köparens marknadsföringssamtycke. En regel vars filter har redigerats körs bara när du startar den.
  • Efter fem misslyckade körningar i rad pausar regeln sig själv, och dess sida visar det senaste felet. Åtgärda orsaken och publicera sedan igen.

Varje körning listas i regelns körhistorik med antal lästa, skrivna och misslyckade poster, och dess tidsåtgång.

Vad Shopify-connectorn läser och skriver

Synkregler skriver bara till mottagaren, här Brevo. De skriver aldrig till Shopify.

Tajos Shopify-app begär 12 scope och gör en kort lista med skrivningar till Shopify, till exempel avregistreringar av samtycke och lojalitetstaggar. Shopify permissions explained listar varje scope och varje skrivning, med vad som utlöser den.

Agenter och MCP-värdar når butiken via Shopify-connectorn:

LäserSkriver
Butiksuppgifter, kunder (lista och sök), ordrar, produkter, kundmetafält, lagernivåer, status för massexportKundmetafält och kundtaggar, samt start av en massexport. Varje skrivning läggs upp som ett förslag och körs först när den har godkänts.

Connectorn deklarerar också en lagerjustering. Den kräver scopet write_inventory, som Tajos Shopify-app inte begär.

Steg 4: Använd Shopify-verktygen via MCP

Tajo tillhandahåller Shopify-connectorn som en MCP-server på https://alto.tajo.io/mcp/connectors/shopify. Lägg till den i Claude Code:

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

Värden hittar Tajos OAuth-server och öppnar Tajos inloggning. Åtkomsten är begränsad till konton med early access. Servern exponerar 12 verktyg:

VerktygVad det gör
preview_tajo_shopify_appInteraktiv förhandsvisning av Tajos Shopify-app, renderad som MCP UI
get_shopButikens uppgifter
search_customersSök kunder med Shopifys frågesyntax, till exempel tag:tajo-vip eller total_spent:>100
list_customersLista kunder, paginerat
list_ordersLista ordrar, paginerat
list_productsLista produkter med varianter, bilder och lager
get_customer_metafieldsLäs en kunds metafält
get_inventory_levelsLäs en variants lager på alla platser
poll_bulk_exportKontrollera en massexport och få dess nedladdningslänk när den är klar
calculate_rewards_profileBeräkna en kunds nivå, poäng och belöningssaldo utifrån synkad handelsdata
shopify_proposeLägg upp en skrivning till Shopify som ett förslag. Ingenting skickas.
shopify_applyKör ett godkänt förslag

Felsökning

Nästa steg

Ansök om tidig åtkomst

Ange ditt förnamn och din e-postadress på jobbet. Vi skickar en länk för att bekräfta din begäran om åtkomst till Tajo.

AI-assistent

Hej! Fråga mig om dokumentationen.

Den här sidan som Markdown: shopify.md

Läser in Markdown …
Öppna i Claude Öppna i ChatGPT