---
title: "Shopify-kobling"
description: "Fullstendig Shopify-integrasjonsveiledning for synkronisering av kunder, ordrer, produkter og handlekurvhendelser med Brevo."
url: https://tajo.io/no/docs/connectors/ecommerce/shopify/
markdown: https://tajo.io/no/docs/connectors/ecommerce/shopify.md
lang: no-NO
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.

# Shopify-kobling

Koblingsstatus: Under utvikling Under bygging. Ikke verifisert ennå.

| Kildefelt | Målfelt | Eksempelverdi |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Koble Shopify-butikken din til Brevo for fullstendig synkronisering av kundedata, gjenoppretting av forlatte handlekurver og automatiserte markedsføringskampanjer.

## Oversikt

| Egenskap | Verdi |
| --- | --- |
| **Plattform** | Shopify |
| **Kategori** | E-handel |
| **Oppsettskompleksitet** | Enkel |
| **Offisiell integrasjon** | Nei |
| **Synkroniserte data** | Kunder, ordrer, produkter, handlekurver, hendelser |
| **Tilgjengelige ferdigheter** | 12 |

## Funksjoner

- **Sanntidssynkronisering av kunder** - Kundedata synkroniseres umiddelbart til Brevo-kontakter
- **Ordresporing** - Ordrehendelser for flyter etter kjøp
- **Produktkatalogsynkronisering** - Produkter tilgjengelig for anbefalinger
- **Forlatt handlekurv** - Spor og gjenopprett forlatte handlekurver
- **Surfeatferd** - Sporing av sidevisninger og produktinteresse
- **Støtte for flere butikker** - Koble til flere Shopify-butikker

## Forutsetninger

Før du begynner, sørg for at du har:

1. En Shopify-butikk med admintilgang
2. En Brevo-konto med API-tilgang
3. En Tajo-konto

## Installasjon

### Alternativ 1: Shopify App Store (anbefalt)

