Коннектор BigCommerce

Коннектор BigCommerce

Подключите магазин BigCommerce к Brevo через Tajo для полной синхронизации данных электронной коммерции. Синхронизируйте клиентов, заказы, товары и события корзины для таргетированных маркетинговых кампаний, восстановления брошенных корзин и автоматизации после покупки.

Обзор

СвойствоЗначение
ПлатформаBigCommerce
КатегорияE-commerce
Сложность настройкиСредняя
Официальная интеграцияНет
Синхронизируемые данныеКлиенты, заказы, товары, корзины
Доступных скиллов10

Возможности

  • Синхронизация клиентов, синхронизация данных клиентов в реальном времени с контактами Brevo
  • Отслеживание заказов, события жизненного цикла заказов для маркетинговых потоков после покупки
  • Синхронизация каталога товаров, синхронизация товаров для email-рекомендаций и динамического контента
  • Брошенные корзины, отслеживание и восстановление брошенных корзин с помощью автоматических писем
  • Поддержка нескольких витрин, подключение нескольких витрин BigCommerce
  • Обновления через вебхуки, обновления данных в реальном времени через вебхуки BigCommerce
  • Пользовательские поля, сопоставление пользовательских полей BigCommerce с атрибутами контактов Brevo
  • Отслеживание запасов, синхронизация уровней запасов для уведомлений о возвращении товара

Предварительные требования

Прежде чем начать, убедитесь, что у вас есть:

  1. Магазин BigCommerce с правами владельца или администратора
  2. API-аккаунт BigCommerce с необходимыми OAuth scope
  3. Store Hash (в URL магазина или в API-учётных данных)
  4. Аккаунт Brevo с доступом к API
  5. Аккаунт Tajo с API-учётными данными

Аутентификация

Учётные данные API-аккаунта

BigCommerce использует OAuth-based API-аккаунты. Создайте его в панели управления BigCommerce в разделе Settings > API > API Accounts.

Вы получите:

  • Client ID, идентификатор приложения
  • Client Secret, секрет приложения (храните надёжно)
  • Access Token, используется для аутентификации API
  • Store Hash, уникальный идентификатор магазина
Terminal window
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 Scope

ScopeДоступНазначение
store_v2_customersReadСинхронизация данных клиентов
store_v2_ordersReadОтслеживание событий заказов
store_v2_productsReadСинхронизация каталога товаров
store_cartReadОтслеживание брошенных корзин
store_v2_informationReadКонфигурация магазина
store_v2_contentReadКонтент витрины

Конфигурация

Базовая настройка

connectors:
bigcommerce:
enabled: true
store_hash: "your-store-hash"
access_token: "your-access-token"
client_id: "your-client-id"
# Параметры синхронизации данных
sync:
customers: true
orders: true
products: true
carts: true
inventory: false
# Назначение листов Brevo
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
# Поля адреса
addresses[0].city: CITY
addresses[0].state: STATE
addresses[0].country: COUNTRY
addresses[0].zip: ZIP
# Метрики электронной коммерции
orders_count: ORDER_COUNT
total_spent: TOTAL_SPENT
date_created: SIGNUP_DATE
# Группа клиентов
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
});
// Подключение магазина BigCommerce
await tajo.connectors.connect('bigcommerce', {
storeHash: process.env.BC_STORE_HASH,
accessToken: process.env.BC_ACCESS_TOKEN,
clientId: process.env.BC_CLIENT_ID
});

Получение и синхронизация клиентов

// Получение клиентов из BigCommerce
const 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
app.post('/webhooks/bigcommerce', async (req, res) => {
const { scope, store_id, data } = req.body;
// Проверка, что вебхук от вашего магазина
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
// }

Ограничения скорости

ПланЛимитДетали
Standard150 запросов/30 секНа магазин
Plus300 запросов/30 секНа магазин
Pro450 запросов/30 секНа магазин
EnterpriseБез ограниченийИндивидуальные лимиты

Дополнительные ограничения:

РесурсЛимит
Вебхуки100 на магазин
На страницуМаксимум 250 записей
Параллельные запросыЗависит от плана

Заголовки ограничений скорости

Следите за заголовками X-Rate-Limit-Requests-Left и X-Rate-Limit-Time-Reset-Ms для управления использованием API в пределах лимитов.

Устранение неполадок

ПроблемаПричинаРешение
401 UnauthorizedНедействительный токен доступаПерегенерируйте API-учётные данные в панели BigCommerce
403 ForbiddenОтсутствует OAuth scopeПроверьте scope API-аккаунта и добавьте необходимые права
Вебхуки не срабатываютДостигнут лимит вебхуковПроверьте количество вебхуков (макс. 100) и удалите неиспользуемые
Отсутствуют события корзиныСкрипты витрины не загруженыПроверьте наличие скрипта отслеживания в витрине BigCommerce
Товары не синхронизированыКеш каталогаЗапустите ручную синхронизацию или дождитесь обновлений через вебхук
429 Too Many RequestsПревышен лимит скоростиРеализуйте очередь запросов с мониторингом заголовков лимитов
Отсутствуют группы клиентовV2 против V3 APIГруппы клиентов используют V2 API; проверьте версию эндпоинта

Лучшие практики

  1. Используйте V3 API по возможности, V3 API предлагает лучшую пагинацию, фильтрацию и JSON-ответы
  2. Следите за заголовками лимитов скорости, отслеживайте X-Rate-Limit-Requests-Left, чтобы не превышать лимиты
  3. Регистрируйте вебхуки для синхронизации в реальном времени, используйте вебхуки вместо опроса для обновлений клиентов и заказов
  4. Пакетные обновления клиентов, используйте пакетные эндпоинты V3 для крупных синхронизаций данных
  5. Включайте варианты при синхронизации товаров, синхронизируйте варианты товаров для точного отслеживания запасов
  6. Настройте вебхуки брошенных корзин, критично для автоматизации email-восстановления корзин
  7. Используйте пагинацию, всегда пагинируйте списочные эндпоинты; максимум 250 записей на страницу

Безопасность

  • OAuth-аутентификация по токену, безопасный доступ к API на основе токенов
  • Ограниченные права, API-аккаунты ограничены конкретными scope данных
  • Только HTTPS, все API-коммуникации зашифрованы через TLS
  • Верификация вебхуков, верификация источника вебхука по store hash
  • PCI DSS-совместимость, BigCommerce безопасно обрабатывает платёжные данные
  • SOC 2 Type II, платформа BigCommerce сертифицирована по SOC 2

Связанные ресурсы

Subscribe to updates

developer-docs

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

AI-ассистент

Привет! Спрашивайте меня о документации.

Начните бесплатно с Brevo