Shopify-connector
Connectorstatus: In ontwikkeling In aanbouw. Nog niet geverifieerd.
Illustratie · voorbeelddata
Voorbeeld van synchronisatie
Bron
Shopify
Connectorstatus: In ontwikkeling
Bestemming
Je andere tool
Connectorstatus: Eigen tool
Veldtoewijzing
| Bronveld | Doelveld | Voorbeeldwaarde |
|---|---|---|
record.id | source_id | record_1042 |
record.updated_at | updated_at | 2026-10-18T08:00:00Z |
record.value | value | sample_value |
- Opstellen
- Eén record controleren
- Deze versie goedkeuren
Statussen gelden per connector en garanderen niet dat deze synchronisatie klaar is. De velden zijn illustratief. Controleer het echte schema en de rechten voordat een synchronisatie draait.
Verbind je Shopify-winkel met Brevo voor volledige klantdatasynchronisatie, abandoned-cart-recovery en geautomatiseerde marketingcampagnes.
Overzicht
| Eigenschap | Waarde |
|---|---|
| Platform | Shopify |
| Categorie | E-commerce |
| Setupcomplexiteit | Eenvoudig |
| Officiële integratie | Nee |
| Gesynchroniseerde data | Klanten, Bestellingen, Producten, Winkelwagens, Events |
| Beschikbare skills | 12 |
Functies
- Realtime klantsync - Klantdata direct gesynchroniseerd naar Brevo-contacten
- Ordertracking - Order-events voor post-purchase-flows
- Productcatalogus-sync - Producten beschikbaar voor aanbevelingen
- Winkelwagenherstel - Volg en herstel verlaten winkelwagens
- Browsegedrag - Tracking van paginaweergaven en productinteresse
- Multi-store-ondersteuning - Verbind meerdere Shopify-winkels
Vereisten
Voordat je begint, zorg dat je beschikt over:
- Een Shopify-winkel met admin-toegang
- Een Brevo-account met API-toegang
- Een Tajo-account
Installatie
Optie 1: Shopify App Store (aanbevolen)
- Bezoek de Tajo-app in de Shopify App Store
- Klik op “Add app”
- Verleen de gevraagde permissies
- Verbind je Brevo-account
Optie 2: Handmatige installatie
Stap 1: Maak een Shopify-app
- Ga naar je Shopify-admin → Settings → Apps and sales channels
- Klik op “Develop apps” → “Create an app”
- Noem hem “Tajo Integration”
Stap 2: Configureer API-scopes
Activeer deze scopes:
read_customerswrite_customersread_ordersread_productsread_checkoutswrite_script_tagsStap 3: Installeer de app
# Using Tajo CLItajo connectors install shopify \ --shop-url your-store.myshopify.com \ --api-key $SHOPIFY_API_KEY \ --api-secret $SHOPIFY_API_SECRETStap 4: Configureer webhooks
Tajo registreert automatisch deze webhooks:
| Webhook | Doel |
|---|---|
customers/create | Synchronisatie nieuwe klant |
customers/update | Wijzigingen in klantgegevens |
customers/delete | Verwijdering van klant |
orders/create | Events voor geplaatste bestellingen |
orders/updated | Wijzigingen in orderstatus |
checkouts/create | Winkelwagen aangemaakt |
checkouts/update | Winkelwagen bijgewerkt |
Configuratie
Basisopzet
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: 7Veldmapping
Koppel Shopify-velden aan Brevo-contactattributen:
Standaard-mappings
| Parameter | Type | Description |
|---|---|---|
email required | string | E-mailadres van de klant (unieke identifier) |
first_name optional | string | Koppelt aan FIRSTNAME-attribuut |
last_name optional | string | Koppelt aan LASTNAME-attribuut |
phone optional | string | Koppelt aan SMS-attribuut voor WhatsApp/sms |
accepts_marketing optional | boolean | Bepaalt de abonnementsstatus |
orders_count optional | integer | Totaal aantal bestellingen |
total_spent optional | number | Lifetime-klantwaarde |
tags optional | array | Klanttags uit Shopify |
Custom attribuutmapping
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: RECENCYProductsync
Synchroniseer producten voor e-mailaanbevelingen:
sync: products: enabled: true include_variants: true include_images: true categories_as_tags: true
# Filter products filter: status: active exclude_tags: ["hidden", "wholesale-only"]Voorraadtracking
Activeer synchronisatie van voorraadniveaus:
sync: inventory: enabled: true low_stock_threshold: 10 out_of_stock_events: trueEvents
Klant-events
| Event | Trigger | Use case |
|---|---|---|
customer_created | Nieuwe klantregistratie | Welkomstserie |
customer_updated | Profielwijzigingen | Datasync |
customer_tags_added | Tags toegewezen | Segmentupdates |
Order-events
| Event | Trigger | Use case |
|---|---|---|
order_placed | Checkout afgerond | Orderbevestiging |
order_fulfilled | Bestelling verzonden | Verzendnotificatie |
order_cancelled | Bestelling geannuleerd | Annuleringsmail |
order_refunded | Terugbetaling verwerkt | Terugbetalingsbevestiging |
Cart-events
| Event | Trigger | Use case |
|---|---|---|
cart_created | Items toegevoegd aan winkelwagen | Browse-tracking |
cart_updated | Winkelwagen aangepast | Waardetracking |
cart_abandoned | Geen checkout binnen 30 min | Recovery-e-mails |
Ingeschakelde skills
De Shopify-connector schakelt deze skills in:
| Skill | Beschrijving |
|---|---|
| Customer Sync | Realtime-klantsync |
| Order Events | Order-lifecycle-tracking |
| Abandoned Cart | Winkelwagenherstel-e-mails |
| Welcome Series | Onboarding van nieuwe klanten |
| Post-Purchase | Order-opvolging |
| Win-Back | Reactivering van inactieve klanten |
| Browse Abandonment | Opvolging van productinteresse |
| Replenishment | Herbestel-herinneringen |
Codevoorbeelden
Connector initialiseren
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});Voer initiële sync uit
// 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// }Cart-events tracken
Voeg het Tajo-script toe aan je Shopify-thema:
<!-- 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
Het example.com-adres hierboven is een placeholder totdat het Tajo-endpoint beschikbaar is.
Custom webhook-handler
// 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');});Monitoring
Dashboardmetrics
Monitor je Shopify-verbinding in het Tajo-dashboard:
- Syncstatus: Realtime-conditie van de verbinding
- Gesynchroniseerde klanten: Totaal aantal contacten uit Shopify
- Getrackte bestellingen: Verwerkte order-events
- Winkelwagenherstel: Prestaties van abandoned-cart
- Foutpercentage: Mislukte sync-pogingen
Webhook-logs
Bekijk de deliverystatus van webhooks:
tajo connectors logs shopify --type webhook --last 24hSynchronisatiegeschiedenis
Raadpleeg historische sync-operaties:
tajo connectors history shopify --limit 10Probleemoplossing
Veelvoorkomende problemen
API-ratelimits
Shopify hanteert API-ratelimits van 2 requests/seconde. Gebruik batch-sync voor grote historische imports.
| Probleem | Oorzaak | Oplossing |
|---|---|---|
| Webhook niet ontvangen | App-permissies | Herinstalleer de app met de juiste scopes |
| Klant niet gesynchroniseerd | Ontbrekende e-mail | Shopify vereist een e-mailadres voor klanten |
| Producten ontbreken | Productstatus | Controleer of het product op “active” staat |
| Winkelwagen niet getrackt | Script niet geladen | Verifieer script in theme.liquid |
Debugmodus
Activeer uitgebreide logging:
connectors: shopify: debug: true log_level: verbose log_webhooks: trueVerbinding testen
tajo connectors test shopify# ✓ API connection successful# ✓ Webhooks registered# ✓ Products accessible# ✓ Customers readable# ✓ Orders readableBest practices
- Begin met een testwinkel - Gebruik eerst een development store
- Doe de initiële sync buiten drukke uren - Grote syncs kunnen traag zijn
- Koppel custom-attributen - Vertrouw niet alleen op de standaardmappings
- Schakel winkelwagentracking in - Cruciaal voor abandoned-cart-recovery
- Monitor webhook-gezondheid - Stel alerts in voor mislukte leveringen
- Gebruik batch-imports - Voor historische data van meer dan 10.000 records
Beveiliging
- OAuth 2.0 - Veilige tokengebaseerde authenticatie
- Webhook-verificatie - HMAC-handtekeningvalidatie
- Versleutelde opslag - API-inloggegevens versleuteld opgeslagen
- Gescopede toegang - Alleen minimaal benodigde permissies