ตัวเชื่อม Shopify

ตัวเชื่อม Shopify

เชื่อมต่อร้านค้า Shopify ของคุณกับ Brevo เพื่อซิงก์ข้อมูลลูกค้าแบบครบถ้วน กู้ตะกร้าที่ถูกทิ้ง และทำแคมเปญ marketing อัตโนมัติ

ภาพรวม

คุณสมบัติค่า
แพลตฟอร์มShopify
หมวดหมู่อีคอมเมิร์ซ
ความซับซ้อนในการตั้งค่าง่าย
Official Integrationใช่
ข้อมูลที่ซิงก์ลูกค้า, คำสั่งซื้อ, สินค้า, ตะกร้า, อีเวนต์
Skills ที่พร้อมใช้งาน12

ฟีเจอร์

  • ซิงก์ลูกค้าแบบเรียลไทม์ - ข้อมูลลูกค้าถูกซิงก์ไปยัง contact ใน Brevo ทันที
  • ติดตามคำสั่งซื้อ - อีเวนต์คำสั่งซื้อสำหรับโฟลว์หลังการขาย
  • ซิงก์แคตาล็อกสินค้า - สินค้าพร้อมใช้สำหรับการแนะนำ
  • ตะกร้าที่ถูกทิ้ง - ติดตามและกู้ตะกร้าที่ถูกทิ้ง
  • พฤติกรรมการเรียกดู - ติดตามการดูหน้าและความสนใจในสินค้า
  • รองรับหลายร้าน - เชื่อมต่อ Shopify ได้หลายร้าน

สิ่งที่ต้องเตรียม

ก่อนเริ่มต้น โปรดตรวจสอบให้แน่ใจว่าคุณมี:

  1. ร้านค้า Shopify พร้อมสิทธิ์ admin
  2. บัญชี Brevo ที่เข้าถึง API ได้
  3. บัญชี Tajo

การติดตั้ง

ตัวเลือกที่ 1: Shopify App Store (แนะนำ)

  1. เข้าเยี่ยมชม แอป Tajo บน Shopify App Store
  2. คลิก “Add app”
  3. ให้สิทธิ์ตามที่ร้องขอ
  4. เชื่อมต่อบัญชี Brevo ของคุณ

ตัวเลือกที่ 2: ติดตั้งด้วยตนเอง

ขั้นตอนที่ 1: สร้าง Shopify App

  1. ไปที่ Shopify admin → Settings → Apps and sales channels
  2. คลิก “Develop apps” → “Create an app”
  3. ตั้งชื่อว่า “Tajo Integration”

ขั้นตอนที่ 2: ตั้งค่า API Scopes

เปิดใช้งาน scope เหล่านี้:

read_customers
write_customers
read_orders
read_products
read_checkouts
write_script_tags

ขั้นตอนที่ 3: ติดตั้งแอป

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

ขั้นตอนที่ 4: ตั้งค่า Webhook

Tajo จะลงทะเบียน webhook เหล่านี้โดยอัตโนมัติ:

Webhookวัตถุประสงค์
customers/createซิงก์ลูกค้าใหม่
customers/updateการเปลี่ยนแปลงข้อมูลลูกค้า
customers/deleteการลบลูกค้า
orders/createอีเวนต์การสั่งซื้อ
orders/updatedการเปลี่ยนสถานะคำสั่งซื้อ
checkouts/createมีการสร้างตะกร้า
checkouts/updateมีการอัปเดตตะกร้า

การตั้งค่า

การตั้งค่าพื้นฐาน

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

การจับคู่ฟิลด์

จับคู่ฟิลด์ Shopify กับ attribute ของ contact ใน Brevo:

การจับคู่เริ่มต้น

Parameter Type Description
email required
string

อีเมลลูกค้า (ตัวระบุที่ไม่ซ้ำกัน)

first_name optional
string

จับคู่กับ attribute FIRSTNAME

last_name optional
string

จับคู่กับ attribute LASTNAME

phone optional
string

จับคู่กับ attribute SMS สำหรับ WhatsApp/SMS

accepts_marketing optional
boolean

ควบคุมสถานะการสมัครรับข่าวสาร

orders_count optional
integer

จำนวนคำสั่งซื้อทั้งหมด

total_spent optional
number

มูลค่าลูกค้าตลอดชีวิต

tags optional
array

แท็กลูกค้าจาก Shopify

การจับคู่ attribute แบบกำหนดเอง

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

การซิงก์สินค้า

ซิงก์สินค้าสำหรับการแนะนำในอีเมล:

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

การติดตามสต็อกสินค้า

เปิดใช้งานการซิงก์ระดับสต็อก:

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

อีเวนต์

อีเวนต์ลูกค้า

อีเวนต์ทริกเกอร์กรณีการใช้งาน
customer_createdลูกค้าใหม่สมัครสมาชิกซีรีส์ต้อนรับ
customer_updatedแก้ไขโปรไฟล์ซิงก์ข้อมูล
customer_tags_addedมีการกำหนดแท็กอัปเดตเซ็กเมนต์

อีเวนต์คำสั่งซื้อ

