---
title: "Shopify-koppling"
description: "Komplett integrationsguide för Shopify för att synka kunder, ordrar, produkter och kundvagnshändelser med Brevo."
url: https://tajo.io/se/docs/connectors/ecommerce/shopify/
markdown: https://tajo.io/se/docs/connectors/ecommerce/shopify.md
lang: sv-SE
robots: noindex
---

Ansök om tidig åtkomst

Ange ditt förnamn och din e-postadress på jobbet. Vi skickar en länk för att bekräfta din begäran om åtkomst till Tajo.

# Shopify-koppling

Kopplingens status: Under utveckling Byggs. Inte verifierad än.

| Källfält | Målfält | Exempelvärde |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Anslut din Shopify-butik till Brevo för fullständig synkronisering av kunddata, återvinning av övergivna kundvagnar och automatiserade marknadsföringskampanjer.

## Översikt

| Egenskap | Värde |
| --- | --- |
| **Plattform** | Shopify |
| **Kategori** | E-handel |
| **Installationskomplexitet** | Enkel |
| **Officiell integration** | Nej |
| **Data som synkas** | Kunder, ordrar, produkter, kundvagnar, händelser |
| **Tillgängliga skills** | 12 |

## Funktioner

- **Kundsynk i realtid** - Kunddata synkas omedelbart till Brevo-kontakter
- **Orderspårning** - Orderhändelser för flöden efter köp
- **Synk av produktkatalog** - Produkter tillgängliga för rekommendationer
- **Övergivna kundvagnar** - Spåra och återvinn övergivna kundvagnar
- **Browse-beteende** - Spårning av sidvisningar och produktintresse
- **Stöd för flera butiker** - Anslut flera Shopify-butiker

## Förutsättningar

Innan du börjar, se till att du har:

1. En Shopify-butik med adminåtkomst
2. Ett Brevo-konto med API-åtkomst
3. Ett Tajo-konto

## Installation

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

