موصل BigCommerce
موصل BigCommerce
اربط متجر BigCommerce الخاص بك مع Brevo من خلال Tajo لمزامنة كاملة لبيانات التجارة الإلكترونية. زامن العملاء والطلبات والمنتجات وأحداث السلة لتشغيل حملات تسويقية مستهدفة، واسترداد السلات المهجورة، وأتمتة ما بعد الشراء.
نظرة عامة
| الخاصية | القيمة |
|---|---|
| المنصة | BigCommerce |
| الفئة | التجارة الإلكترونية |
| تعقيد الإعداد | متوسط |
| تكامل رسمي | لا |
| البيانات المُزامَنة | عملاء، طلبات، منتجات، سلات |
| المهارات المتاحة | 10 |
الميزات
- مزامنة العملاء - مزامنة بيانات العملاء في الوقت الفعلي مع جهات اتصال Brevo
- تتبع الطلبات - أحداث دورة حياة الطلبات لتدفقات التسويق ما بعد الشراء
- مزامنة كتالوج المنتجات - مزامنة المنتجات لتوصيات البريد الإلكتروني والمحتوى الديناميكي
- استرداد السلات المهجورة - تتبع واسترداد السلات المهجورة برسائل بريد إلكتروني آلية
- دعم المتاجر المتعددة - ربط واجهات متاجر BigCommerce متعددة
- تحديثات مدفوعة بـ webhook - تحديثات بيانات في الوقت الفعلي عبر webhooks BigCommerce
- الحقول المخصصة - ربط حقول BigCommerce المخصصة بسمات جهات اتصال Brevo
- تتبع المخزون - مزامنة مستويات المخزون لإشعارات العودة إلى المخزون
المتطلبات الأساسية
قبل البدء، تأكد من توفر ما يلي:
- متجر BigCommerce مع صلاحيات مالك المتجر أو المسؤول
- حساب API لـ BigCommerce مع نطاقات OAuth مناسبة
- Store Hash الخاص بك (موجود في عنوان URL للمتجر أو بيانات اعتماد API)
- حساب Brevo مع وصول إلى API
- حساب Tajo مع بيانات اعتماد API
المصادقة
بيانات اعتماد حساب API
يستخدم BigCommerce حسابات API قائمة على OAuth. أنشئ واحدًا في لوحة تحكم BigCommerce ضمن Settings > API > API Accounts.
ستتلقى:
- Client ID - معرّف التطبيق الخاص بك
- Client Secret - سر التطبيق الخاص بك (خزّنه بأمان)
- Access Token - يُستخدم لمصادقة API
- Store Hash - معرّف متجرك الفريد
curl https://api.bigcommerce.com/stores/{store_hash}/v3/catalog/products \ -H "X-Auth-Token: YOUR_ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -H "Accept: application/json"نطاقات OAuth المطلوبة
| النطاق | الوصول | الغرض |
|---|---|---|
store_v2_customers | قراءة | مزامنة بيانات العملاء |
store_v2_orders | قراءة | تتبع أحداث الطلبات |
store_v2_products | قراءة | مزامنة كتالوج المنتجات |
store_cart | قراءة | تتبع السلات المهجورة |
store_v2_information | قراءة | إعداد المتجر |
store_v2_content | قراءة | محتوى المتجر |
الإعداد
الإعداد الأساسي
connectors: bigcommerce: enabled: true store_hash: "your-store-hash" access_token: "your-access-token" client_id: "your-client-id"
# Data sync options sync: customers: true orders: true products: true carts: true inventory: false
# Brevo list assignment lists: all_customers: 40 buyers: 41 abandoned_cart: 42تعيين حقول العميل
ربط حقول عملاء BigCommerce بسمات Brevo:
customer_mapping: email: email first_name: FIRSTNAME last_name: LASTNAME phone: SMS company: COMPANY
# Address fields addresses[0].city: CITY addresses[0].state: STATE addresses[0].country: COUNTRY addresses[0].zip: ZIP
# E-commerce metrics orders_count: ORDER_COUNT total_spent: TOTAL_SPENT date_created: SIGNUP_DATE
# Customer group customer_group_id: CUSTOMER_GROUPإعداد Webhook
webhooks: - scope: "store/customer/created" destination: "customer_created" - scope: "store/customer/updated" destination: "customer_updated" - scope: "store/order/created" destination: "order_placed" - scope: "store/order/updated" destination: "order_updated" - scope: "store/order/statusUpdated" destination: "order_status_changed" - scope: "store/cart/created" destination: "cart_created" - scope: "store/cart/updated" destination: "cart_updated" - scope: "store/cart/abandoned" destination: "cart_abandoned" - scope: "store/inventory/updated" destination: "inventory_changed"نقاط نهاية واجهة البرمجة
| الطريقة | نقطة النهاية | الوصف |
|---|---|---|
GET | /v3/customers | سرد العملاء |
POST | /v3/customers | إنشاء العملاء |
PUT | /v3/customers | تحديث العملاء |
GET | /v2/orders | سرد الطلبات |
GET | /v2/orders/{id} | الحصول على تفاصيل الطلب |
GET | /v3/catalog/products | سرد المنتجات |
GET | /v3/catalog/products/{id} | الحصول على تفاصيل المنتج |
GET | /v3/catalog/products/{id}/variants | سرد متغيرات المنتج |
GET | /v3/carts | سرد السلات |
GET | /v3/abandoned-carts | سرد السلات المهجورة |
POST | /v3/hooks | إنشاء webhook |
GET | /v3/catalog/categories | سرد الفئات |
أمثلة على الكود
تهيئة موصل BigCommerce
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connect BigCommerce storeawait tajo.connectors.connect('bigcommerce', { storeHash: process.env.BC_STORE_HASH, accessToken: process.env.BC_ACCESS_TOKEN, clientId: process.env.BC_CLIENT_ID});جلب ومزامنة العملاء
// جلب العملاء من BigCommerceconst response = await fetch( `https://api.bigcommerce.com/stores/${STORE_HASH}/v3/customers?limit=250`, { headers: { 'X-Auth-Token': ACCESS_TOKEN, 'Content-Type': 'application/json' } });
const { data, meta } = await response.json();// data: [{ id, email, first_name, last_name, phone, ... }]// meta.pagination: { total, count, per_page, current_page, total_pages }التعامل مع أحداث Webhook
// BigCommerce webhook handlerapp.post('/webhooks/bigcommerce', async (req, res) => { const { scope, store_id, data } = req.body;
// التحقق من أن webhook من متجرك if (store_id !== process.env.BC_STORE_HASH) { return res.status(401).send('Unauthorized'); }
// إعادة التوجيه إلى Tajo await tajo.connectors.handleWebhook('bigcommerce', { topic: scope, payload: data });
res.status(200).send('OK');});مزامنة كتالوج المنتجات
// مزامنة كاملة لكتالوج المنتجاتawait tajo.connectors.sync('bigcommerce', { type: 'full', resources: ['products'], includeVariants: true, includeImages: true});
// التحقق من حالة المزامنةconst status = await tajo.connectors.status('bigcommerce');console.log(status);// {// connected: true,// lastSync: '2024-01-15T10:30:00Z',// customersCount: 8200,// ordersCount: 4500,// productsCount: 620// }حدود المعدل
| الخطة | الحد | التفاصيل |
|---|---|---|
| Standard | 150 طلب/30 ثانية | لكل متجر |
| Plus | 300 طلب/30 ثانية | لكل متجر |
| Pro | 450 طلب/30 ثانية | لكل متجر |
| Enterprise | غير محدود | حدود مخصصة |
حدود إضافية:
| المورد | الحد |
|---|---|
| Webhooks | 100 لكل متجر |
| لكل صفحة | 250 سجلًا كحد أقصى |
| الطلبات المتزامنة | يعتمد على الخطة |
ترويسات حدود المعدل
راقب الترويسات X-Rate-Limit-Requests-Left وX-Rate-Limit-Time-Reset-Ms لإدارة استخدام API ضمن الحدود.
استكشاف الأخطاء وإصلاحها
| المشكلة | السبب | الحل |
|---|---|---|
401 Unauthorized | رمز وصول غير صالح | أعد توليد بيانات اعتماد API في إدارة BigCommerce |
403 Forbidden | نطاق OAuth مفقود | تحقق من نطاقات حساب API وأضف الصلاحيات المطلوبة |
| Webhooks لا تعمل | بلوغ حد webhook | تحقق من عدد webhooks (الحد الأقصى 100) وأزل غير المستخدمة |
| أحداث السلة مفقودة | نصوص المتجر غير محملة | تحقق من نص التتبع في متجر BigCommerce |
| المنتجات غير متزامنة | ذاكرة تخزين الكتالوج | شغّل مزامنة يدوية أو انتظر تحديثات webhook |
429 Too Many Requests | تجاوز حد المعدل | طبّق قائمة انتظار الطلبات مع مراقبة ترويسات حد المعدل |
| مجموعات العملاء مفقودة | V2 مقابل V3 API | تستخدم مجموعات العملاء V2 API؛ تحقق من إصدار نقطة النهاية |
أفضل الممارسات
- استخدم V3 API حيثما أمكن - يوفر V3 API تقسيمًا وتصفية واستجابات JSON أفضل
- راقب ترويسات حد المعدل - تتبع
X-Rate-Limit-Requests-Leftلتجنب بلوغ الحدود - سجّل webhooks للمزامنة الآنية - استخدم webhooks بدلاً من الاستطلاع لتحديثات العملاء والطلبات
- تحديثات العملاء بالدفعات - استخدم نقاط نهاية العملاء بالجملة V3 لمزامنات البيانات الكبيرة
- ضمّن المتغيرات في مزامنة المنتجات - زامن متغيرات المنتج لتتبع دقيق للمخزون
- إعداد webhooks للسلات المهجورة - مهم لأتمتة البريد الإلكتروني لاسترداد السلة
- استخدم التقسيم - قسّم دائمًا نقاط نهاية القائمة؛ 250 سجل كحد أقصى لكل صفحة
الأمان
- مصادقة رمز OAuth - وصول API آمن قائم على الرموز
- صلاحيات مقيدة - حسابات API مقيدة بنطاقات بيانات محددة
- HTTPS فقط - جميع اتصالات API مشفرة عبر TLS
- التحقق من Webhook - تحقق من مصدر webhook باستخدام store hash
- متوافق مع PCI DSS - يعالج BigCommerce بيانات الدفع بأمان
- SOC 2 Type II - منصة BigCommerce معتمدة من SOC 2