---
title: "Guide til Shopify-integrasjonen | Tajo"
description: "Slik kobler Tajo en Shopify-butikk til Brevo: Shopify-appens webhook-synkronisering, synkroniseringsregler som en agent bygger og en person godkjenner, og Shopify-verktøyene over MCP."
url: https://tajo.io/no/docs/ecommerce-platforms/shopify/
markdown: https://tajo.io/no/docs/ecommerce-platforms/shopify.md
lang: no-NO
author: "Set Noa"
author_url: https://tajo.io/no/set-noa/
robots: noindex
---

Be om tidlig tilgang

Skriv inn fornavn og e-postadresse på jobb. Vi sender deg en lenke for å bekrefte forespørselen om tilgang til Tajo.

# Guide til Shopify-integrasjonen

[Set Noa](https://tajo.io/no/set-noa/)

Tajo kobler Shopify til Brevo på to steder. Tajos Shopify-app gjør Shopify-webhooks om til skrivinger i Brevo etter hvert som de kommer inn. Synkroniseringsregler, som en agent bygger og en person godkjenner, flytter poster til Brevo etter en tidsplan. Denne siden dekker begge, og deretter Shopify-verktøyene Tajo tilbyr over MCP.

## Forutsetninger

Før du starter integrasjonen bør du ha på plass:

- **Shopify-butikk** på et hvilket som helst abonnement (Basic, Shopify, Advanced eller Plus)
- **Tajo-konto** (Tajo er i early access)
- **Brevo-konto**, målet for synkroniseringen
- **Administratortilgang** til Shopify-butikken din

## Steg 1: Koble til Shopify-butikken din

Tajo er i early access. Shopify-appen er ikke oppført i Shopify App Store, og det finnes ingen selvbetjent installasjonslenke. [Ta kontakt med teamet](https://tajo.io/no/contact) for å komme i gang. Når Tajo-arbeidsområdet ditt er klart:

1. Åpne **Connections** i Tajo.
2. Skriv inn butikkens myshopify.com-domene og velg **Connect Shopify**. Shopify viser scopene Tajo ber om, og sender deg tilbake til Tajo når du godkjenner dem.
3. Se hva hvert scope brukes til, og hva Tajo skriver tilbake til Shopify, i [Shopify-tillatelser forklart](https://tajo.io/no/resources/help/integrations/shopify-permissions-explained/).

## Steg 2: Hva Tajos Shopify-app sender til Brevo

Appen verifiserer hver Shopify-webhook, lagrer den, legger den i kø og behandler den med en gang. Kunde- og produktemner venter først omtrent fire sekunder. Det finnes ikke noe batchvindu. En jobb som feiler, prøves på nytt med backoff.

### Webhook-emner

Tajos Shopify-app abonnerer på disse Shopify-webhook-emnene:

| Webhook-emner | Formål |
| --- | --- |
| `customers/create`, `customers/update`, `customers/delete` | Holde Brevo-kontakter oppdatert |
| `orders/create`, `orders/updated`, `orders/fulfilled`, `orders/cancelled` | Ordrehendelser og ordremetrikker for Brevo |
| `orders/paid`, `refunds/create` | Gi og trekke lojalitetspoeng |
| `checkouts/create`, `checkouts/update` | Gjenvinning av forlatte checkouts i Brevo |
| `products/create`, `products/update`, `products/delete` | Holde produktkatalogen i Brevo oppdatert |
| `inventory_levels/update` | Holde produktbeholdningen i Brevo oppdatert |
| `collections/create`, `collections/update`, `collections/delete` | Holde kolleksjoner oppdatert |
| `companies/*`, `company_contacts/*`, `company_locations/*` (create, update, delete) | B2B-selskapssynkronisering |
| `app/uninstalled`, `app/scopes_update`, `app_subscriptions/update` | Appens livssyklus |

Shopifys obligatoriske personvernwebhooks (forespørsel om kundedata, sletting av kundedata, sletting av butikkdata) håndteres også. Appen abonnerer ikke på `carts/*`. Forlatte handlekurver kommer fra `checkouts/*`-emnene.

Dette havner i Brevo:

| Shopify-hendelse | I Brevo |
| --- | --- |
| Kunde opprettet eller oppdatert | Kontakten opprettes eller oppdateres med navn, e-post og markedsføringssamtykke. På betalte abonnementer legger appen til tagger, antall ordrer, beløp brukt og siste ordre. |
| Kunde slettet | Kontakten avmeldes, den slettes ikke |
| Ordre opprettet, oppdatert, betalt, levert eller kansellert | Ordren via Brevos ordre-API, og hendelsene `order_paid`, `order_completed` og `order_cancelled` |
| Refusjon opprettet | Hendelsen `order_refunded`. Hvis du kjører et lojalitetsprogram i Brevo gjennom Tajo, trekkes poeng forholdsmessig. |
| Ordre betalt, med et lojalitetsprogram i Brevo | Poeng gis etter satsen din for poeng per dollar |
| Checkout opprettet eller oppdatert, med e-post og varer | Hendelsene `cart_updated` og `cart_abandoned`. Automatiseringen din i Brevo bestemmer når det sendes. |
| Produkt eller kolleksjon opprettet, oppdatert eller slettet | Brevos produktkatalog og kategorier |
| Lagernivå oppdatert | Produktets lagerbeholdning i Brevos katalog. Når en variant går fra 0 til over 0, får hver kunde som ba om å bli varslet en `back_in_stock`-hendelse, én gang per påfylling. |

Appen legger ikke til en «Varsle meg»-knapp i temaet ditt. En forespørsel om varsel når varen er tilbake på lager må komme fra nettbutikken din, for eksempel fra en knapp du legger til.

### Eksisterende data

Ved installasjon importerer appen de eksisterende kundene dine som Brevo-kontakter. En full historisk synkronisering startes fra appens synkroniseringsside. På betalte abonnementer importerer den også produkter, kolleksjoner, selskaper og ordrer.

## Steg 3: Bygg en synkroniseringsregel med agenten

En synkroniseringsregel er en deklarativ definisjon av én synkronisering: en kilderessurs, en Brevo-handling, en feltkobling og et filter. Du skriver den ikke for hånd. Du beskriver den, en agent bygger den, og en person godkjenner den.

1. Åpne **Agents** i Tajo og be **Brevo Integration Architect** om synkroniseringen med vanlige ord. For eksempel: «Send Shopify-kunder som har godtatt e-postmarkedsføring, til Brevo som kontakter.»
2. Agenten undersøker Shopify-koblingen. Utvalget den henter, gir feltnavn og typer, aldri kundeverdier.
3. Den foreslår en regel med feltkobling og filter, validerer deretter feltkoblingen mot Brevo-handlingen og tørrkjører utkastet. Ingen av stegene leser kundeposter.
4. Den lagrer regelen som utkast. Du kan også starte fra en mal under **Connections > Syncs and mappings > New sync from template**.
5. **Request publish approval** kjører en forhåndsvisning mot butikken din. Den leser maksimalt 10 poster, skriver ingenting til Brevo og flytter ikke markøren. Den registrerer bare antall: poster hentet, kvalifisert, koblet og avvist av filteret, pluss koblingsfeil. Hvis forhåndsvisningen feiler, opprettes ingen godkjenning.
6. En person godkjenner forespørselen på siden **Approvals**, med en skriftlig begrunnelse. Godkjenningen er knyttet til en SHA-256-digest av regelen og utløper etter 30 minutter. Regelsiden viser deretter **Publish approved version**.

Hvis du redigerer en publisert regel, går den tilbake til utkast. Den må gjennom forhåndsvisning og godkjenning igjen før den kjører på nytt.

### En ekte regel

Dette er malen **Shopify customers -> Brevo contacts** slik Tajo definerer den:

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

Filteret er samtykkekontrollen. Tajo utleder begge verdiene fra Shopifys `email_marketing_consent.state`, eller det eldre flagget `accepts_marketing`. En regel som skriver kontakter til Brevo, kan ikke publiseres uten det. Den andre Shopify-malen, **Shopify orders → Brevo orders**, registrerer ordrer i Brevo for kjøpere som godtok markedsføring i kassen.

### Når en regel kjører

- Regler for kontaktsynkronisering kjører hvert 15. minutt som standard. Hver kjøring starter fra regelens markør.
- Siden til en aktiv regel har knappen **Test run (1 batch)**.
- En aktiv, publisert regel **Shopify orders → Brevo orders** kjører også hvert 15. minutt. Den første planlagte kjøringen starter noen minutter før det øyeblikket og sender ingen eldre ordrer. Hver senere kjøring sender ordrene som er oppdatert siden forrige kjøring.
- Tidligere ordrer kommer til Brevo bare når du kjører regelen selv: med **Test run (1 batch)**, eller ved å be agenten **Sync Operator** om å kjøre den.
- En ordreregel kjører etter tidsplan bare med malens opt-in-filter for markedsføring til kjøperen. En regel med redigert filter kjører bare når du starter den selv.
- Etter fem kjøringer på rad som feiler, pauser regelen seg selv, og siden viser den siste feilen. Rett årsaken, og publiser deretter på nytt.

Hver kjøring står i regelens kjørehistorikk med poster lest, skrevet og feilet, og varigheten.

## Hva Shopify-koblingen leser og skriver

Synkroniseringsregler skriver bare til målet, her Brevo. De skriver aldri til Shopify.

Tajos Shopify-app ber om 12 scopes og gjør en kort liste med skrivinger til Shopify, som avmeldinger fra samtykke og lojalitetstagger. [Shopify-tillatelser forklart](https://tajo.io/no/resources/help/integrations/shopify-permissions-explained/) viser hvert scope og hver skriving, med hva som utløser den.

Agenter og MCP-verter når butikken gjennom Shopify-koblingen:

| Leser | Skriver |
| --- | --- |
| Butikkdetaljer, kunder (liste og søk), ordrer, produkter, kundemetafelt, lagernivåer, status for masseeksport | Kundemetafelt og kundetagger, og start av en masseeksport. Hver skriving legges klar som et forslag og kjøres først etter at den er godkjent. |

Koblingen deklarerer også en lagerjustering. Den krever scopet `write_inventory`, som Tajos Shopify-app ikke ber om.

## Steg 4: Bruk Shopify-verktøyene over MCP

Tajo tilbyr Shopify-koblingen som en MCP-server på `https://alto.tajo.io/mcp/connectors/shopify`. Legg den til i Claude Code:

```bash
claude mcp add --transport http tajo-shopify https://alto.tajo.io/mcp/connectors/shopify
```

Verten finner Tajos OAuth-server og åpner Tajo-innloggingen. Tilgangen er begrenset til early access-kontoer. Serveren eksponerer 12 verktøy:

| Verktøy | Hva det gjør |
| --- | --- |
| `preview_tajo_shopify_app` | Interaktiv forhåndsvisning av Tajos Shopify-app, gjengitt som MCP UI |
| `get_shop` | Butikkens detaljer |
| `search_customers` | Søk i kunder med Shopifys spørresyntaks, som `tag:tajo-vip` eller `total_spent:>100` |
| `list_customers` | List kunder, sidevis |
| `list_orders` | List ordrer, sidevis |
| `list_products` | List produkter med varianter, bilder og lagerbeholdning |
| `get_customer_metafields` | Les en kundes metafelt |
| `get_inventory_levels` | Les en variants lagerbeholdning på tvers av lokasjoner |
| `poll_bulk_export` | Sjekk en masseeksport og få nedlastingslenken når den er ferdig |
| `calculate_rewards_profile` | Beregn en kundes nivå, poeng og belønningssaldo fra synkroniserte handelsdata |
| `shopify_propose` | Legg klar én Shopify-skriving som et forslag. Ingenting sendes. |
| `shopify_apply` | Kjør et godkjent forslag |

## Feilsøking

- Kontakter som ikke dukker opp i Brevo: se [kontakter mangler i Brevo](https://tajo.io/no/resources/help/troubleshooting/contacts-missing-in-brevo/).
- En regel som ikke kjører, eller som har pauset seg selv: se [data synkroniseres ikke](https://tajo.io/no/resources/help/troubleshooting/data-not-syncing/).

## Neste steg

- [Forstå datasynkronisering](https://tajo.io/no/resources/help/getting-started/understanding-data-sync/), hvordan synkroniseringsregler oppfører seg
- [Shopify-tillatelser forklart](https://tajo.io/no/resources/help/integrations/shopify-permissions-explained/), hvert scope og hver skriving
- [Shopify + Brevo](https://tajo.io/no/docs/integrations/shopify-brevo), integrasjonsguiden
- [Ta kontakt med teamet](https://tajo.io/no/contact) for å komme i gang
