Shopify Connector
Shopify Connector
Poveži svojo Shopify trgovino z Brevo za popolno sinhronizacijo podatkov o strankah, obnovo zapuščenih košaric in avtomatizirane marketinške kampanje.
Pregled
| Lastnost | Vrednost |
|---|---|
| Platforma | Shopify |
| Kategorija | E-commerce |
| Zahtevnost nastavitve | Enostavna |
| Uradna integracija | Da |
| Sinhronizirani podatki | Stranke, naročila, izdelki, košarice, dogodki |
| Razpoložljivi Skills | 12 |
Funkcionalnosti
- Sinhronizacija strank v realnem času – podatki strank se takoj sinhronizirajo v stike Brevo
- Sledenje naročilom – dogodki naročil za tokove po nakupu
- Sinhronizacija kataloga izdelkov – izdelki na voljo za priporočila
- Opuščanje košarice – sledi in obnovi zapuščene košarice
- Vedenje pri brskanju – sledenje ogledom strani in zanimanju za izdelke
- Podpora za več trgovin – poveži več Shopify trgovin
Predpogoji
Preden začneš, se prepričaj, da imaš:
- Shopify trgovino z administratorskim dostopom
- Brevo račun z dostopom do API
- Tajo račun
Namestitev
Možnost 1: Shopify App Store (priporočeno)
- Obišči Tajo aplikacijo v Shopify App Store
- Klikni “Add app”
- Odobri zahtevana dovoljenja
- Poveži svoj Brevo račun
Možnost 2: Ročna namestitev
Korak 1: Ustvari Shopify aplikacijo
- V Shopify admin pojdi na Settings → Apps and sales channels
- Klikni “Develop apps” → “Create an app”
- Poimenuj jo “Tajo Integration”
Korak 2: Nastavi API obsege
Omogoči te obsege:
read_customerswrite_customersread_ordersread_productsread_checkoutswrite_script_tagsKorak 3: Namesti aplikacijo
# Using Tajo CLItajo connectors install shopify \ --shop-url your-store.myshopify.com \ --api-key $SHOPIFY_API_KEY \ --api-secret $SHOPIFY_API_SECRETKorak 4: Nastavi webhooke
Tajo samodejno registrira naslednje webhooke:
| Webhook | Namen |
|---|---|
customers/create | Sinhronizacija novih strank |
customers/update | Spremembe podatkov stranke |
customers/delete | Odstranitev stranke |
orders/create | Dogodki oddanih naročil |
orders/updated | Spremembe statusa naročila |
checkouts/create | Ustvarjena košarica |
checkouts/update | Posodobljena košarica |
Konfiguracija
Osnovna nastavitev
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: 7Preslikava polj
Preslikaj polja Shopify v atribute stikov Brevo:
Privzete preslikave
| Parameter | Type | Description |
|---|---|---|
email required | string | E-mail stranke (enolični identifikator) |
first_name optional | string | Preslika se v atribut FIRSTNAME |
last_name optional | string | Preslika se v atribut LASTNAME |
phone optional | string | Preslika se v atribut SMS za WhatsApp/SMS |
accepts_marketing optional | boolean | Upravlja status naročnine |
orders_count optional | integer | Skupno število naročil |
total_spent optional | number | Življenjska vrednost stranke |
tags optional | array | Oznake stranke iz Shopify |
Preslikava atributov po meri
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: RECENCYSinhronizacija izdelkov
Sinhroniziraj izdelke za priporočila v e-mailih:
sync: products: enabled: true include_variants: true include_images: true categories_as_tags: true
# Filter products filter: status: active exclude_tags: ["hidden", "wholesale-only"]Sledenje zalogi
Omogoči sinhronizacijo nivoja zaloge:
sync: inventory: enabled: true low_stock_threshold: 10 out_of_stock_events: trueDogodki
Dogodki strank
| Dogodek | Sprožilec | Primer uporabe |
|---|---|---|
customer_created | Registracija nove stranke | Pozdravna serija |
customer_updated | Spremembe profila | Sinhronizacija podatkov |
customer_tags_added | Dodeljene oznake | Posodobitev segmentov |
Dogodki naročil
| Dogodek | Sprožilec | Primer uporabe |
|---|---|---|
order_placed | Zaključen checkout | Potrditev naročila |
order_fulfilled | Naročilo odpremljeno | Obvestilo o pošiljanju |
order_cancelled | Naročilo preklicano | E-mail o preklicu |
order_refunded | Obdelano vračilo | Potrditev vračila |
Dogodki košarice
| Dogodek | Sprožilec | Primer uporabe |
|---|---|---|
cart_created | Artikli dodani v košarico | Sledenje brskanja |
cart_updated | Košarica spremenjena | Sledenje vrednosti košarice |
cart_abandoned | Brez checkouta v 30 min | E-maili za obnovitev |
Omogočeni Skills
Shopify konektor omogoča naslednje Skills:
| Skill | Opis |
|---|---|
| Customer Sync | Sinhronizacija strank v realnem času |
| Order Events | Sledenje življenjskemu ciklu naročila |
| Abandoned Cart | E-maili za obnovo košarice |
| Welcome Series | Uvajanje novih strank |
| Post-Purchase | Sledenje po naročilu |
| Win-Back | Ponovno vključevanje neaktivnih strank |
| Browse Abandonment | Sledenje zanimanju za izdelek |
| Replenishment | Opomniki za ponovna naročila |
Primeri kode
Inicializacija konektorja
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});Zagon začetne sinhronizacije
// 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// }Sledenje dogodkom košarice
Dodaj Tajo skripto v svojo Shopify temo:
<!-- 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>Webhook handler po meri
// 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');});Spremljanje
Metrike nadzorne plošče
Spremljaj svojo Shopify povezavo v Tajo nadzorni plošči:
- Status sinhronizacije: zdravje povezave v realnem času
- Sinhronizirane stranke: skupno število stikov iz Shopify
- Sledena naročila: obdelani dogodki naročil
- Obnova košarice: uspešnost zapuščenih košaric
- Stopnja napak: neuspeli poskusi sinhronizacije
Dnevniki webhookov
Preglej status dostave webhookov:
tajo connectors logs shopify --type webhook --last 24hZgodovina sinhronizacij
Preglej pretekle sinhronizacije:
tajo connectors history shopify --limit 10Odpravljanje težav
Pogoste težave
API omejitve
Shopify ima omejitve API 2 zahtevka/sekundo. Za velike zgodovinske uvoze uporabi paketno sinhronizacijo.
| Težava | Vzrok | Rešitev |
|---|---|---|
| Webhook ni sprejet | Dovoljenja aplikacije | Ponovno namesti aplikacijo s pravilnimi obsegi |
| Stranka ni sinhronizirana | Manjka e-mail | Shopify zahteva e-mail za stranke |
| Manjkajo izdelki | Status izdelka | Preveri, ali je izdelek v statusu “active” |
| Košarica ni sledena | Skripta ni naložena | Preveri skripto v theme.liquid |
Način odpravljanja napak
Omogoči podrobno beleženje:
connectors: shopify: debug: true log_level: verbose log_webhooks: truePreizkus povezave
tajo connectors test shopify# ✓ API connection successful# ✓ Webhooks registered# ✓ Products accessible# ✓ Customers readable# ✓ Orders readableNajboljše prakse
- Začni s testno trgovino – najprej uporabi razvojno trgovino
- Začetno sinhronizacijo izvedi izven konic – velike sinhronizacije so lahko počasne
- Preslikaj atribute po meri – ne zanašaj se le na privzete preslikave
- Omogoči sledenje košarici – ključno za obnovo zapuščenih košaric
- Spremljaj zdravje webhookov – nastavi opozorila za neuspele dostave
- Uporabi paketne uvoze – za zgodovinske podatke nad 10.000 zapisov
Varnost
- OAuth 2.0 – varna avtentikacija na osnovi žetonov
- Preverjanje webhookov – validacija HMAC podpisa
- Šifrirano shranjevanje – API poverilnice so šifrirane v mirovanju
- Obsegana dostopna pravica – samo minimalno potrebna dovoljenja