Shopify Connector

Shopify Connector

Forbind din Shopify-butik til Brevo for komplet synkronisering af kundedata, genoprettelse af forladte kurve og automatiserede marketingkampagner.

Oversigt

EgenskabVærdi
PlatformShopify
KategoriE-handel
OpsætningskompleksitetLet
Officiel integrationJa
Synkroniserede dataKunder, ordrer, produkter, kurve, hændelser
Tilgængelige skills12

Funktioner

  • Realtidssynkronisering af kunder - Kundedata synkroniseres øjeblikkeligt til Brevo-kontakter
  • Ordresporing - Ordrehændelser til flows efter køb
  • Produktkatalogsynkronisering - Produkter tilgængelige til anbefalinger
  • Kurvforladelse - Spor og genopret forladte kurve
  • Browseadfærd - Sporing af sidevisninger og produktinteresse
  • Multi-butik-understøttelse - Forbind flere Shopify-butikker

Forudsætninger

Før du begynder, skal du sikre dig, at du har:

  1. En Shopify-butik med administratoradgang
  2. En Brevo-konto med API-adgang
  3. En Tajo-konto

Installation

Mulighed 1: Shopify App Store (anbefalet)

  1. Besøg Tajo-appen i Shopify App Store
  2. Klik “Add app”
  3. Giv de ønskede rettigheder
  4. Forbind din Brevo-konto

Mulighed 2: Manuel installation

Trin 1: Opret en Shopify-app

  1. Gå til din Shopify-admin → Settings → Apps and sales channels
  2. Klik “Develop apps” → “Create an app”
  3. Navngiv den “Tajo Integration”

Trin 2: Konfigurér API-scopes

Aktivér disse scopes:

read_customers
write_customers
read_orders
read_products
read_checkouts
write_script_tags

Trin 3: Installér appen

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

Trin 4: Konfigurér webhooks

Tajo registrerer automatisk disse webhooks:

WebhookFormål
customers/createSynkronisering af ny kunde
customers/updateÆndringer i kundedata
customers/deleteFjernelse af kunde
orders/createHændelser om afgivne ordrer
orders/updatedÆndringer i ordrestatus
checkouts/createKurv oprettet
checkouts/updateKurv opdateret

Konfiguration

Grundlæggende opsætning

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

Knyt Shopify-felter til Brevo-kontaktattributter:

Standardmappings

Parameter Type Description
email required
string

Kundens e-mail (unik identifikator)

first_name optional
string

Mapper til FIRSTNAME-attribut

last_name optional
string

Mapper til LASTNAME-attribut

phone optional
string

Mapper til SMS-attribut for WhatsApp/SMS

accepts_marketing optional
boolean

Styrer abonnementsstatus

orders_count optional
integer

Samlet antal ordrer

total_spent optional
number

Kundens livstidsværdi

tags optional
array

Kundetags fra Shopify

Brugerdefineret attributmapping

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

Synkronisér produkter til e-mailanbefalinger:

sync:
products:
enabled: true
include_variants: true
include_images: true
categories_as_tags: true
# Filter products
filter:
status: active
exclude_tags: ["hidden", "wholesale-only"]

Lagersporing

Aktivér synkronisering af lagerniveau:

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

Hændelser

Kundehændelser

HændelseTriggerAnvendelse
customer_createdNy kundetilmeldingVelkomstserie
customer_updatedProfilændringerDatasynkronisering
customer_tags_addedTags tildeltSegmentopdateringer

Ordrehændelser

HændelseTriggerAnvendelse
order_placedCheckout fuldførtOrdrebekræftelse
order_fulfilledOrdre afsendtForsendelsesnotifikation
order_cancelledOrdre annulleretAnnulleringsmail
order_refundedRefusion behandletRefusionsbekræftelse

Kurvhændelser

HændelseTriggerAnvendelse
cart_createdVarer lagt i kurvBrowse-sporing
cart_updatedKurv ændretSporing af kurvværdi
cart_abandonedIngen checkout i 30 min.Genoprettelsesmails

Aktiverede skills

Shopify-konnektoren aktiverer disse skills:

SkillBeskrivelse
Customer SyncRealtidssynkronisering af kunder
Order EventsSporing af ordrelivscyklus
Abandoned CartE-mails til genoprettelse af kurv
Welcome SeriesOnboarding af nye kunder
Post-PurchaseOpfølgning efter ordre
Win-BackGenengagér inaktive kunder
Browse AbandonmentOpfølgning på produktinteresse
ReplenishmentGenbestillingspåmindelser

Kodeeksempler

Initialisér konnektor

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 indledende synkronisering

// 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 kurvhændelser

Tilføj Tajo-scriptet til dit 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>

Brugerdefineret webhook-handler

// 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ågning

Dashboard-metrikker

Overvåg din Shopify-forbindelse i Tajo-dashboardet:

  • Synkroniseringsstatus: Realtids-forbindelsestilstand
  • Synkroniserede kunder: Samlet antal kontakter fra Shopify
  • Sporede ordrer: Behandlede ordrehændelser
  • Kurvgenoprettelse: Performance for forladte kurve
  • Fejlrate: Mislykkede synkroniseringsforsøg

Webhook-logfiler

Se webhook-leveringsstatus:

Terminal window
tajo connectors logs shopify --type webhook --last 24h

Synkroniseringshistorik

Tjek historiske synkroniseringsoperationer:

Terminal window
tajo connectors history shopify --limit 10

Fejlfinding

Almindelige problemer

API-ratebegrænsninger

Shopify har API-ratebegrænsninger på 2 forespørgsler/sekund. Brug batch-synkronisering til store historiske importer.

ProblemÅrsagLøsning
Webhook ikke modtagetApp-rettighederGeninstallér appen med de korrekte scopes
Kunde ikke synkroniseretManglende e-mailShopify kræver e-mail for kunder
Produkter manglerProduktstatusTjek, at produktet har statussen “active”
Kurv ikke sporetScript ikke indlæstVerificér script i theme.liquid

Fejlfindingstilstand

Aktivér udførlig logning:

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

Test forbindelse

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

Best practices

  1. Start med en testbutik - Brug en udviklingsbutik først
  2. Kør indledende synkronisering uden for arbejdstid - Store synkroniseringer kan være langsomme
  3. Map brugerdefinerede attributter - Stol ikke kun på standardmappings
  4. Aktivér kurvsporing - Kritisk for genoprettelse af forladte kurve
  5. Overvåg webhook-sundhed - Opsæt advarsler for mislykkede leveringer
  6. Brug batch-importer - Til historiske data over 10.000 poster

Sikkerhed

  • OAuth 2.0 - Sikker tokenbaseret autentifikation
  • Webhook-verifikation - HMAC-signaturvalidering
  • Krypteret lagring - API-legitimationsoplysninger krypteres i hvile
  • Scoped adgang - Kun minimumskrævede rettigheder

Relaterede ressourcer

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

AI-assistent

Hej! Spørg mig om dokumentationen.

Start gratis med Brevo