Konektor Shopify

Konektor Shopify

Połącz swój sklep Shopify z Brevo, aby uzyskać pełną synchronizację danych klientów, odzyskiwanie porzuconych koszyków i automatyzowane kampanie marketingowe.

Przegląd

WłaściwośćWartość
PlatformaShopify
KategoriaE-commerce
Poziom konfiguracjiŁatwy
Integracja oficjalnaTak
Synchronizowane daneKlienci, Zamówienia, Produkty, Koszyki, Zdarzenia
Dostępne Skills12

Funkcje

  • Synchronizacja klientów w czasie rzeczywistym - Dane klientów natychmiast synchronizowane do kontaktów Brevo
  • Śledzenie zamówień - Zdarzenia zamówień dla flow po zakupie
  • Synchronizacja katalogu produktów - Produkty dostępne do rekomendacji
  • Porzucone koszyki - Śledź i odzyskuj porzucone koszyki
  • Zachowanie przeglądania - Śledzenie wyświetleń stron i zainteresowania produktami
  • Obsługa multi-store - Podłącz wiele sklepów Shopify

Wymagania wstępne

Zanim zaczniesz, upewnij się, że masz:

  1. Sklep Shopify z dostępem administratora
  2. Konto Brevo z dostępem do API
  3. Konto Tajo

Instalacja

Opcja 1: Shopify App Store (zalecane)

  1. Odwiedź aplikację Tajo w Shopify App Store
  2. Kliknij „Add app”
  3. Udziel wymaganych uprawnień
  4. Połącz swoje konto Brevo

Opcja 2: Instalacja manualna

Krok 1: Utwórz aplikację Shopify

  1. Przejdź do panelu administracyjnego Shopify → Settings → Apps and sales channels
  2. Kliknij „Develop apps” → „Create an app”
  3. Nazwij ją „Tajo Integration”

Krok 2: Skonfiguruj zakresy API

Włącz następujące zakresy:

read_customers
write_customers
read_orders
read_products
read_checkouts
write_script_tags

Krok 3: Zainstaluj aplikację

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

Krok 4: Skonfiguruj webhooki

Tajo automatycznie rejestruje następujące webhooki:

WebhookCel
customers/createSynchronizacja nowego klienta
customers/updateZmiany danych klienta
customers/deleteUsunięcie klienta
orders/createZdarzenia złożenia zamówienia
orders/updatedZmiany statusu zamówienia
checkouts/createUtworzenie koszyka
checkouts/updateAktualizacja koszyka

Konfiguracja

Podstawowa konfiguracja

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

Mapowanie pól

Zmapuj pola Shopify na atrybuty kontaktów Brevo:

Mapowania domyślne

Parameter Type Description
email required
string

E-mail klienta (unikalny identyfikator)

first_name optional
string

Mapuje się na atrybut FIRSTNAME

last_name optional
string

Mapuje się na atrybut LASTNAME

phone optional
string

Mapuje się na atrybut SMS dla WhatsApp/SMS

accepts_marketing optional
boolean

Kontroluje status subskrypcji

orders_count optional
integer

Łączna liczba zamówień

total_spent optional
number

Wartość klienta w całym cyklu życia

tags optional
array

Tagi klienta z Shopify

Niestandardowe mapowanie atrybutów

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

Synchronizacja produktów

Synchronizuj produkty do rekomendacji e-mailowych:

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

Śledzenie stanów magazynowych

Włącz synchronizację poziomów magazynowych:

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

Zdarzenia

Zdarzenia klienta

ZdarzenieWyzwalaczZastosowanie
customer_createdRejestracja nowego klientaSeria powitalna
customer_updatedZmiany profiluSynchronizacja danych
customer_tags_addedPrzypisanie tagówAktualizacje segmentów

Zdarzenia zamówień

ZdarzenieWyzwalaczZastosowanie
order_placedZakończony checkoutPotwierdzenie zamówienia
order_fulfilledWysyłka zamówieniaPowiadomienie o wysyłce
order_cancelledAnulowanie zamówieniaE-mail o anulowaniu
order_refundedPrzetworzony zwrotPotwierdzenie zwrotu