1. Besök [Tajo-appen i Shopify App Store](https://apps.shopify.com/tajo)
2. Klicka på “Add app”
3. Godkänn de begärda behörigheterna
4. Anslut ditt Brevo-konto

### Alternativ 2: Manuell installation

#### Steg 1: Skapa en Shopify-app

1. Gå till ditt Shopify-admin → Settings → Apps and sales channels
2. Klicka på “Develop apps” → “Create an app”
3. Namnge den “Tajo Integration”

#### Steg 2: Konfigurera API-scopes

Aktivera dessa scopes:

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

#### Steg 3: Installera 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
```

#### Steg 4: Konfigurera webhooks

Tajo registrerar automatiskt dessa webhooks:

| Webhook | Syfte |
| --- | --- |
| `customers/create` | Synk av nya kunder |
| `customers/update` | Ändringar av kunddata |
| `customers/delete` | Borttagning av kund |
| `orders/create` | Händelser vid lagd order |
| `orders/updated` | Ändringar av orderstatus |
| `checkouts/create` | Kundvagn skapad |
| `checkouts/update` | Kundvagn uppdaterad |

## Konfiguration

### Grundläggande konfiguration

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

### Fältmappning

Mappa Shopify-fält till Brevos kontaktattribut:

#### Standardmappningar

| Parameter | Type | Description |
| --- | --- | --- |
| `email` required | string | Kundens e-post (unik identifierare) |
| `first_name` optional | string | Mappas till attributet FIRSTNAME |
| `last_name` optional | string | Mappas till attributet LASTNAME |
| `phone` optional | string | Mappas till SMS-attributet för WhatsApp/SMS |
| `accepts_marketing` optional | boolean | Styr prenumerationsstatusen |
| `orders_count` optional | integer | Totalt antal ordrar |
| `total_spent` optional | number | Kundens totala livstidsvärde |
| `tags` optional | array | Kundtaggar från Shopify |

#### Anpassad attributmappning

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

### Produktsynk

Synka produkter för e-postrekommendationer:

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

### Lagerspårning

Aktivera synkronisering av lagernivåer:

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

## Händelser

### Kundhändelser

| Händelse | Utlösare | Användningsfall |
| --- | --- | --- |
| `customer_created` | Ny kundregistrering | Välkomstserie |
| `customer_updated` | Profiländringar | Datasynk |
| `customer_tags_added` | Taggar tilldelade | Segmentuppdateringar |

### Orderhändelser

| Händelse | Utlösare | Användningsfall |
| --- | --- | --- |
| `order_placed` | Kassan slutförd | Orderbekräftelse |
| `order_fulfilled` | Ordern skickad | Leveransavisering |
| `order_cancelled` | Ordern avbruten | Avbokningsmejl |
| `order_refunded` | Återbetalning hanterad | Bekräftelse av återbetalning |

### Kundvagnshändelser

| Händelse | Utlösare | Användningsfall |
| --- | --- | --- |
| `cart_created` | Artiklar lagda i kundvagnen | Browse-spårning |
| `cart_updated` | Kundvagnen ändrad | Spårning av kundvagnsvärde |
| `cart_abandoned` | Ingen kassa inom 30 min | Återvinningsmejl |

## Tillgängliga skills

Shopify-kopplingen aktiverar följande skills:

| Skill | Beskrivning |
| --- | --- |
| [Kundsynk](https://tajo.io/se/docs/skills/data-sync/customer-sync) | Kundsynk i realtid |
| Orderhändelser | Spårning av orderns livscykel |
| [Övergiven kundvagn](https://tajo.io/se/docs/skills/email-marketing/abandoned-cart) | Återvinningsmejl för kundvagnar |
| Välkomstserie | Onboarding för nya kunder |
| Efter köp | Uppföljning efter order |
| Win-Back | Återengagera inaktiva kunder |
| Browse Abandonment | Uppföljning av produktintresse |
| Påfyllning | Påminnelser om återbeställning |

## Kodexempel

### Initiera kopplingen

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

### Kör initial synk

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

### Spåra kundvagnshändelser

Lägg till Tajo-skriptet i ditt Shopify-tema:

```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` ovan är en platshållare tills Tajo-endpointen är tillgänglig.

### Anpassad webhook-hanterare

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

## Övervakning

### Mätvärden i dashboard

Övervaka din Shopify-anslutning i Tajo-dashboarden:

- **Synkstatus**: Anslutningshälsa i realtid
- **Synkade kunder**: Totalt antal kontakter från Shopify
- **Spårade ordrar**: Behandlade orderhändelser
- **Återvinning av kundvagnar**: Prestanda för övergivna kundvagnar
- **Felfrekvens**: Misslyckade synkförsök

### Webhook-loggar

Se status för webhook-leveranser:

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

### Synkhistorik

Kontrollera historiska synkoperationer:

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

## Felsökning

### Vanliga problem

API-gränser

Shopify har API-gränser på 2 förfrågningar/sekund. Använd batchsynk för stora historiska importer.

| Problem | Orsak | Lösning |
| --- | --- | --- |
| Webhook tas inte emot | App-behörigheter | Installera om appen med korrekta scopes |
| Kunden synkas inte | E-post saknas | Shopify kräver e-post för kunder |
| Produkter saknas | Produktstatus | Kontrollera att produkten har statusen “active” |
| Kundvagn spåras inte | Skript ej laddat | Verifiera skriptet i theme.liquid |

### Debug-läge

Aktivera utförlig loggning:

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

### Testa anslutningen

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

## Bästa praxis

1. **Börja med en testbutik** - Använd en utvecklingsbutik först
2. **Kör initial synk utanför högtrafiktid** - Stora synkar kan ta tid
3. **Mappa anpassade attribut** - Förlita dig inte bara på standardmappningar
4. **Aktivera kundvagnsspårning** - Kritiskt för återvinning av övergivna kundvagnar
5. **Övervaka webhook-hälsan** - Ställ in aviseringar för misslyckade leveranser
6. **Använd batch-importer** - För historiska data över 10 000 poster

## Säkerhet

- **OAuth 2.0** - Säker tokenbaserad autentisering
- **Webhook-verifiering** - Validering av HMAC-signatur
- **Krypterad lagring** - API-uppgifter krypterade i vila
- **Scope-baserad åtkomst** - Endast minsta nödvändiga behörigheter

## Relaterade resurser

- [WooCommerce-koppling](https://tajo.io/se/docs/connectors/ecommerce/woocommerce)
- [Skill för kundsynk](https://tajo.io/se/docs/skills/data-sync/customer-sync)
- [Skill för övergiven kundvagn](https://tajo.io/se/docs/skills/email-marketing/abandoned-cart)
- [Brevo Contacts API](https://tajo.io/se/docs/contact-management)
