---
title: "Shopify konektor"
description: "Potpuni vodič za Shopify integraciju za sinkronizaciju kupaca, narudžbi, proizvoda i događaja košarice s Brevom."
url: https://tajo.io/hr/docs/connectors/ecommerce/shopify/
markdown: https://tajo.io/hr/docs/connectors/ecommerce/shopify.md
lang: hr-HR
robots: noindex
---

Zatražite rani pristup

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

# Shopify konektor

Status konektora: U izradi Gradi se. Još nije provjereno.

| Izvorno polje | Odredišno polje | Primjer vrijednosti |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Poveži svoju Shopify trgovinu s Brevom za potpunu sinkronizaciju podataka o kupcima, povrat napuštenih košarica i automatizirane marketinške kampanje.

## Pregled

| Svojstvo | Vrijednost |
| --- | --- |
| **Platforma** | Shopify |
| **Kategorija** | E-commerce |
| **Složenost postavljanja** | Jednostavno |
| **Službena integracija** | Ne |
| **Sinkronizirani podaci** | Kupci, narudžbe, proizvodi, košarice, događaji |
| **Dostupni skills** | 12 |

## Značajke

- **Sinkronizacija kupaca u stvarnom vremenu** - Podaci o kupcima trenutno se sinkroniziraju s Brevo kontaktima
- **Praćenje narudžbi** - Događaji narudžbi za post-purchase tokove
- **Sinkronizacija kataloga proizvoda** - Proizvodi dostupni za preporuke
- **Napuštanje košarice** - Prati i vraćaj napuštene košarice
- **Ponašanje pregledavanja** - Praćenje pregleda stranica i interesa za proizvode
- **Podrška za više trgovina** - Poveži više Shopify trgovina

## Preduvjeti

Prije nego što počneš, provjeri imaš li:

1. Shopify trgovinu s admin pristupom
2. Brevo račun s API pristupom
3. Tajo račun

## Instalacija

### Opcija 1: Shopify App Store (preporučeno)

