Shopify-kobling
Shopify-kobling
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 | Ja |
| 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:
- En Shopify-butikk med admintilgang
- En Brevo-konto med API-tilgang
- En Tajo-konto
Installasjon
Alternativ 1: Shopify App Store (anbefalt)
- Besøk Tajo-appen i Shopify App Store
- Klikk på “Legg til app”
- Gi de forespurte tillatelsene
- Koble til Brevo-kontoen din
Alternativ 2: Manuell installasjon
Trinn 1: Opprett en Shopify-app
- Gå til Shopify-admin → Innstillinger → Apper og salgskanaler
- Klikk “Utvikle apper” → “Opprett en app”
- Gi den navnet “Tajo Integration”
Trinn 2: Konfigurer API-scopes
Aktiver disse scopene:
read_customerswrite_customersread_ordersread_productsread_checkoutswrite_script_tagsTrinn 3: Installer appen
# Using Tajo CLItajo connectors install shopify \ --shop-url your-store.myshopify.com \ --api-key $SHOPIFY_API_KEY \ --api-secret $SHOPIFY_API_SECRETTrinn 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
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: 7Feltmapping
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
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: RECENCYProduktsynkronisering
Synkroniser produkter for e-postanbefalinger:
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å:
sync: inventory: enabled: true low_stock_threshold: 10 out_of_stock_events: trueHendelser
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 | Kundesynkronisering i sanntid |
| Ordrehendelser | Sporing av ordrelivssyklus |
| Forlatt handlekurv | 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
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connect Shopify storeawait 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
// Full historical syncawait tajo.connectors.sync('shopify', { type: 'full', resources: ['customers', 'orders', 'products'], since: '2023-01-01'});
// Check sync statusconst 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:
<!-- 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.tajo.io/shopify.js"></script>Egendefinert webhook-håndterer
// Handle Shopify webhooks manuallyapp.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:
tajo connectors logs shopify --type webhook --last 24hSynkroniseringshistorikk
Sjekk historiske synkroniseringsoperasjoner:
tajo connectors history shopify --limit 10Feilsø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:
connectors: shopify: debug: true log_level: verbose log_webhooks: trueTest tilkobling
tajo connectors test shopify# ✓ API connection successful# ✓ Webhooks registered# ✓ Products accessible# ✓ Customers readable# ✓ Orders readableBeste praksis
- Start med testbutikk - Bruk en utviklingsbutikk først
- Kjør innledende synkronisering utenom åpningstid - Store synkroniseringer kan være trege
- Mapp egendefinerte attributter - Ikke kun stol på standardmappingene
- Aktiver handlekurvsporing - Kritisk for gjenoppretting av forlatt handlekurv
- Overvåk webhook-helse - Sett opp varsler for mislykkede leveringer
- 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