BigCommerce конектор
BigCommerce конектор
Свържи магазина си в BigCommerce с Brevo през Tajo за пълна синхронизация на e-commerce данни. Синхронизирай клиенти, поръчки, продукти и събития от кошницата, за да захраниш таргетирани маркетингови кампании, възстановяване на изоставени кошници и автоматизация след покупка.
Преглед
| Свойство | Стойност |
|---|---|
| Платформа | BigCommerce |
| Категория | E-commerce |
| Сложност на настройка | Средна |
| Официална интеграция | Не |
| Синхронизирани данни | Клиенти, поръчки, продукти, кошници |
| Налични скилове | 10 |
Функции
- Синхронизация на клиенти – Синхронизация на клиентски данни в реално време към контактите в Brevo
- Проследяване на поръчки – Събития от жизнения цикъл на поръчките за потоци след покупка
- Синхронизация на продуктовия каталог – Синхронизирай продукти за имейл препоръки и динамично съдържание
- Изоставена кошница – Проследявай и възстановявай изоставени кошници с автоматизирани имейли
- Поддръжка на множество витрини – Свържи няколко витрини на BigCommerce
- Обновления чрез уебхуци – Обновления на данни в реално време чрез BigCommerce уебхуци
- Персонализирани полета – Мапвай персонализирани полета на BigCommerce към атрибути на контактите в Brevo
- Проследяване на наличности – Синхронизирай нивата на наличности за известия при попълване на склад
Предварителни условия
Преди да започнеш, увери се, че имаш:
- Магазин в BigCommerce с достъп Store Owner или Admin
- API акаунт в BigCommerce с подходящи OAuth обхвати
- Твоя Store Hash (намира се в URL-а на магазина или в API credentials)
- Акаунт в Brevo с API достъп
- Акаунт в Tajo с API credentials
Автентикация
API Account credentials
BigCommerce използва OAuth-базирани API акаунти. Създай един в контролния панел на 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 | Read | Синхронизация на клиентски данни |
store_v2_orders | Read | Проследяване на събития от поръчки |
store_v2_products | Read | Синхронизация на продуктовия каталог |
store_cart | Read | Проследяване на изоставени кошници |
store_v2_information | Read | Конфигурация на магазина |
store_v2_content | Read | Съдържание на витрината |
Конфигурация
Основна настройка
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Конфигурация на уебхуци
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"API крайни точки
| Метод | Крайна точка | Описание |
|---|---|---|
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 | Създаване на уебхук |
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});Извличане и синхронизация на клиенти
// Fetch customers from 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 }Обработка на уебхук събития
// BigCommerce webhook handlerapp.post('/webhooks/bigcommerce', async (req, res) => { const { scope, store_id, data } = req.body;
// Verify the webhook is from your store if (store_id !== process.env.BC_STORE_HASH) { return res.status(401).send('Unauthorized'); }
// Forward to Tajo await tajo.connectors.handleWebhook('bigcommerce', { topic: scope, payload: data });
res.status(200).send('OK');});Синхронизация на продуктовия каталог
// Full product catalog syncawait tajo.connectors.sync('bigcommerce', { type: 'full', resources: ['products'], includeVariants: true, includeImages: true});
// Check sync statusconst 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 | Без ограничение | Персонализирани лимити |
Допълнителни лимити:
| Ресурс | Лимит |
|---|---|
| Уебхуци | 100 на магазин |
| На страница | 250 записа максимум |
| Едновременни заявки | Зависи от плана |
Хедъри за ограничения на заявките
Мониторирай хедърите X-Rate-Limit-Requests-Left и X-Rate-Limit-Time-Reset-Ms, за да управляваш използването на API в рамките на лимитите.
Отстраняване на проблеми
| Проблем | Причина | Решение |
|---|---|---|
401 Unauthorized | Невалиден access token | Регенерирай API credentials в админ панела на BigCommerce |
403 Forbidden | Липсващ OAuth обхват | Провери обхватите на API акаунта и добави необходимите разрешения |
| Уебхуците не се задействат | Достигнат лимит на уебхуци | Провери броя на уебхуците (макс. 100) и премахни неизползваните |
| Липсват събития от кошница | Скриптовете на витрината не са заредени | Провери проследяващия скрипт във витрината на BigCommerce |
| Продуктите не са синхронизирани | Кеш на каталога | Задейства ръчна синхронизация или изчакай обновленията чрез уебхук |
429 Too Many Requests | Превишен лимит на заявките | Внедри опашка за заявки с мониториране на хедъри за лимити |
| Липсват клиентски групи | V2 vs V3 API | Клиентските групи използват V2 API; провери версията на крайната точка |
Добри практики
- Използвай V3 API, където е възможно – V3 API предлага по-добра пагинация, филтриране и JSON отговори
- Мониторирай хедъри за лимити – Следи
X-Rate-Limit-Requests-Left, за да избегнеш достигане на лимита - Регистрирай уебхуци за синхронизация в реално време – Използвай уебхуци вместо polling за обновления на клиенти и поръчки
- Пакетни обновления на клиенти – Използвай V3 bulk крайните точки за клиенти за големи синхронизации
- Включвай вариации в синхронизацията на продукти – Синхронизирай вариациите на продуктите за точно проследяване на наличности
- Настрой уебхуци за изоставени кошници – Критично за автоматизация на имейли за възстановяване
- Използвай пагинация – Винаги пагинирай списъчните крайни точки; макс. 250 записа на страница
Сигурност
- Автентикация с OAuth токен – Сигурен достъп до API на база токени
- Scoped разрешения – API акаунтите са ограничени до конкретни обхвати на данни
- Само HTTPS – Цялата API комуникация е криптирана чрез TLS
- Верификация на уебхуци – Проверка на източника на уебхук чрез store hash
- PCI DSS съвместимост – BigCommerce обработва данни за плащания сигурно
- SOC 2 Type II – Платформата BigCommerce е SOC 2 сертифицирана