Shopify konektor

Shopify konektor

Poveži svoju Shopify prodavnicu sa Brevo za kompletnu sinhronizaciju podataka o kupcima, oporavak napuštene korpe i automatizovane marketing kampanje.

Pregled

SvojstvoVrednost
PlatformaShopify
KategorijaE-commerce
Složenost podešavanjaLako
Zvanična integracijaDa
Sinhronizovani podaciKupci, porudžbine, proizvodi, korpe, događaji
Dostupne veštine12

Karakteristike

  • Sinhronizacija kupaca u realnom vremenu - Podaci o kupcima se trenutno sinhronizuju sa Brevo kontaktima
  • Praćenje porudžbina - Događaji o porudžbinama za post-purchase tokove
  • Sinhronizacija kataloga proizvoda - Proizvodi dostupni za preporuke
  • Napuštanje korpe - Praćenje i oporavak napuštenih korpi
  • Ponašanje pregledanja - Praćenje pregleda stranica i interesovanja za proizvode
  • Multi-store podrška - Poveži više Shopify prodavnica

Preduslovi

Pre nego što započneš, proveri da imaš:

  1. Shopify prodavnicu sa admin pristupom
  2. Brevo nalog sa API pristupom
  3. Tajo nalog

Instalacija

Opcija 1: Shopify App Store (preporučeno)

  1. Poseti Tajo aplikaciju u Shopify App Store-u
  2. Klikni “Add app”
  3. Dozvoli tražene dozvole
  4. Poveži svoj Brevo nalog

Opcija 2: Ručna instalacija

Korak 1: Napravi Shopify aplikaciju

  1. Idi u Shopify admin → Settings → Apps and sales channels
  2. Klikni “Develop apps” → “Create an app”
  3. Nazovi je “Tajo Integration”

Korak 2: Konfiguriši API skopove

Omogući ove skopove:

read_customers
write_customers
read_orders
read_products
read_checkouts
write_script_tags

Korak 3: Instaliraj aplikaciju

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

Korak 4: Konfiguriši webhook-ove

Tajo automatski registruje ove webhook-ove:

WebhookSvrha
customers/createSinhronizacija novog kupca
customers/updateIzmene podataka kupca
customers/deleteUklanjanje kupca
orders/createDogađaji postavljene porudžbine
orders/updatedIzmene statusa porudžbine
checkouts/createKorpa kreirana
checkouts/updateKorpa ažurirana

Konfiguracija

Osnovno podešavanje

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

Mapiranje polja

Mapiraj Shopify polja na Brevo atribute kontakta:

Default Mappings

Parameter Type Description
email required
string

Email kupca (jedinstveni identifikator)

first_name optional
string

Mapira se na FIRSTNAME atribut

last_name optional
string

Mapira se na LASTNAME atribut

phone optional
string

Mapira se na SMS atribut za WhatsApp/SMS

accepts_marketing optional
boolean

Kontroliše status pretplate

orders_count optional
integer

Ukupan broj porudžbina

total_spent optional
number

Lifetime vrednost kupca

tags optional
array

Tagovi kupca iz Shopify

Prilagođeno mapiranje atributa

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

Sinhronizacija proizvoda

Sinhronizuj proizvode za preporuke u email-u:

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

Praćenje zaliha

Omogući sinhronizaciju nivoa zaliha:

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

Događaji

Događaji kupaca

DogađajOkidačPrimer upotrebe
customer_createdRegistracija novog kupcaWelcome series
customer_updatedIzmene profilaSinhronizacija podataka
customer_tags_addedDodeljeni tagoviIzmene segmenata

Događaji porudžbina

DogađajOkidačPrimer upotrebe
order_placedZavršetak porudžbinePotvrda porudžbine
order_fulfilledPorudžbina poslataObaveštenje o slanju
order_cancelledPorudžbina otkazanaEmail o otkazivanju
order_refundedObrađen povraćajPotvrda povraćaja

Događaji korpe

DogađajOkidačPrimer upotrebe
cart_createdDodate stavke u korpuBrowse tracking
cart_updatedKorpa izmenjenaPraćenje vrednosti korpe
cart_abandonedNema checkout-a za 30minEmail-ovi za oporavak

Omogućene veštine

Shopify konektor aktivira ove veštine:

VeštinaOpis
Customer SyncSinhronizacija kupaca u realnom vremenu
Order EventsPraćenje životnog ciklusa porudžbine
Abandoned CartEmail-ovi za oporavak korpe
Welcome SeriesUvođenje novih kupaca
Post-PurchasePraćenje nakon porudžbine
Win-BackReangažovanje neaktivnih kupaca
Browse AbandonmentPraćenje interesovanja za proizvode
ReplenishmentPodsetnici za ponovnu kupovinu

Primeri koda

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

Pokreni inicijalnu sinhronizaciju

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

Praćenje događaja korpe

Dodaj Tajo skriptu u svoju Shopify temu:

<!-- 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>

Prilagođeni webhook handler

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

Praćenje

Metrike dashboard-a

Prati svoju Shopify vezu u Tajo dashboard-u:

  • Sync Status: Zdravlje veze u realnom vremenu
  • Customers Synced: Ukupno kontakata iz Shopify
  • Orders Tracked: Obrađeni događaji porudžbina
  • Cart Recovery: Performanse oporavka napuštene korpe
  • Error Rate: Neuspeli pokušaji sinhronizacije

Webhook logovi

Pogledaj status isporuke webhook-ova:

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

Istorija sinhronizacije

Proveri istorijske operacije sinhronizacije:

Terminal window
tajo connectors history shopify --limit 10

Rešavanje problema

Česti problemi

API ograničenja

Shopify ima API limit od 2 zahteva/sekundi. Koristi batch sinhronizaciju za velike istorijske uvoze.

ProblemUzrokRešenje
Webhook nije primljenDozvole aplikacijePonovo instaliraj aplikaciju sa ispravnim skopovima
Kupac nije sinhronizovanNedostaje emailShopify zahteva email za kupce
Proizvodi nedostajuStatus proizvodaProveri da li je proizvod u “active” statusu
Korpa se ne pratiSkripta nije učitanaProveri skriptu u theme.liquid

Debug režim

Uključi detaljno logovanje:

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

Testiraj vezu

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

Najbolje prakse

  1. Počni sa test prodavnicom - Prvo koristi development prodavnicu
  2. Pokreni inicijalnu sinhronizaciju van radnog vremena - Velike sinhronizacije mogu biti spore
  3. Mapiraj prilagođene atribute - Ne oslanjaj se samo na podrazumevana mapiranja
  4. Uključi praćenje korpe - Kritično za oporavak napuštene korpe
  5. Prati zdravlje webhook-ova - Postavi upozorenja za neuspele isporuke
  6. Koristi batch uvoz - Za istorijske podatke preko 10.000 zapisa

Bezbednost

  • OAuth 2.0 - Bezbedna autentifikacija zasnovana na tokenima
  • Verifikacija webhook-ova - HMAC validacija potpisa
  • Šifrovano skladištenje - API kredencijali šifrovani u mirovanju
  • Skopirani pristup - Samo minimum potrebnih dozvola

Povezani resursi

Subscribe to updates

developer-docs

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

AI асистент

Здраво! Питајте ме о документацији.

Započnite besplatno sa Brevo