1. Besøk [Tajo-appen i Shopify App Store](https://apps.shopify.com/tajo)
2. Klikk på “Legg til app”
3. Gi de forespurte tillatelsene
4. Koble til Brevo-kontoen din

### Alternativ 2: Manuell installasjon

#### Trinn 1: Opprett en Shopify-app

1. Gå til Shopify-admin → Innstillinger → Apper og salgskanaler
2. Klikk “Utvikle apper” → “Opprett en app”
3. Gi den navnet “Tajo Integration”

#### Trinn 2: Konfigurer API-scopes

Aktiver disse scopene:

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

#### Trinn 3: Installer appen

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

#### Trinn 4: Konfigurer webhooks

Tajo registrerer automatisk disse webhookene:

| Webhook | Formål |
| --- | --- |
| `customers/create` | Synkronisering av ny kunde |
| `customers/update` | Endringer i kundedata |
| `customers/delete` | Fjerning av kunde |
| `orders/create` | Ordreplasseringshendelser |
| `orders/updated` | Endringer i ordrestatus |
| `checkouts/create` | Handlekurv opprettet |
| `checkouts/update` | Handlekurv oppdatert |

## Konfigurasjon

### Grunnleggende oppsett

```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
```

### Feltmapping

Mapp Shopify-felt til Brevo-kontaktattributter:

#### Standardmappinger

| Parameter | Type | Description |
| --- | --- | --- |
| `email` required | string | Kundens e-post (unik identifikator) |
| `first_name` optional | string | Mappes til FIRSTNAME-attributtet |
| `last_name` optional | string | Mappes til LASTNAME-attributtet |
| `phone` optional | string | Mappes til SMS-attributtet for WhatsApp/SMS |
| `accepts_marketing` optional | boolean | Styrer abonnementsstatus |
| `orders_count` optional | integer | Totalt antall ordrer |
| `total_spent` optional | number | Kundens livstidsverdi |
| `tags` optional | array | Kundeetiketter fra Shopify |

#### Mapping av egendefinerte attributter

```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
```

### Produktsynkronisering

Synkroniser produkter for e-postanbefalinger:

```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"]
```

### Lagerbeholdningssporing

Aktiver synkronisering av lagernivå:

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

## Hendelser

### Kundehendelser

| Hendelse | Trigger | Bruksområde |
| --- | --- | --- |
| `customer_created` | Ny kunderegistrering | Velkomstserie |
| `customer_updated` | Profiloppdateringer | Datasynkronisering |
| `customer_tags_added` | Etiketter tildelt | Segmentoppdateringer |

### Ordrehendelser

| Hendelse | Trigger | Bruksområde |
| --- | --- | --- |
| `order_placed` | Utsjekking fullført | Ordrebekreftelse |
| `order_fulfilled` | Ordre sendt | Fraktvarsel |
| `order_cancelled` | Ordre kansellert | Kanselleringse-post |
| `order_refunded` | Refusjon behandlet | Refusjonsbekreftelse |

### Handlekurvhendelser

| Hendelse | Trigger | Bruksområde |
| --- | --- | --- |
| `cart_created` | Varer lagt i handlekurv | Surfesporing |
| `cart_updated` | Handlekurv endret | Sporing av handlekurvverdi |
| `cart_abandoned` | Ingen utsjekking på 30 min | Gjenopprettingse-poster |

## Aktiverte ferdigheter

Shopify-koblingen aktiverer disse ferdighetene:

| Ferdighet | Beskrivelse |
| --- | --- |
| [Kundesynkronisering](https://tajo.io/no/docs/skills/data-sync/customer-sync) | Kundesynkronisering i sanntid |
| Ordrehendelser | Sporing av ordrelivssyklus |
| [Forlatt handlekurv](https://tajo.io/no/docs/skills/email-marketing/abandoned-cart) | E-poster for handlekurvgjenoppretting |
| Velkomstserie | Onboarding av nye kunder |
| Etter kjøp | Oppfølging etter ordre |
| Win-Back | Reaktiver inaktive kunder |
| Forlatt surfing | Oppfølging av produktinteresse |
| Etterfylling | Påminnelser om gjenbestilling |

## Kodeeksempler

### Initialiser koblingen

```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
});
```

### Kjør innledende synkronisering

```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
// }
```

### Spor handlekurvhendelser

Legg til Tajo-skriptet i Shopify-temaet ditt:

```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

Adressen `example.com` ovenfor er en plassholder til Tajo-endepunktet er tilgjengelig.

### Egendefinert webhook-håndterer

```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');
});
```

## Overvåking

### Dashboardmetrikker

Overvåk Shopify-tilkoblingen din i Tajo-dashboardet:

- **Synkroniseringsstatus**: Sanntidshelse for tilkoblingen
- **Synkroniserte kunder**: Totalt antall kontakter fra Shopify
- **Sporte ordrer**: Behandlede ordrehendelser
- **Handlekurvgjenoppretting**: Ytelse for forlatt handlekurv
- **Feilrate**: Mislykkede synkroniseringsforsøk

### Webhook-logger

Se status for webhook-levering:

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

### Synkroniseringshistorikk

Sjekk historiske synkroniseringsoperasjoner:

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

## Feilsøking

### Vanlige problemer

API-hastighetsgrenser

Shopify har API-hastighetsgrenser på 2 forespørsler/sekund. Bruk batch-synkronisering for store historiske importer.

| Problem | Årsak | Løsning |
| --- | --- | --- |
| Webhook ikke mottatt | App-tillatelser | Installer appen på nytt med riktige scopes |
| Kunde ikke synkronisert | Manglende e-post | Shopify krever e-post for kunder |
| Produkter mangler | Produktstatus | Sjekk at produktet har status “active” |
| Handlekurv ikke sporet | Skript ikke lastet | Bekreft skriptet i theme.liquid |

### Feilsøkingsmodus

Aktiver detaljert logging:

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

### Test tilkobling

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

## Beste praksis

1. **Start med testbutikk** - Bruk en utviklingsbutikk først
2. **Kjør innledende synkronisering utenom åpningstid** - Store synkroniseringer kan være trege
3. **Mapp egendefinerte attributter** - Ikke kun stol på standardmappingene
4. **Aktiver handlekurvsporing** - Kritisk for gjenoppretting av forlatt handlekurv
5. **Overvåk webhook-helse** - Sett opp varsler for mislykkede leveringer
6. **Bruk batch-importer** - For historiske data over 10 000 poster

## Sikkerhet

- **OAuth 2.0** - Sikker tokenbasert autentisering
- **Webhook-verifisering** - HMAC-signaturvalidering
- **Kryptert lagring** - API-legitimasjon kryptert i hvile
- **Scoped tilgang** - Kun minimum nødvendige tillatelser

## Relaterte ressurser

- [WooCommerce-kobling](https://tajo.io/no/docs/connectors/ecommerce/woocommerce)
- [Kundesynkronisering-ferdighet](https://tajo.io/no/docs/skills/data-sync/customer-sync)
- [Forlatt handlekurv-ferdighet](https://tajo.io/no/docs/skills/email-marketing/abandoned-cart)
- [Brevo Contacts API](https://tajo.io/no/docs/contact-management)