Zdarzenia koszyka

ZdarzenieWyzwalaczZastosowanie
cart_createdDodanie produktów do koszykaŚledzenie przeglądania
cart_updatedModyfikacja koszykaŚledzenie wartości koszyka
cart_abandonedBrak checkoutu przez 30 minE-maile odzyskujące

Włączane Skills

Konektor Shopify włącza następujące Skills:

SkillOpis
Customer SyncSynchronizacja klientów w czasie rzeczywistym
Order EventsŚledzenie cyklu życia zamówień
Abandoned CartE-maile odzyskujące koszyk
Welcome SeriesOnboarding nowych klientów
Post-PurchaseFollow-up po zamówieniu
Win-BackReaktywacja nieaktywnych klientów
Browse AbandonmentFollow-up zainteresowania produktem
ReplenishmentPrzypomnienia o ponownym zamówieniu

Przykłady kodu

Inicjalizacja konektora

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
});

Uruchom wstępną synchronizację

// 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
// }

Śledzenie zdarzeń koszyka

Dodaj skrypt Tajo do swojego motywu 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>

Niestandardowy handler webhooków

// 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');
});

Monitoring

Metryki dashboardu

Monitoruj swoje połączenie Shopify w dashboardzie Tajo:

  • Status synchronizacji: Kondycja połączenia w czasie rzeczywistym
  • Zsynchronizowani klienci: Łączna liczba kontaktów z Shopify
  • Śledzone zamówienia: Przetworzone zdarzenia zamówień
  • Odzyskiwanie koszyków: Wyniki odzyskiwania porzuconych koszyków
  • Wskaźnik błędów: Nieudane próby synchronizacji

Logi webhooków

Wyświetl status dostarczania webhooków:

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

Historia synchronizacji

Sprawdź historyczne operacje synchronizacji:

Terminal window
tajo connectors history shopify --limit 10

Rozwiązywanie problemów

Typowe problemy

Limity API

Shopify ma limity API wynoszące 2 żądania/sekundę. Dla dużych importów historycznych używaj synchronizacji wsadowej.

ProblemPrzyczynaRozwiązanie
Webhook nie dotarłUprawnienia aplikacjiZainstaluj ponownie aplikację z poprawnymi zakresami
Klient nie zsynchronizowanyBrak adresu e-mailShopify wymaga e-maila dla klientów
Brak produktówStatus produktuSprawdź, czy produkt ma status „active”
Koszyk nie śledzonySkrypt nie załadowanyZweryfikuj skrypt w theme.liquid

Tryb debug

Włącz szczegółowe logowanie:

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

Test połączenia

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

Najlepsze praktyki

  1. Zacznij od sklepu testowego - Najpierw użyj sklepu deweloperskiego
  2. Uruchom wstępną synchronizację poza godzinami szczytu - Duże synchronizacje mogą być powolne
  3. Mapuj niestandardowe atrybuty - Nie polegaj wyłącznie na mapowaniach domyślnych
  4. Włącz śledzenie koszyka - Kluczowe dla odzyskiwania porzuconych koszyków
  5. Monitoruj kondycję webhooków - Skonfiguruj alerty dla nieudanych dostaw
  6. Używaj importów wsadowych - Dla danych historycznych powyżej 10 000 rekordów

Bezpieczeństwo

  • OAuth 2.0 - Bezpieczne uwierzytelnianie oparte na tokenach
  • Weryfikacja webhooków - Walidacja podpisu HMAC
  • Szyfrowane przechowywanie - Dane uwierzytelniające API szyfrowane w spoczynku
  • Ograniczony dostęp - Tylko minimum wymaganych uprawnień

Powiązane zasoby

Subscribe to updates

developer-docs

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

Asystent AI

Cześć! Zapytaj mnie o dokumentację.

Zacznij za darmo z Brevo