Konektor Shopify
Konektor Shopify
Propoj svůj Shopify obchod s Brevo pro kompletní synchronizaci zákaznických dat, obnovu opuštěných košíků a automatizované marketingové kampaně.
Přehled
| Vlastnost | Hodnota |
|---|---|
| Platforma | Shopify |
| Kategorie | E-commerce |
| Složitost nastavení | Snadná |
| Oficiální integrace | Ano |
| Synchronizovaná data | Zákazníci, Objednávky, Produkty, Košíky, Události |
| Dostupné skilly | 12 |
Funkce
- Real-time synchronizace zákazníků - Data zákazníků se okamžitě synchronizují s kontakty Brevo
- Sledování objednávek - Události objednávek pro post-purchase flow
- Synchronizace katalogu produktů - Produkty dostupné pro doporučení
- Opuštěné košíky - Sleduj a obnovuj opuštěné košíky
- Chování při prohlížení - Sledování zhlédnutých stránek a zájmu o produkty
- Podpora více obchodů - Propoj více Shopify obchodů
Předpoklady
Než začneš, ujisti se, že máš:
- Shopify obchod s administrátorským přístupem
- Brevo účet s API přístupem
- Tajo účet
Instalace
Možnost 1: Shopify App Store (doporučeno)
- Navštiv Tajo aplikaci v Shopify App Store
- Klikni na “Přidat aplikaci”
- Udělej souhlas s požadovanými oprávněními
- Propoj svůj Brevo účet
Možnost 2: Manuální instalace
Krok 1: Vytvoř Shopify aplikaci
- Jdi do Shopify adminu → Settings → Apps and sales channels
- Klikni na “Develop apps” → “Create an app”
- Pojmenuj ji “Tajo Integration”
Krok 2: Nakonfiguruj API rozsahy
Povol tyto rozsahy:
read_customerswrite_customersread_ordersread_productsread_checkoutswrite_script_tagsKrok 3: Nainstaluj aplikaci
# Using Tajo CLItajo connectors install shopify \ --shop-url your-store.myshopify.com \ --api-key $SHOPIFY_API_KEY \ --api-secret $SHOPIFY_API_SECRETKrok 4: Nakonfiguruj webhooky
Tajo automaticky registruje tyto webhooky:
| Webhook | Účel |
|---|---|
customers/create | Synchronizace nového zákazníka |
customers/update | Změny zákaznických dat |
customers/delete | Smazání zákazníka |
orders/create | Události vytvořené objednávky |
orders/updated | Změny statusu objednávky |
checkouts/create | Vytvoření košíku |
checkouts/update | Aktualizace košíku |
Konfigurace
Základní nastavení
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: 7Mapování polí
Namapuj Shopify pole na atributy kontaktů Brevo:
Výchozí mapování
| Parameter | Type | Description |
|---|---|---|
email required | string | Email zákazníka (unikátní identifikátor) |
first_name optional | string | Mapuje se na atribut FIRSTNAME |
last_name optional | string | Mapuje se na atribut LASTNAME |
phone optional | string | Mapuje se na atribut SMS pro WhatsApp/SMS |
accepts_marketing optional | boolean | Řídí status předplatného |
orders_count optional | integer | Celkový počet objednávek |
total_spent optional | number | Celoživotní hodnota zákazníka |
tags optional | array | Tagy zákazníka ze Shopify |
Mapování vlastních atributů
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: RECENCYSynchronizace produktů
Synchronizuj produkty pro doporučení v emailech:
sync: products: enabled: true include_variants: true include_images: true categories_as_tags: true
# Filter products filter: status: active exclude_tags: ["hidden", "wholesale-only"]Sledování inventáře
Zapni synchronizaci stavu skladu:
sync: inventory: enabled: true low_stock_threshold: 10 out_of_stock_events: trueUdálosti
Události zákazníků
| Událost | Spouštěč | Použití |
|---|---|---|
customer_created | Registrace nového zákazníka | Welcome série |
customer_updated | Změny v profilu | Synchronizace dat |
customer_tags_added | Přiřazení tagů | Aktualizace segmentů |
Události objednávek
| Událost | Spouštěč | Použití |
|---|---|---|
order_placed | Dokončený checkout | Potvrzení objednávky |
order_fulfilled | Odeslání objednávky | Notifikace o odeslání |
order_cancelled | Zrušení objednávky | Email o zrušení |
order_refunded | Zpracování vrácení | Potvrzení vrácení |
Události košíku
| Událost | Spouštěč | Použití |
|---|---|---|
cart_created | Přidání položek do košíku | Sledování procházení |
cart_updated | Úprava košíku | Sledování hodnoty košíku |
cart_abandoned | Bez checkoutu do 30 min | Emaily pro obnovu |
Zapnuté skilly
Konektor Shopify zapíná tyto skilly:
| Skill | Popis |
|---|---|
| Customer Sync | Real-time synchronizace zákazníků |
| Order Events | Sledování životního cyklu objednávky |
| Abandoned Cart | Emaily pro obnovu košíku |
| Welcome Series | Onboarding nových zákazníků |
| Post-Purchase | Následné emaily po objednávce |
| Win-Back | Znovuzískání neaktivních zákazníků |
| Browse Abandonment | Následný kontakt po zájmu o produkt |
| Replenishment | Připomínky opakovaných objednávek |
Příklady kódu
Inicializace konektoru
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});Spuštění úvodní synchronizace
// 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// }Sledování událostí košíku
Přidej Tajo skript do svého Shopify tématu:
<!-- 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>Vlastní 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
Metriky dashboardu
Sleduj své Shopify připojení v dashboardu Tajo:
- Status synchronizace: Zdraví připojení v reálném čase
- Synchronizovaní zákazníci: Celkový počet kontaktů ze Shopify
- Sledované objednávky: Zpracované události objednávek
- Obnova košíku: Výkonnost opuštěných košíků
- Míra chyb: Neúspěšné pokusy o synchronizaci
Logy webhooků
Zobraz status doručení webhooků:
tajo connectors logs shopify --type webhook --last 24hHistorie synchronizace
Zkontroluj historické synchronizační operace:
tajo connectors history shopify --limit 10Řešení problémů
Časté problémy
API Rate Limits
Shopify má API rate limity 2 requesty/sekundu. Pro rozsáhlé historické importy použij batch sync.
| Problém | Příčina | Řešení |
|---|---|---|
| Webhook nepřichází | Oprávnění aplikace | Znovu nainstaluj aplikaci se správnými rozsahy |
| Zákazník nesynchronizován | Chybí email | Shopify vyžaduje email pro zákazníky |
| Chybí produkty | Status produktu | Zkontroluj, že produkt má status “active” |
| Košík se nesleduje | Skript nenahrán | Ověř skript v theme.liquid |
Debug režim
Zapni detailní logování:
connectors: shopify: debug: true log_level: verbose log_webhooks: trueTest připojení
tajo connectors test shopify# ✓ API connection successful# ✓ Webhooks registered# ✓ Products accessible# ✓ Customers readable# ✓ Orders readableBest practices
- Začni s testovacím obchodem - Nejprve použij development obchod
- Úvodní synchronizaci spusť mimo špičku - Velké synchronizace mohou být pomalé
- Namapuj vlastní atributy - Nespoléhej jen na výchozí mapování
- Zapni sledování košíku - Klíčové pro obnovu opuštěných košíků
- Sleduj zdraví webhooků - Nastav si alerty pro neúspěšná doručení
- Používej batch importy - Pro historická data přes 10 000 záznamů
Bezpečnost
- OAuth 2.0 - Bezpečná autentizace založená na tokenech
- Ověření webhooků - Validace HMAC podpisu
- Šifrované úložiště - API přihlašovací údaje šifrovány v klidu
- Omezený přístup - Pouze minimum požadovaných oprávnění