Shopify-koppling
Shopify-koppling
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 | Ja |
| 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:
- En Shopify-butik med adminåtkomst
- Ett Brevo-konto med API-åtkomst
- Ett Tajo-konto
Installation
Alternativ 1: Shopify App Store (rekommenderas)
- Besök Tajo-appen i Shopify App Store
- Klicka på “Add app”
- Godkänn de begärda behörigheterna
- Anslut ditt Brevo-konto
Alternativ 2: Manuell installation
Steg 1: Skapa en Shopify-app
- Gå till ditt Shopify-admin → Settings → Apps and sales channels
- Klicka på “Develop apps” → “Create an app”
- Namnge den “Tajo Integration”
Steg 2: Konfigurera API-scopes
Aktivera dessa scopes:
read_customerswrite_customersread_ordersread_productsread_checkoutswrite_script_tagsSteg 3: Installera appen
# Using Tajo CLItajo connectors install shopify \ --shop-url your-store.myshopify.com \ --api-key $SHOPIFY_API_KEY \ --api-secret $SHOPIFY_API_SECRETSteg 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
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: 7Fä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
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: RECENCYProduktsynk
Synka produkter för e-postrekommendationer:
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:
sync: inventory: enabled: true low_stock_threshold: 10 out_of_stock_events: trueHä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 | Kundsynk i realtid |
| Orderhändelser | Spårning av orderns livscykel |
| Övergiven kundvagn | Å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
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});Kör initial synk
// 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// }Spåra kundvagnshändelser
Lägg till Tajo-skriptet i ditt Shopify-tema:
<!-- 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>Anpassad webhook-hanterare
// 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');});Ö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:
tajo connectors logs shopify --type webhook --last 24hSynkhistorik
Kontrollera historiska synkoperationer:
tajo connectors history shopify --limit 10Felsö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:
connectors: shopify: debug: true log_level: verbose log_webhooks: trueTesta anslutningen
tajo connectors test shopify# ✓ API connection successful# ✓ Webhooks registered# ✓ Products accessible# ✓ Customers readable# ✓ Orders readableBästa praxis
- Börja med en testbutik - Använd en utvecklingsbutik först
- Kör initial synk utanför högtrafiktid - Stora synkar kan ta tid
- Mappa anpassade attribut - Förlita dig inte bara på standardmappningar
- Aktivera kundvagnsspårning - Kritiskt för återvinning av övergivna kundvagnar
- Övervaka webhook-hälsan - Ställ in aviseringar för misslyckade leveranser
- 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