---
title: "Vodič za Shopify integraciju | Tajo"
description: "Kako Tajo povezuje Shopify trgovinu s Brevom: sinkronizacija putem webhookova Shopify aplikacije, pravila sinkronizacije koja izgradi agent, a odobri osoba, te Shopify MCP alati."
url: https://tajo.io/hr/docs/ecommerce-platforms/shopify/
markdown: https://tajo.io/hr/docs/ecommerce-platforms/shopify.md
lang: hr-HR
author: "Set Noa"
author_url: https://tajo.io/hr/set-noa/
robots: noindex
---

Zatražite rani pristup

Unesite ime i poslovnu adresu e-pošte. Poslat ćemo vam poveznicu za potvrdu zahtjeva za pristup Taju.

# Vodič za Shopify integraciju

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

Tajo povezuje Shopify s Brevom na dva mjesta. Tajo Shopify aplikacija pretvara Shopify webhookove u zapise u Brevu čim stignu. Pravila sinkronizacije, koja izgradi agent, a odobri osoba, po rasporedu prenose zapise u Brevo. Ova stranica opisuje oboje, a zatim i Shopify alate koje Tajo poslužuje putem MCP-a.

## Preduvjeti

Prije početka integracije provjerite imate li:

- **Shopify trgovinu** na bilo kojem planu (Basic, Shopify, Advanced ili Plus)
- **Tajo račun** (Tajo je u ranom pristupu)
- **Brevo račun**, odredište sinkronizacije
- **Administratorski pristup** svojoj Shopify trgovini

## Korak 1: Povežite svoju Shopify trgovinu

