Conector Shopify
Conector Shopify
Conectează-ți magazinul Shopify la Brevo pentru sincronizare completă a datelor clienților, recuperare coșuri abandonate și campanii de marketing automatizate.
Prezentare generală
| Proprietate | Valoare |
|---|---|
| Platformă | Shopify |
| Categorie | E-commerce |
| Complexitate setup | Ușoară |
| Integrare oficială | Da |
| Date sincronizate | Clienți, Comenzi, Produse, Coșuri, Evenimente |
| Skill-uri disponibile | 12 |
Funcționalități
- Sincronizare clienți în timp real - Datele clienților sincronizate instant în contactele Brevo
- Urmărire comenzi - Evenimente de comandă pentru fluxurile post-cumpărare
- Sincronizare catalog produse - Produsele disponibile pentru recomandări
- Abandonarea coșului - Urmărește și recuperează coșurile abandonate
- Comportament de navigare - Urmărirea vizualizărilor de pagină și a interesului pentru produse
- Suport multi-magazin - Conectează mai multe magazine Shopify
Cerințe preliminare
Înainte să începi, asigură-te că ai:
- Un magazin Shopify cu acces de administrator
- Un cont Brevo cu acces API
- Un cont Tajo
Instalare
Opțiunea 1: Shopify App Store (Recomandat)
- Vizitează aplicația Tajo în Shopify App Store
- Apasă „Add app”
- Acordă permisiunile solicitate
- Conectează-ți contul Brevo
Opțiunea 2: Instalare manuală
Pasul 1: Creează o aplicație Shopify
- Mergi la admin-ul Shopify → Settings → Apps and sales channels
- Apasă „Develop apps” → „Create an app”
- Numește-o „Tajo Integration”
Pasul 2: Configurează scope-urile API
Activează aceste scope-uri:
read_customerswrite_customersread_ordersread_productsread_checkoutswrite_script_tagsPasul 3: Instalează aplicația
# Using Tajo CLItajo connectors install shopify \ --shop-url your-store.myshopify.com \ --api-key $SHOPIFY_API_KEY \ --api-secret $SHOPIFY_API_SECRETPasul 4: Configurează webhook-urile
Tajo înregistrează automat aceste webhook-uri:
| Webhook | Scop |
|---|---|
customers/create | Sincronizare clienți noi |
customers/update | Modificări ale datelor clienților |
customers/delete | Ștergere clienți |
orders/create | Evenimente de plasare comandă |
orders/updated | Modificări ale statusului comenzii |
checkouts/create | Coș creat |
checkouts/update | Coș actualizat |
Configurare
Setup de bază
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: 7Mapare câmpuri
Mapează câmpurile Shopify la atributele contactelor Brevo:
Mapări implicite
| Parameter | Type | Description |
|---|---|---|
email required | string | Email-ul clientului (identificator unic) |
first_name optional | string | Se mapează la atributul FIRSTNAME |
last_name optional | string | Se mapează la atributul LASTNAME |
phone optional | string | Se mapează la atributul SMS pentru WhatsApp/SMS |
accepts_marketing optional | boolean | Controlează statusul abonării |
orders_count optional | integer | Numărul total de comenzi |
total_spent optional | number | Valoarea clientului pe toată durata |
tags optional | array | Tag-uri ale clientului din Shopify |
Mapare atribute personalizate
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: RECENCYSincronizare produse
Sincronizează produsele pentru recomandări prin email:
sync: products: enabled: true include_variants: true include_images: true categories_as_tags: true
# Filter products filter: status: active exclude_tags: ["hidden", "wholesale-only"]Urmărire inventar
Activează sincronizarea nivelurilor de stoc:
sync: inventory: enabled: true low_stock_threshold: 10 out_of_stock_events: trueEvenimente
Evenimente clienți
| Eveniment | Declanșator | Caz de utilizare |
|---|---|---|
customer_created | Înregistrare client nou | Serie de bun venit |
customer_updated | Modificări de profil | Sincronizare date |
customer_tags_added | Tag-uri atribuite | Actualizări segmente |
Evenimente comandă
| Eveniment | Declanșator | Caz de utilizare |
|---|---|---|
order_placed | Finalizare checkout | Confirmare comandă |
order_fulfilled | Comandă expediată | Notificare expediere |
order_cancelled | Comandă anulată | Email de anulare |
order_refunded | Rambursare procesată | Confirmare rambursare |
Evenimente coș
| Eveniment | Declanșator | Caz de utilizare |
|---|---|---|
cart_created | Articole adăugate în coș | Urmărire navigare |
cart_updated | Coș modificat | Urmărire valoare coș |
cart_abandoned | Fără checkout timp de 30 min | Email-uri de recuperare |
Skill-uri activate
Conectorul Shopify activează aceste skill-uri:
| Skill | Descriere |
|---|---|
| Customer Sync | Sincronizare clienți în timp real |
| Order Events | Urmărirea ciclului de viață al comenzii |
| Abandoned Cart | Email-uri de recuperare coș |
| Welcome Series | Onboarding clienți noi |
| Post-Purchase | Follow-up comandă |
| Win-Back | Reactivare clienți inactivi |
| Browse Abandonment | Follow-up interes pentru produse |
| Replenishment | Reminder-uri de re-comandare |
Exemple de cod
Inițializarea conectorului
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});Rulează sincronizarea inițială
// 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// }Urmărește evenimentele coșului
Adaugă script-ul Tajo în tema ta Shopify:
<!-- 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>Handler personalizat pentru webhook
// 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');});Monitorizare
Metrici din dashboard
Monitorizează-ți conexiunea Shopify în dashboard-ul Tajo:
- Status sincronizare: Sănătatea conexiunii în timp real
- Clienți sincronizați: Total contacte din Shopify
- Comenzi urmărite: Evenimente de comandă procesate
- Recuperare coș: Performanța coșurilor abandonate
- Rată erori: Tentative de sincronizare eșuate
Loguri webhook
Vizualizează statusul livrării webhook-urilor:
tajo connectors logs shopify --type webhook --last 24hIstoric sincronizări
Verifică operațiunile istorice de sincronizare:
tajo connectors history shopify --limit 10Depanare
Probleme frecvente
Limite rată API
Shopify are limite de rată API de 2 cereri/secundă. Folosește sincronizarea batch pentru importuri istorice mari.
| Problemă | Cauză | Soluție |
|---|---|---|
| Webhook neprimit | Permisiunile aplicației | Reinstalează aplicația cu scope-urile corecte |
| Client nesincronizat | Lipsește email-ul | Shopify necesită email pentru clienți |
| Produse lipsă | Statusul produsului | Verifică dacă produsul este „active” |
| Coș neurmărit | Script neîncărcat | Verifică script-ul în theme.liquid |
Modul debug
Activează logarea detaliată:
connectors: shopify: debug: true log_level: verbose log_webhooks: trueTestează conexiunea
tajo connectors test shopify# ✓ API connection successful# ✓ Webhooks registered# ✓ Products accessible# ✓ Customers readable# ✓ Orders readableBune practici
- Începe cu un magazin de test - Folosește mai întâi un magazin de development
- Rulează sincronizarea inițială în afara orelor de vârf - Sincronizările mari pot fi lente
- Mapează atribute personalizate - Nu te baza doar pe mapările implicite
- Activează urmărirea coșului - Critic pentru recuperarea coșului abandonat
- Monitorizează sănătatea webhook-urilor - Configurează alerte pentru livrările eșuate
- Folosește importuri batch - Pentru date istorice de peste 10.000 de înregistrări
Securitate
- OAuth 2.0 - Autentificare sigură bazată pe token
- Verificare webhook - Validare semnătură HMAC
- Stocare criptată - Credențialele API sunt criptate în repaus
- Acces restricționat - Numai permisiunile minime necesare