อีเวนต์ทริกเกอร์กรณีการใช้งาน
order_placedCheckout เสร็จสมบูรณ์ยืนยันคำสั่งซื้อ
order_fulfilledจัดส่งคำสั่งซื้อแจ้งเตือนการจัดส่ง
order_cancelledยกเลิกคำสั่งซื้ออีเมลแจ้งยกเลิก
order_refundedประมวลผลการคืนเงินยืนยันการคืนเงิน

อีเวนต์ตะกร้า

อีเวนต์ทริกเกอร์กรณีการใช้งาน
cart_createdเพิ่มสินค้าในตะกร้าติดตามการเรียกดู
cart_updatedแก้ไขตะกร้าติดตามมูลค่าตะกร้า
cart_abandonedไม่ checkout ภายใน 30 นาทีอีเมลกู้ตะกร้า

Skills ที่เปิดใช้งาน

ตัวเชื่อม Shopify เปิดใช้งาน skill เหล่านี้:

Skillคำอธิบาย
Customer Syncซิงก์ลูกค้าแบบเรียลไทม์
Order Eventsติดตามวงจรคำสั่งซื้อ
Abandoned Cartอีเมลกู้ตะกร้า
Welcome Seriesต้อนรับลูกค้าใหม่
Post-Purchaseติดตามหลังคำสั่งซื้อ
Win-Backดึงลูกค้าที่ไม่ active กลับมา
Browse Abandonmentติดตามความสนใจสินค้า
Replenishmentเตือนการสั่งซื้อซ้ำ

ตัวอย่างโค้ด

เริ่มต้นใช้งานตัวเชื่อม

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

รันการซิงก์ครั้งแรก

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

ติดตามอีเวนต์ตะกร้า

เพิ่มสคริปต์ Tajo ลงในธีม 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>

จัดการ Webhook แบบกำหนดเอง

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

การมอนิเตอร์

เมตริกของ Dashboard

มอนิเตอร์การเชื่อมต่อ Shopify ของคุณใน dashboard ของ Tajo:

  • สถานะการซิงก์: ความแข็งแรงของการเชื่อมต่อแบบเรียลไทม์
  • ลูกค้าที่ซิงก์แล้ว: จำนวน contact จาก Shopify ทั้งหมด
  • คำสั่งซื้อที่ติดตาม: อีเวนต์คำสั่งซื้อที่ประมวลผลแล้ว
  • การกู้ตะกร้า: ประสิทธิภาพของการกู้ตะกร้าที่ถูกทิ้ง
  • อัตราความผิดพลาด: ความพยายามซิงก์ที่ล้มเหลว

Log ของ Webhook

ดูสถานะการส่ง webhook:

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

ประวัติการซิงก์

ตรวจสอบการซิงก์ย้อนหลัง:

Terminal window
tajo connectors history shopify --limit 10

การแก้ไขปัญหา

ปัญหาที่พบบ่อย

Rate Limit ของ API

Shopify มี rate limit ที่ 2 requests/second ให้ใช้การซิงก์แบบ batch สำหรับการ import ข้อมูลย้อนหลังจำนวนมาก

ปัญหาสาเหตุวิธีแก้ไข
ไม่ได้รับ webhookสิทธิ์ของแอปติดตั้งแอปใหม่ด้วย scope ที่ถูกต้อง
ลูกค้าไม่ได้ซิงก์ไม่มีอีเมลShopify ต้องใช้อีเมลสำหรับลูกค้า
สินค้าหายไปสถานะสินค้าตรวจสอบว่าสินค้าอยู่ในสถานะ “active”
ตะกร้าไม่ได้ติดตามสคริปต์ไม่โหลดตรวจสอบสคริปต์ใน theme.liquid

โหมด Debug

เปิดใช้งาน logging แบบละเอียด:

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

ทดสอบการเชื่อมต่อ

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

แนวทางปฏิบัติที่ดีที่สุด

  1. เริ่มด้วยร้านทดสอบ - ใช้ development store ก่อน
  2. รันการซิงก์ครั้งแรกนอกเวลาทำการ - การซิงก์ข้อมูลขนาดใหญ่อาจใช้เวลานาน
  3. จับคู่ attribute แบบกำหนดเอง - อย่าพึ่งพาเฉพาะการจับคู่เริ่มต้น
  4. เปิดใช้การติดตามตะกร้า - สำคัญมากสำหรับการกู้ตะกร้าที่ถูกทิ้ง
  5. มอนิเตอร์สุขภาพของ webhook - ตั้งค่าการแจ้งเตือนการส่งที่ล้มเหลว
  6. ใช้การ import แบบ batch - สำหรับข้อมูลย้อนหลังมากกว่า 10,000 รายการ

ความปลอดภัย

  • OAuth 2.0 - การยืนยันตัวตนผ่านโทเคนที่ปลอดภัย
  • Webhook verification - การตรวจสอบลายเซ็น HMAC
  • การจัดเก็บที่เข้ารหัส - ข้อมูลรับรอง API เข้ารหัสขณะจัดเก็บ
  • สิทธิ์แบบจำกัด - ให้เฉพาะสิทธิ์ที่จำเป็นขั้นต่ำ

แหล่งข้อมูลที่เกี่ยวข้อง

Subscribe to updates

developer-docs

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

ผู้ช่วย AI

สวัสดี! ถามฉันเกี่ยวกับเอกสารได้เลย

เริ่มต้นฟรีกับ Brevo