Tajo je u ranom pristupu. Shopify aplikacija nije navedena u trgovini Shopify App Store i ne postoji samoposlužna poveznica za instalaciju. [Obratite se timu](https://tajo.io/hr/contact) da vam pomogne s postavljanjem. Kad je vaš Tajo radni prostor spreman:

1. U Taju otvorite **Connections**.
2. Unesite myshopify.com domenu svoje trgovine i odaberite **Connect Shopify**. Shopify prikazuje opsege dopuštenja koje Tajo traži i nakon vašeg odobrenja vas vraća u Tajo.
3. Za što služi svaki opseg i što Tajo zapisuje natrag u Shopify, provjerite u [objašnjenju Shopify dopuštenja](https://tajo.io/hr/resources/help/integrations/shopify-permissions-explained/).

## Korak 2: Što Tajo Shopify aplikacija šalje u Brevo

Aplikacija provjerava svaki Shopify webhook, sprema ga, stavlja u red i odmah obrađuje. Teme kupaca i proizvoda prije toga čekaju oko četiri sekunde. Nema serijskog prozora. Neuspjeli zadatak ponavlja se s postupnom odgodom (backoff).

### Teme webhookova

Tajo Shopify aplikacija pretplaćena je na ove teme Shopify webhookova:

| Teme webhookova | Svrha |
| --- | --- |
| `customers/create`, `customers/update`, `customers/delete` | Održavanje ažurnih kontakata u Brevu |
| `orders/create`, `orders/updated`, `orders/fulfilled`, `orders/cancelled` | Događaji narudžbi i metrike narudžbi za Brevo |
| `orders/paid`, `refunds/create` | Dodjela i oduzimanje bodova vjernosti |
| `checkouts/create`, `checkouts/update` | Oporavak napuštenih naplata (checkouts) u Brevu |
| `products/create`, `products/update`, `products/delete` | Održavanje ažurnog kataloga proizvoda u Brevu |
| `inventory_levels/update` | Održavanje ažurnih zaliha proizvoda u Brevu |
| `collections/create`, `collections/update`, `collections/delete` | Održavanje ažurnih kolekcija |
| `companies/*`, `company_contacts/*`, `company_locations/*` (create, update, delete) | Sinkronizacija B2B tvrtki |
| `app/uninstalled`, `app/scopes_update`, `app_subscriptions/update` | Životni ciklus aplikacije |

Obavezni Shopify webhookovi za privatnost (zahtjev za podatke kupca, brisanje kupca, brisanje trgovine) također su obrađeni. Aplikacija nije pretplaćena na `carts/*`. Napuštene košarice dolaze iz tema `checkouts/*`.

Što stiže u Brevo:

| Shopify događaj | U Brevu |
| --- | --- |
| Kupac stvoren ili ažuriran | Kontakt se stvara ili ažurira s imenom, e-poštom i marketinškom privolom. Na plaćenim planovima aplikacija dodaje oznake, broj narudžbi, potrošeni iznos i posljednju narudžbu. |
| Kupac obrisan | Kontakt se odjavljuje, a ne briše |
| Narudžba stvorena, ažurirana, plaćena, ispunjena ili otkazana | Narudžba putem Brevo API-ja za narudžbe te događaji `order_paid`, `order_completed` i `order_cancelled` |
| Povrat novca stvoren | Događaj `order_refunded`. Ako putem platforme Tajo vodite Brevo program vjernosti, bodovi se oduzimaju razmjerno. |
| Narudžba plaćena, uz Brevo program vjernosti | Bodovi dodijeljeni prema vašoj stopi bodova po dolaru |
| Naplata stvorena ili ažurirana, s e-poštom i stavkama | Događaji `cart_updated` i `cart_abandoned`. Vaša Brevo automatizacija odlučuje kada slati. |
| Proizvod ili kolekcija stvoreni, ažurirani ili obrisani | Katalog proizvoda i kategorije u Brevu |
| Razina zaliha ažurirana | Zaliha proizvoda u katalogu u Brevu. Kada varijanta prijeđe s 0 na više od 0, svaki kupac koji je zatražio obavijest dobiva događaj `back_in_stock`, jednom po popunjavanju zaliha. |

Aplikacija ne dodaje gumb „Notify me“ u vašu temu. Zahtjev za obavijest o povratku na zalihu mora doći iz vaše trgovine, primjerice s gumba koji sami dodate.

### Postojeći podaci

Pri instalaciji aplikacija uvozi vaše postojeće kupce kao Brevo kontakte. Potpuna povijesna sinkronizacija pokreće se sa stranice za sinkronizaciju u aplikaciji. Na plaćenim planovima uvozi i proizvode, kolekcije, tvrtke i narudžbe.

## Korak 3: Izgradite pravilo sinkronizacije s agentom

Pravilo sinkronizacije deklarativna je definicija jedne sinkronizacije: izvorni resurs, Brevo radnja, mapiranje polja i filtar. Ne pišete ga ručno. Vi ga opišete, agent ga izgradi, a osoba ga odobri.

1. U Taju otvorite **Agents** i običnim jezikom zatražite sinkronizaciju od agenta **Brevo Integration Architect**. Na primjer: „Pošalji Shopify kupce koji su prihvatili marketing e-poštom u Brevo kao kontakte.“
2. Agent pregledava Shopify konektor. Njegov uzorak vraća nazive i tipove polja, nikada vrijednosti kupaca.
3. Predlaže pravilo s mapiranjem polja i filtrom, zatim provjerava mapiranje polja prema Brevo radnji i probno izvodi nacrt (dry run). Nijedan od tih koraka ne čita zapise kupaca.
4. Pravilo sprema kao nacrt. Možete krenuti i od predloška u odjeljku **Connections > Syncs and mappings > New sync from template**.
5. **Request publish approval** pokreće pretpregled nad vašom trgovinom. Čita najviše 10 zapisa, ništa ne zapisuje u Brevo i ne pomiče kursor. Bilježi samo brojeve: preuzete zapise, prihvatljive, mapirane i one koje je filtar odbio, te pogreške mapiranja. Ako pretpregled ne uspije, odobrenje se ne stvara.
6. Osoba odobrava zahtjev na stranici **Approvals**, uz pisano obrazloženje. Odobrenje je vezano uz SHA-256 sažetak pravila i istječe nakon 30 minuta. Stranica pravila tada prikazuje **Publish approved version**.

Uređivanje objavljenog pravila vraća ga u nacrt. Prije ponovnog izvođenja ponovno prolazi pretpregled i odobrenje.

### Stvarno pravilo

Ovo je predložak **Shopify customers -> Brevo contacts** kako ga Tajo definira:

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

Filtar je provjera privole. Tajo obje vrijednosti izvodi iz Shopify polja `email_marketing_consent.state` ili starije oznake `accepts_marketing`. Pravilo koje zapisuje kontakte u Brevo ne može se objaviti bez njega. Drugi Shopify predložak, **Shopify orders → Brevo orders**, bilježi narudžbe u Brevu za kupce koji su pri plaćanju prihvatili marketing.

### Kada se pravilo izvodi

- Pravila sinkronizacije kontakata zadano se izvode svakih 15 minuta. Svako izvođenje kreće od kursora pravila.
- Stranica aktivnog pravila ima gumb **Test run (1 batch)**.
- Aktivno, objavljeno pravilo **Shopify orders → Brevo orders** također se izvodi svakih 15 minuta. Njegovo prvo zakazano izvođenje kreće nekoliko minuta prije tog trenutka i ne šalje starije narudžbe. Svako sljedeće izvođenje šalje narudžbe ažurirane od prethodnog.
- Starije narudžbe stižu u Brevo samo kada sami pokrenete pravilo: gumbom **Test run (1 batch)** ili tako da od agenta **Sync Operator** zatražite da ga izvede.
- Pravilo za narudžbe izvodi se po rasporedu samo s filtrom predloška za marketinšku privolu kupca. Pravilo čiji je filtar izmijenjen izvodi se samo kada ga pokrenete.
- Nakon pet uzastopnih neuspjelih izvođenja pravilo se samo pauzira, a njegova stranica prikazuje posljednju pogrešku. Otklonite uzrok, zatim ga ponovno objavite.

Svako izvođenje navedeno je u povijesti izvođenja pravila s brojem pročitanih, zapisanih i neuspjelih zapisa te trajanjem.

## Što Shopify konektor čita i zapisuje

Pravila sinkronizacije zapisuju samo u odredište, ovdje Brevo. Nikada ne zapisuju u Shopify.

Tajo Shopify aplikacija traži 12 opsega dopuštenja i u Shopify zapisuje kratak popis stvari, poput odjava privole i oznaka vjernosti. [Objašnjenje Shopify dopuštenja](https://tajo.io/hr/resources/help/integrations/shopify-permissions-explained/) navodi svaki opseg i svaki zapis te što ga pokreće.

Agenti i MCP domaćini trgovini pristupaju putem Shopify konektora:

| Čita | Zapisuje |
| --- | --- |
| Podatke o trgovini, kupce (popis i pretraživanje), narudžbe, proizvode, metapolja kupaca, razine zaliha, status skupnog izvoza | Metapolja kupaca i oznake kupaca te pokretanje skupnog izvoza. Svaki se zapis priprema kao prijedlog i izvodi tek nakon odobrenja. |

Konektor deklarira i prilagodbu zaliha. Za nju je potreban opseg `write_inventory`, koji Tajo Shopify aplikacija ne traži.

## Korak 4: Koristite Shopify alate putem MCP-a

Tajo poslužuje Shopify konektor kao MCP poslužitelj na `https://alto.tajo.io/mcp/connectors/shopify`. Dodajte ga u Claude Code:

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

Domaćin otkriva Tajo OAuth poslužitelj i otvara Tajo prijavu. Pristup je ograničen na račune s ranim pristupom. Poslužitelj nudi 12 alata:

| Alat | Što radi |
| --- | --- |
| `preview_tajo_shopify_app` | Interaktivni pretpregled Tajo Shopify aplikacije, prikazan kao MCP UI |
| `get_shop` | Podaci o trgovini |
| `search_customers` | Pretraživanje kupaca Shopify sintaksom upita, poput `tag:tajo-vip` ili `total_spent:>100` |
| `list_customers` | Popis kupaca, po stranicama |
| `list_orders` | Popis narudžbi, po stranicama |
| `list_products` | Popis proizvoda s varijantama, slikama i zalihama |
| `get_customer_metafields` | Čitanje metapolja kupca |
| `get_inventory_levels` | Čitanje zaliha varijante na svim lokacijama |
| `poll_bulk_export` | Provjera skupnog izvoza i preuzimanje poveznice za preuzimanje kada završi |
| `calculate_rewards_profile` | Izračun razine, bodova i stanja nagrada kupca iz sinkroniziranih podataka o trgovini |
| `shopify_propose` | Priprema jednog zapisa u Shopify kao prijedloga. Ništa se ne šalje. |
| `shopify_apply` | Izvođenje odobrenog prijedloga |

## Rješavanje problema

- Kontakti se ne pojavljuju u Brevu: pogledajte [kontakti nedostaju u Brevu](https://tajo.io/hr/resources/help/troubleshooting/contacts-missing-in-brevo/).
- Pravilo se ne izvodi ili se samo pauziralo: pogledajte [podaci se ne sinkroniziraju](https://tajo.io/hr/resources/help/troubleshooting/data-not-syncing/).

## Sljedeći koraci

- [Razumijevanje sinkronizacije podataka](https://tajo.io/hr/resources/help/getting-started/understanding-data-sync/), kako se pravila sinkronizacije ponašaju
- [Objašnjenje Shopify dopuštenja](https://tajo.io/hr/resources/help/integrations/shopify-permissions-explained/), svaki opseg i svaki zapis
- [Shopify + Brevo](https://tajo.io/hr/docs/integrations/shopify-brevo), vodič za integraciju
- [Obratite se timu](https://tajo.io/hr/contact) za postavljanje