1. Posjeti [Tajo aplikaciju u Shopify App Storeu](https://apps.shopify.com/tajo)
2. Klikni “Add app”
3. Odobri tražena dopuštenja
4. Poveži svoj Brevo račun

### Opcija 2: Ručna instalacija

#### Korak 1: Stvori Shopify aplikaciju

1. Idi u Shopify admin → Settings → Apps and sales channels
2. Klikni “Develop apps” → “Create an app”
3. Nazovi je “Tajo Integration”

#### Korak 2: Konfiguriraj API scopeove

Omogući ove scopeove:

```
read_customers
write_customers
read_orders
read_products
read_checkouts
write_script_tags
```

#### Korak 3: Instaliraj aplikaciju

```bash
# Using Tajo CLI
tajo connectors install shopify \
  --shop-url your-store.myshopify.com \
  --api-key $SHOPIFY_API_KEY \
  --api-secret $SHOPIFY_API_SECRET
```

#### Korak 4: Konfiguriraj webhookove

Tajo automatski registrira ove webhookove:

| Webhook | Svrha |
| --- | --- |
| `customers/create` | Sinkronizacija novog kupca |
| `customers/update` | Promjene podataka kupca |
| `customers/delete` | Uklanjanje kupca |
| `orders/create` | Događaji kreiranja narudžbe |
| `orders/updated` | Promjene statusa narudžbe |
| `checkouts/create` | Kreirana košarica |
| `checkouts/update` | Ažurirana košarica |

## Konfiguracija

### Osnovno postavljanje

```yaml
connectors:
  shopify:
    enabled: true
    shop_url: "your-store.myshopify.com"
    api_version: "2024-01"

    # Data sync options
    sync:
      customers: true
      orders: true
      products: true
      carts: true
      inventory: false  # Optional

    # List assignment
    lists:
      all_customers: 5
      buyers: 6
      abandoned_cart: 7
```

### Mapiranje polja

Mapiraj Shopify polja na Brevo atribute kontakta:

#### Zadana mapiranja

| Parameter | Type | Description |
| --- | --- | --- |
| `email` required | string | Email kupca (jedinstveni identifikator) |
| `first_name` optional | string | Mapira se na FIRSTNAME atribut |
| `last_name` optional | string | Mapira se na LASTNAME atribut |
| `phone` optional | string | Mapira se na SMS atribut za WhatsApp/SMS |
| `accepts_marketing` optional | boolean | Kontrolira status pretplate |
| `orders_count` optional | integer | Ukupan broj narudžbi |
| `total_spent` optional | number | Životna vrijednost kupca |
| `tags` optional | array | Tagovi kupca iz Shopifyja |

#### Mapiranje prilagođenih atributa

```yaml
field_mapping:
  # Standard fields
  email: email
  first_name: FIRSTNAME
  last_name: LASTNAME
  phone: SMS

  # E-commerce metrics
  orders_count: ORDER_COUNT
  total_spent: TOTAL_SPENT
  last_order_date: LAST_ORDER_DATE

  # Custom fields
  customer_type: CUSTOMER_TYPE
  preferred_language: LANGUAGE
  loyalty_tier: VIP_TIER

  # Computed fields
  average_order_value: AOV
  days_since_last_order: RECENCY
```

### Sinkronizacija proizvoda

Sinkroniziraj proizvode za email preporuke:

```yaml
sync:
  products:
    enabled: true
    include_variants: true
    include_images: true
    categories_as_tags: true

    # Filter products
    filter:
      status: active
      exclude_tags: ["hidden", "wholesale-only"]
```

### Praćenje zaliha

Omogući sinkronizaciju razine zaliha:

```yaml
sync:
  inventory:
    enabled: true
    low_stock_threshold: 10
    out_of_stock_events: true
```

## Događaji

### Događaji kupaca

| Događaj | Okidač | Slučaj korištenja |
| --- | --- | --- |
| `customer_created` | Registracija novog kupca | Welcome serija |
| `customer_updated` | Promjene profila | Sinkronizacija podataka |
| `customer_tags_added` | Dodijeljeni tagovi | Ažuriranja segmenata |

### Događaji narudžbi

| Događaj | Okidač | Slučaj korištenja |
| --- | --- | --- |
| `order_placed` | Dovršena kupnja | Potvrda narudžbe |
| `order_fulfilled` | Narudžba poslana | Obavijest o dostavi |
| `order_cancelled` | Narudžba otkazana | Email o otkazivanju |
| `order_refunded` | Obrađen povrat novca | Potvrda povrata novca |

### Događaji košarice

| Događaj | Okidač | Slučaj korištenja |
| --- | --- | --- |
| `cart_created` | Artikli dodani u košaricu | Praćenje pregledavanja |
| `cart_updated` | Košarica izmijenjena | Praćenje vrijednosti košarice |
| `cart_abandoned` | Nema kupnje u 30 min | Emailovi za povrat |

## Omogućeni skills

Shopify konektor omogućuje ove skills:

| Skill | Opis |
| --- | --- |
| [Customer Sync](https://tajo.io/hr/docs/skills/data-sync/customer-sync) | Sinkronizacija kupaca u stvarnom vremenu |
| Order Events | Praćenje životnog ciklusa narudžbe |
| [Abandoned Cart](https://tajo.io/hr/docs/skills/email-marketing/abandoned-cart) | Emailovi za povrat košarice |
| Welcome Series | Onboarding novih kupaca |
| Post-Purchase | Follow-up nakon narudžbe |
| Win-Back | Ponovna angažiranost neaktivnih kupaca |
| Browse Abandonment | Follow-up za interes za proizvod |
| Replenishment | Podsjetnici za ponovnu kupnju |

## Primjeri koda

### Inicijaliziraj konektor

```javascript
import { TajoClient } from '@tajo/sdk';

const tajo = new TajoClient({
  apiKey: process.env.TAJO_API_KEY,
  brevoApiKey: process.env.BREVO_API_KEY
});

// Connect Shopify store
await tajo.connectors.connect('shopify', {
  shopUrl: 'your-store.myshopify.com',
  apiKey: process.env.SHOPIFY_API_KEY,
  apiSecret: process.env.SHOPIFY_API_SECRET
});
```

### Pokreni početnu sinkronizaciju

```javascript
// Full historical sync
await tajo.connectors.sync('shopify', {
  type: 'full',
  resources: ['customers', 'orders', 'products'],
  since: '2023-01-01'
});

// Check sync status
const status = await tajo.connectors.status('shopify');
console.log(status);
// {
//   connected: true,
//   lastSync: '2024-01-15T10:30:00Z',
//   customersCount: 15420,
//   ordersCount: 8234,
//   productsCount: 342
// }
```

### Prati događaje košarice

Dodaj Tajo skriptu u svoju Shopify temu:

```liquid
<!-- Add to theme.liquid before </head> -->
{% if customer %}
<script>
  window.tajoConfig = {
    customerId: "{{ customer.id }}",
    customerEmail: "{{ customer.email }}",
    customerName: "{{ customer.first_name }}"
  };
</script>
{% endif %}
<script src="https://cdn.example.com/shopify.js"></script>
```

Caution

Adresa `example.com` iznad samo je rezervirani unos dok Tajo krajnja točka ne postane dostupna.

### Prilagođeni webhook handler

```javascript
// Handle Shopify webhooks manually
app.post('/webhooks/shopify', async (req, res) => {
  const hmac = req.get('X-Shopify-Hmac-SHA256');

  // Verify webhook signature
  if (!verifyShopifyWebhook(req.body, hmac)) {
    return res.status(401).send('Unauthorized');
  }

  const topic = req.get('X-Shopify-Topic');

  // Forward to Tajo
  await tajo.connectors.handleWebhook('shopify', {
    topic,
    payload: req.body
  });

  res.status(200).send('OK');
});
```

## Praćenje

### Metrike dashboarda

Prati svoju Shopify konekciju u Tajo dashboardu:

- **Status sinkronizacije**: Zdravlje konekcije u stvarnom vremenu
- **Sinkronizirani kupci**: Ukupno kontakata iz Shopifyja
- **Praćene narudžbe**: Obrađeni događaji narudžbi
- **Povrat košarice**: Performanse napuštenih košarica
- **Stopa grešaka**: Neuspjeli pokušaji sinkronizacije

### Logovi webhookova

Pregledaj status isporuke webhookova:

```bash
tajo connectors logs shopify --type webhook --last 24h
```

### Povijest sinkronizacije

Provjeri povijesne operacije sinkronizacije:

```bash
tajo connectors history shopify --limit 10
```

## Rješavanje problema

### Uobičajeni problemi

Ograničenja API stope

Shopify ima API ograničenja od 2 zahtjeva/sekundi. Koristi batch sinkronizaciju za velike povijesne uvoze.

| Problem | Uzrok | Rješenje |
| --- | --- | --- |
| Webhook nije primljen | Dopuštenja aplikacije | Ponovo instaliraj aplikaciju s ispravnim scopeovima |
| Kupac nije sinkroniziran | Nedostaje email | Shopify zahtijeva email za kupce |
| Proizvodi nedostaju | Status proizvoda | Provjeri je li proizvod “active” statusa |
| Košarica nije praćena | Skripta nije učitana | Provjeri skriptu u theme.liquid |

### Debug način

Omogući opsežno logiranje:

```yaml
connectors:
  shopify:
    debug: true
    log_level: verbose
    log_webhooks: true
```

### Testiraj konekciju

```bash
tajo connectors test shopify
# ✓ API connection successful
# ✓ Webhooks registered
# ✓ Products accessible
# ✓ Customers readable
# ✓ Orders readable
```

## Najbolje prakse

1. **Počni s testnom trgovinom** - Prvo koristi development trgovinu
2. **Pokreni početnu sinkronizaciju izvan radnog vremena** - Velike sinkronizacije mogu biti spore
3. **Mapiraj prilagođene atribute** - Ne oslanjaj se samo na zadana mapiranja
4. **Omogući praćenje košarice** - Ključno za povrat napuštenih košarica
5. **Prati zdravlje webhookova** - Postavi upozorenja za neuspjele isporuke
6. **Koristi batch uvoze** - Za povijesne podatke preko 10.000 zapisa

## Sigurnost

- **OAuth 2.0** - Sigurna autentifikacija temeljena na tokenima
- **Verifikacija webhookova** - Validacija HMAC potpisa
- **Šifrirano pohranjivanje** - API vjerodajnice šifrirane u mirovanju
- **Ograničen pristup** - Samo minimalna potrebna dopuštenja

## Povezani resursi

- [WooCommerce konektor](https://tajo.io/hr/docs/connectors/ecommerce/woocommerce)
- [Customer Sync skill](https://tajo.io/hr/docs/skills/data-sync/customer-sync)
- [Abandoned Cart skill](https://tajo.io/hr/docs/skills/email-marketing/abandoned-cart)
- [Brevo Contacts API](https://tajo.io/hr/docs/contact-management)
