BigCommerce 커넥터
커넥터 상태: 개발 중 구축 중입니다. 아직 검증되지 않았습니다.
예시 그림 · 샘플 데이터
동기화 예시
원본
BigCommerce
커넥터 상태: 개발 중
대상
다른 도구
커넥터 상태: 사용자 지정 도구
필드 매핑
| 원본 필드 | 대상 필드 | 예시 값 |
|---|---|---|
record.id | source_id | record_1042 |
record.updated_at | updated_at | 2026-10-18T08:00:00Z |
record.value | value | sample_value |
- 초안
- 레코드 한 건 검토
- 이 버전 승인
상태는 개별 커넥터에 대한 것으로, 이 동기화가 준비됐다는 보장은 아닙니다. 표시된 필드는 예시입니다. 동기화 실행 전에 실제 스키마와 권한을 확인하세요.
BigCommerce 스토어를 Tajo를 통해 Brevo에 연결하여 완전한 이커머스 데이터 동기화를 구현하세요. 고객, 주문, 제품, 장바구니 이벤트를 동기화하여 타겟팅된 마케팅 캠페인, 장바구니 이탈 복구, 구매 후 자동화를 구동할 수 있습니다.
개요
| 속성 | 값 |
|---|---|
| 플랫폼 | BigCommerce |
| 카테고리 | 이커머스 |
| 설정 난이도 | 보통 |
| 공식 통합 | 아니오 |
| 동기화되는 데이터 | 고객, 주문, 제품, 장바구니 |
| 사용 가능한 스킬 | 10 |
주요 기능
- 고객 동기화 - Brevo 연락처로의 실시간 고객 데이터 동기화
- 주문 추적 - 구매 후 마케팅 플로우를 위한 주문 라이프사이클 이벤트
- 제품 카탈로그 동기화 - 이메일 추천 및 동적 콘텐츠를 위한 제품 동기화
- 장바구니 이탈 - 자동화된 이메일로 이탈한 장바구니 추적 및 복구
- 다중 스토어프론트 지원 - 여러 BigCommerce 스토어프론트 연결
- 웹훅 기반 업데이트 - BigCommerce 웹훅을 통한 실시간 데이터 업데이트
- 커스텀 필드 - BigCommerce 커스텀 필드를 Brevo 연락처 속성에 매핑
- 재고 추적 - 재입고 알림을 위한 재고 수준 동기화
사전 준비 사항
시작하기 전에 다음 사항이 준비되어 있어야 합니다.
- Store Owner 또는 Admin 액세스 권한이 있는 BigCommerce 스토어
- 적절한 OAuth 스코프를 가진 BigCommerce API 계정
- Store Hash (스토어 URL 또는 API 자격 증명에서 확인 가능)
- API 액세스가 가능한 Brevo 계정
- API 자격 증명이 있는 Tajo 계정
인증
API 계정 자격 증명
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 엔드포인트
| Method | 엔드포인트 | 설명 |
|---|---|---|
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 | 제품 variant 목록 |
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개 레코드 |
| 동시 요청 | 플랜에 따라 다름 |
요청 제한 헤더
제한 내에서 API 사용량을 관리하려면 X-Rate-Limit-Requests-Left 및 X-Rate-Limit-Time-Reset-Ms 헤더를 모니터링하세요.
문제 해결
| 문제 | 원인 | 해결 방법 |
|---|---|---|
401 Unauthorized | 유효하지 않은 액세스 토큰 | BigCommerce 관리자에서 API 자격 증명을 재생성하세요 |
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를 추적하세요 - 실시간 동기화를 위해 웹훅 등록 - 고객 및 주문 업데이트에 폴링 대신 웹훅을 사용하세요
- 고객 업데이트 배치 처리 - 대규모 데이터 동기화에 V3 대량 고객 엔드포인트를 사용하세요
- 제품 동기화에 variant 포함 - 정확한 재고 추적을 위해 제품 variant를 동기화하세요
- 이탈 장바구니 웹훅 설정 - 장바구니 복구 이메일 자동화에 필수적입니다
- 페이지네이션 사용 - 목록 엔드포인트는 항상 페이지네이션하세요. 페이지당 최대 250개 레코드
보안
- OAuth 토큰 인증 - 안전한 토큰 기반 API 액세스
- 스코프 권한 - API 계정은 특정 데이터 스코프로 제한됩니다
- HTTPS 전용 - 모든 API 통신은 TLS로 암호화됩니다
- 웹훅 검증 - store hash를 사용해 웹훅 출처를 확인합니다
- PCI DSS 규정 준수 - BigCommerce는 결제 데이터를 안전하게 처리합니다
- SOC 2 Type II - BigCommerce 플랫폼은 SOC 2 인증을 받았습니다