---
title: "Vodič za integraciju sa Shopify platformom | Tajo"
description: "Kako Tajo povezuje Shopify prodavnicu sa Brevom: sinhronizacija preko webhook-ova Shopify aplikacije, pravila sinhronizacije koja agent pravi a osoba odobrava i Shopify MCP alati."
url: https://tajo.io/sr/docs/ecommerce-platforms/shopify/
markdown: https://tajo.io/sr/docs/ecommerce-platforms/shopify.md
lang: sr-Latn-RS
author: "Set Noa"
author_url: https://tajo.io/sr/set-noa/
robots: noindex
---

Zatražite rani pristup

Unesite ime i poslovnu adresu e-pošte. Poslaćemo vam vezu za potvrdu zahteva za pristup Taju.

# Vodič za integraciju sa Shopify platformom

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

Tajo povezuje Shopify sa Brevom na dva mesta. Tajo Shopify aplikacija pretvara Shopify webhook-ove u upise u Brevo čim stignu. Pravila sinhronizacije, koja agent pravi a osoba odobrava, po rasporedu prenose zapise u Brevo. Ova stranica opisuje oba načina, a zatim Shopify alate koje Tajo nudi preko MCP-a.

## Preduslovi

Pre nego što započnete integraciju, uverite se da imate:

- **Shopify prodavnicu** na bilo kom planu (Basic, Shopify, Advanced ili Plus)
- **Tajo nalog** (Tajo je u ranom pristupu)
- **Brevo nalog**, odredište sinhronizacije
- **Administratorski pristup** svojoj Shopify prodavnici

## Korak 1: Povežite svoju Shopify prodavnicu

