Conector de BigCommerce

Conector de BigCommerce

Conecta tu tienda de BigCommerce con Brevo a través de Tajo para una sincronización completa de los datos de ecommerce. Sincroniza clientes, pedidos, productos y eventos del carrito para impulsar campañas de marketing segmentadas, recuperación de carritos abandonados y automatización post-compra.

Resumen

PropiedadValor
PlataformaBigCommerce
CategoríaEcommerce
Complejidad de configuraciónMedia
Integración oficialNo
Datos sincronizadosClientes, Pedidos, Productos, Carritos
Skills disponibles10

Funcionalidades

  • Sincronización de clientes - Sincronización en tiempo real de los datos de clientes con los contactos de Brevo
  • Seguimiento de pedidos - Eventos del ciclo de vida del pedido para flujos de marketing post-compra
  • Sincronización del catálogo de productos - Sincroniza productos para recomendaciones por email y contenido dinámico
  • Carritos abandonados - Rastrea y recupera carritos abandonados con emails automatizados
  • Soporte multi-storefront - Conecta varios storefronts de BigCommerce
  • Actualizaciones vía webhook - Actualizaciones de datos en tiempo real a través de los webhooks de BigCommerce
  • Campos personalizados - Asocia campos personalizados de BigCommerce a atributos de contacto de Brevo
  • Seguimiento de inventario - Sincroniza niveles de stock para notificaciones de “de nuevo disponible”

Requisitos previos

Antes de empezar, asegúrate de tener:

  1. Una tienda de BigCommerce con acceso de propietario o administrador
  2. Una cuenta de API de BigCommerce con los scopes OAuth adecuados
  3. Tu Store Hash (lo encuentras en la URL de tu tienda o en las credenciales de API)
  4. Una cuenta de Brevo con acceso a la API
  5. Una cuenta de Tajo con credenciales de API

Autenticación

Credenciales de la cuenta de API

BigCommerce utiliza cuentas de API basadas en OAuth. Crea una en el panel de control de BigCommerce en Settings > API > API Accounts.

Recibirás:

  • Client ID - Identificador de tu app
  • Client Secret - Secreto de tu app (guárdalo de forma segura)
  • Access Token - Se usa para la autenticación de la API
  • Store Hash - Identificador único de tu tienda
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"

Scopes OAuth requeridos

ScopeAccesoPropósito
store_v2_customersLecturaSincronización de datos de clientes
store_v2_ordersLecturaSeguimiento de eventos de pedido
store_v2_productsLecturaSincronización del catálogo de productos
store_cartLecturaSeguimiento de carritos abandonados
store_v2_informationLecturaConfiguración de la tienda
store_v2_contentLecturaContenido del storefront

Configuración

Configuración básica

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

Asignación de campos de cliente

Asocia los campos de cliente de BigCommerce con los atributos de 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

Configuración de webhooks

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"

Endpoints de la API

MétodoEndpointDescripción
GET/v3/customersListar clientes
POST/v3/customersCrear clientes
PUT/v3/customersActualizar clientes
GET/v2/ordersListar pedidos
GET/v2/orders/{id}Obtener detalles de un pedido
GET/v3/catalog/productsListar productos
GET/v3/catalog/products/{id}Obtener detalles de un producto
GET/v3/catalog/products/{id}/variantsListar variantes de un producto
GET/v3/cartsListar carritos
GET/v3/abandoned-cartsListar carritos abandonados
POST/v3/hooksCrear un webhook
GET/v3/catalog/categoriesListar categorías

Ejemplos de código

Inicializar el conector de BigCommerce

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
// Connect BigCommerce store
await tajo.connectors.connect('bigcommerce', {
storeHash: process.env.BC_STORE_HASH,
accessToken: process.env.BC_ACCESS_TOKEN,
clientId: process.env.BC_CLIENT_ID
});

Obtener y sincronizar clientes

// Fetch customers from 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 }

Gestionar eventos de webhook

// BigCommerce webhook handler
app.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');
});

Sincronizar el catálogo de productos

// Full product catalog sync
await tajo.connectors.sync('bigcommerce', {
type: 'full',
resources: ['products'],
includeVariants: true,
includeImages: true
});
// Check sync status
const status = await tajo.connectors.status('bigcommerce');
console.log(status);
// {
// connected: true,
// lastSync: '2024-01-15T10:30:00Z',
// customersCount: 8200,
// ordersCount: 4500,
// productsCount: 620
// }

Límites de velocidad

PlanLímiteDetalles
Standard150 peticiones/30 sPor tienda
Plus300 peticiones/30 sPor tienda
Pro450 peticiones/30 sPor tienda
EnterpriseSin límiteLímites personalizados

Límites adicionales:

RecursoLímite
Webhooks100 por tienda
Por página250 registros máx.
Peticiones concurrentesDepende del plan

Cabeceras de rate limit

Monitoriza las cabeceras X-Rate-Limit-Requests-Left y X-Rate-Limit-Time-Reset-Ms para gestionar tu uso de la API dentro de los límites.

Resolución de problemas

ProblemaCausaSolución
401 UnauthorizedAccess token no válidoRegenera las credenciales de API en el panel de administración de BigCommerce
403 ForbiddenFalta un scope OAuthRevisa los scopes de la cuenta de API y añade los permisos necesarios
Los webhooks no se disparanSe alcanzó el límite de webhooksComprueba el número de webhooks (máx. 100) y elimina los que no se usen
Faltan eventos de carritoScripts del storefront no cargadosVerifica el script de seguimiento en el storefront de BigCommerce
Productos desincronizadosCaché del catálogoLanza una sincronización manual o espera a las actualizaciones por webhook
429 Too Many RequestsSe superó el rate limitImplementa una cola de peticiones monitorizando las cabeceras de rate limit
Faltan grupos de clientesV2 frente a V3 de la APILos grupos de clientes usan la API V2; comprueba la versión del endpoint

Buenas prácticas

  1. Usa la API V3 siempre que sea posible - La API V3 ofrece mejor paginación, filtrado y respuestas en JSON
  2. Monitoriza las cabeceras de rate limit - Vigila X-Rate-Limit-Requests-Left para no alcanzar los límites
  3. Registra webhooks para sincronización en tiempo real - Usa webhooks en lugar de polling para actualizaciones de clientes y pedidos
  4. Agrupa las actualizaciones de clientes - Usa los endpoints V3 bulk de clientes para grandes sincronizaciones de datos
  5. Incluye variantes en la sincronización de productos - Sincroniza las variantes de producto para un seguimiento preciso del inventario
  6. Configura webhooks de carritos abandonados - Fundamentales para la automatización de emails de recuperación de carrito
  7. Usa paginación - Pagina siempre los endpoints de listado; máx. 250 registros por página

Seguridad

  • Autenticación con token OAuth - Acceso a la API seguro basado en tokens
  • Permisos por scope - Las cuentas de API se restringen a scopes de datos concretos
  • Solo HTTPS - Toda la comunicación con la API se cifra vía TLS
  • Verificación de webhooks - Verifica el origen del webhook usando el store hash
  • Cumple con PCI DSS - BigCommerce gestiona los datos de pago de forma segura
  • SOC 2 Tipo II - La plataforma BigCommerce está certificada SOC 2

Recursos relacionados

Subscribe to updates

developer-docs

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

Asistente AI

¡Hola! Pregúntame lo que quieras sobre la documentación.

Empieza gratis con Brevo