Tajo je u ranom pristupu. Shopify aplikacija nije navedena u prodavnici Shopify App Store i ne postoji link za samostalnu instalaciju. [Obratite se timu](https://tajo.io/sr/contact) da vam pomogne sa podešavanjem. Kada je vaš Tajo radni prostor spreman:

1. U Taju otvorite **Connections**.
2. Unesite myshopify.com domen svoje prodavnice i izaberite **Connect Shopify**. Shopify prikazuje opsege dozvola koje Tajo traži i nakon vašeg odobrenja vas vraća u Tajo.
3. Za šta služi svaki opseg i šta Tajo upisuje nazad u Shopify, proverite u [objašnjenju Shopify dozvola](https://tajo.io/sr/resources/help/integrations/shopify-permissions-explained/).

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

Aplikacija proverava svaki Shopify webhook, čuva ga, stavlja u red i odmah obrađuje. Teme kupaca i proizvoda prvo čekaju oko četiri sekunde. Nema prozora za grupnu obradu. Neuspeo posao se ponavlja sa sve dužim razmakom (backoff).

### Teme webhook-ova

Tajo Shopify aplikacija pretplaćena je na ove teme Shopify webhook-ova:

| Teme webhook-ova | Namena |
| --- | --- |
| `customers/create`, `customers/update`, `customers/delete` | Održavanje ažurnih kontakata u Brevo |
| `orders/create`, `orders/updated`, `orders/fulfilled`, `orders/cancelled` | Događaji porudžbina i metrike porudžbina za Brevo |
| `orders/paid`, `refunds/create` | Dodela i oduzimanje poena lojalnosti |
| `checkouts/create`, `checkouts/update` | Povraćaj napuštenih naplata (checkouts) u Brevo |
| `products/create`, `products/update`, `products/delete` | Održavanje ažurnog kataloga proizvoda u Brevo |
| `inventory_levels/update` | Održavanje ažurnih zaliha proizvoda u Brevo |
| `collections/create`, `collections/update`, `collections/delete` | Održavanje ažurnih kolekcija |
| `companies/*`, `company_contacts/*`, `company_locations/*` (create, update, delete) | Sinhronizacija B2B kompanija |
| `app/uninstalled`, `app/scopes_update`, `app_subscriptions/update` | Životni ciklus aplikacije |

Obavezni Shopify webhook-ovi za privatnost (zahtev za podatke kupca, brisanje kupca, brisanje prodavnice) takođe su obrađeni. Aplikacija nije pretplaćena na `carts/*`. Napuštene korpe dolaze iz tema `checkouts/*`.

Šta stiže u Brevo:

| Shopify događaj | U Brevo |
| --- | --- |
| Kupac kreiran ili ažuriran | Kontakt se kreira ili ažurira sa imenom, imejlom i marketinškom saglasnošću. Na plaćenim planovima aplikacija dodaje oznake, broj porudžbina, potrošeni iznos i poslednju porudžbinu. |
| Kupac obrisan | Kontakt se odjavljuje, ne briše se |
| Porudžbina kreirana, ažurirana, plaćena, ispunjena ili otkazana | Porudžbina preko Brevo API-ja za porudžbine i događaji `order_paid`, `order_completed` i `order_cancelled` |
| Povraćaj novca kreiran | Događaj `order_refunded`. Ako preko Taja vodite Brevo program lojalnosti, poeni se srazmerno oduzimaju. |
| Porudžbina plaćena, uz Brevo program lojalnosti | Poeni se dodeljuju po vašoj stopi poena po dolaru |
| Naplata kreirana ili ažurirana, sa imejlom i stavkama | Događaji `cart_updated` i `cart_abandoned`. Vaša Brevo automatizacija odlučuje kada se šalje. |
| Proizvod ili kolekcija kreirani, ažurirani ili obrisani | Brevo katalog proizvoda i kategorije |
| Nivo zaliha ažuriran | Zalihe proizvoda u Brevo katalogu. Kada varijanta pređe sa 0 na više od 0, svaki kupac koji je tražio obaveštenje dobija događaj `back_in_stock`, jednom po popunjavanju zaliha. |

Aplikacija ne dodaje dugme „Obavesti me“ u vašu temu. Zahtev za obaveštenje o ponovnoj dostupnosti mora da dođe iz vaše prodavnice, na primer preko dugmeta koje sami dodate.

### Postojeći podaci

Pri instalaciji aplikacija uvozi vaše postojeće kupce kao Brevo kontakte. Potpuna istorijska sinhronizacija pokreće se sa stranice za sinhronizaciju u aplikaciji. Na plaćenim planovima ona uvozi i proizvode, kolekcije, kompanije i porudžbine.

## Korak 3: Napravite pravilo sinhronizacije uz pomoć agenta

Pravilo sinhronizacije je deklarativna definicija jedne sinhronizacije: izvorni resurs, Brevo akcija, mapa polja i filter. Ne pišete ga ručno. Vi ga opišete, agent ga napravi, a osoba ga odobri.

1. U Taju otvorite **Agents** i običnim jezikom zatražite sinhronizaciju od agenta **Brevo Integration Architect**. Na primer: „Pošalji Shopify kupce koji su prihvatili imejl marketing u Brevo kao kontakte.“
2. Agent pregleda Shopify konektor. Njegov uzorak vraća nazive i tipove polja, nikada vrednosti kupaca.
3. Predlaže pravilo sa mapom polja i filterom, zatim validira mapu polja prema Brevo akciji i probno pokreće nacrt (dry run). Nijedan od ovih koraka ne čita zapise kupaca.
4. Čuva pravilo kao nacrt. Možete početi i od šablona u **Connections > Syncs and mappings > New sync from template**.
5. **Request publish approval** pokreće pregled nad vašom prodavnicom. Čita najviše 10 zapisa, ništa ne upisuje u Brevo i ne pomera kursor. Beleži samo brojeve: preuzete zapise, podobne, mapirane i one koje je filter odbio, kao i greške mapiranja. Ako pregled ne uspe, odobrenje se ne kreira.
6. Osoba odobrava zahtev na stranici **Approvals**, uz pisano obrazloženje. Odobrenje je vezano za SHA-256 sažetak pravila i ističe posle 30 minuta. Stranica pravila tada prikazuje **Publish approved version**.

Izmena objavljenog pravila vraća ga u nacrt. Pre ponovnog pokretanja ono ponovo prolazi kroz pregled i odobrenje.

### Stvarno pravilo

Ovo je šablon **Shopify customers -> Brevo contacts** onako kako ga Tajo definiše:

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

Filter je provera saglasnosti. Tajo izvodi obe vrednosti iz Shopify polja `email_marketing_consent.state` ili iz starije oznake `accepts_marketing`. Pravilo koje upisuje kontakte u Brevo ne može da se objavi bez njega. Drugi Shopify šablon, **Shopify orders → Brevo orders**, beleži porudžbine u Brevo za kupce koji su pri naplati prihvatili marketing.

### Kada se pravilo pokreće

- Pravila sinhronizacije kontakata podrazumevano se pokreću na svakih 15 minuta. Svako pokretanje kreće od kursora pravila.
- Stranica aktivnog pravila ima dugme **Test run (1 batch)**.
- Aktivno, objavljeno pravilo **Shopify orders → Brevo orders** takođe se pokreće na svakih 15 minuta. Njegovo prvo zakazano pokretanje kreće nekoliko minuta pre tog trenutka i ne šalje starije porudžbine. Svako sledeće pokretanje šalje porudžbine ažurirane od prethodnog pokretanja.
- Ranije porudžbine stižu u Brevo samo kada sami pokrenete pravilo: dugmetom **Test run (1 batch)** ili tako što zatražite od agenta **Sync Operator** da ga pokrene.
- Pravilo za porudžbine pokreće se po rasporedu samo sa filterom šablona za marketinšku saglasnost kupca. Pravilo čiji je filter izmenjen pokreće se samo kada ga vi pokrenete.
- Posle pet uzastopnih neuspelih pokretanja pravilo se samo pauzira, a njegova stranica prikazuje poslednju grešku. Otklonite uzrok, pa ga ponovo objavite.

Svako pokretanje je navedeno u istoriji pokretanja pravila, sa pročitanim, upisanim i neuspelim zapisima i trajanjem.

## Šta Shopify konektor čita i upisuje

Pravila sinhronizacije upisuju samo u odredište, ovde Brevo. Nikada ne upisuju u Shopify.

Tajo Shopify aplikacija traži 12 opsega dozvola i obavlja kratak spisak upisa u Shopify, kao što su odjave od saglasnosti i oznake lojalnosti. [Objašnjenje Shopify dozvola](https://tajo.io/sr/resources/help/integrations/shopify-permissions-explained/) navodi svaki opseg i svaki upis, uz ono što ga pokreće.

Agenti i MCP hostovi pristupaju prodavnici preko Shopify konektora:

| Čita | Upisuje |
| --- | --- |
| Podatke o prodavnici, kupce (spisak i pretraga), porudžbine, proizvode, metapolja kupaca, nivoe zaliha, status grupnog izvoza | Metapolja kupaca i oznake kupaca, kao i pokretanje grupnog izvoza. Svaki upis se priprema kao predlog i izvršava tek nakon odobrenja. |

Konektor deklariše i usklađivanje zaliha. Za njega je potreban opseg `write_inventory`, koji Tajo Shopify aplikacija ne traži.

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

Tajo nudi Shopify konektor kao MCP server na adresi `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
```

Host pronalazi Tajo OAuth server i otvara Tajo prijavu. Pristup je ograničen na naloge u ranom pristupu. Server nudi 12 alata:

| Alat | Šta radi |
| --- | --- |
| `preview_tajo_shopify_app` | Interaktivni pregled Tajo Shopify aplikacije, prikazan kao MCP UI |
| `get_shop` | Podaci o prodavnici |
| `search_customers` | Pretraga kupaca Shopify sintaksom upita, na primer `tag:tajo-vip` ili `total_spent:>100` |
| `list_customers` | Spisak kupaca, po stranicama |
| `list_orders` | Spisak porudžbina, po stranicama |
| `list_products` | Spisak proizvoda sa varijantama, slikama i zalihama |
| `get_customer_metafields` | Čitanje metapolja kupca |
| `get_inventory_levels` | Čitanje zaliha varijante na svim lokacijama |
| `poll_bulk_export` | Provera grupnog izvoza i preuzimanje linka za preuzimanje kada se završi |
| `calculate_rewards_profile` | Izračunavanje nivoa, poena i stanja nagrada kupca iz sinhronizovanih podataka o kupovini |
| `shopify_propose` | Priprema jednog upisa u Shopify kao predloga. Ništa se ne šalje. |
| `shopify_apply` | Izvršavanje odobrenog predloga |

## Rešavanje problema

- Kontakti se ne pojavljuju u Brevo: pogledajte [kontakti nedostaju u Brevo](https://tajo.io/sr/resources/help/troubleshooting/contacts-missing-in-brevo/).
- Pravilo koje se ne pokreće ili se samo pauziralo: pogledajte [podaci se ne sinhronizuju](https://tajo.io/sr/resources/help/troubleshooting/data-not-syncing/).

## Sledeći koraci

- [Razumevanje sinhronizacije podataka](https://tajo.io/sr/resources/help/getting-started/understanding-data-sync/), kako se ponašaju pravila sinhronizacije
- [Objašnjenje Shopify dozvola](https://tajo.io/sr/resources/help/integrations/shopify-permissions-explained/), svaki opseg i svaki upis
- [Shopify + Brevo](https://tajo.io/sr/docs/integrations/shopify-brevo), vodič za integraciju
- [Obratite se timu](https://tajo.io/sr/contact) da vam pomogne sa podešavanjem
