Commerce & PlatformsDelivered

수입차 부품 B2B 커머스

Car Parts B2B Commerce

수입차 부품 도매 유통 B2B 커머스 플랫폼. 대리점·딜러·도매 3-티어 가격 정책 엔진과 프로모션 코드·시즌 할인 레이어를 독립적으로 운영. ERP REST API 폴링으로 재고·단가·발주 상태를 5분 주기 동기화하고 주문 접수 시 카카오 알림톡 자동 발송. 관리자 백오피스 포함 4개월 내 풀스택 납품.

2025·4개월

Architecture Overview

Next.js 풀스택 아키텍처. API Routes가 ERP 폴링 크론·주문 처리·알림톡 발송을 담당. MySQL을 커머스 DB + ERP 스테이징 버퍼 이중 용도로 사용하며 Redis가 ERP 응답 캐시와 세션을 관리.

3-tier 가격 규칙 엔진 · ERP SHA-256 폴링 · 카카오 알림톡 상태 트리거 · 4개월 풀스택 납품

Technical Problems

01

대리점·딜러·도매 3-tier 가격 정책 복잡도

동일 SKU에 거래처 유형·거래량 등급·프로모션 코드·시즌 할인이 독립적으로 조합된다. 조건문 기반으로는 경우의 수가 폭발하고 정책 변경마다 전면 재배포가 필요했다.

02

ERP 웹훅 미지원으로 재고·단가 동기화 지연

이카운트 ERP는 웹훅을 지원하지 않아 주문 시점과 재고 갱신 시점 사이의 불일치로 재고 없는 상품 주문 및 단가 오적용이 빈번하게 발생했다.

03

주문 상태 변경 시 거래처 즉시 통보 부재

이메일은 확인율이 낮고 SMS는 비용이 높다. 주문 접수·출고·취소 각 단계별로 거래처 담당자에게 즉각 도달하는 알림 채널과 자동화가 요구됐다.

Engineering Approach

01

계층적 price_rules 테이블 + 런타임 specificity 평가

`price_rules(tier ENUM, customer_id, sku_id, rate, promo_code, valid_from, valid_to)` 테이블로 가격 정책 데이터화. 주문 생성 시 specificity 우선순위(프로모션 > 거래처 > 등급 > 기본)로 규칙 순차 평가해 최종가 산출. 정책 변경은 DB 업데이트만으로 즉시 반영.

02

SHA-256 변경 감지 + 5분 주기 폴링 크론

ERP API 응답을 JSON 직렬화 후 SHA-256 해시, 이전 해시와 비교해 변경된 품목·단가만 업서트. Redis 재고 캐시 무효화로 즉시 반영. 전체 재동기화 없이 변경 분만 처리해 API 호출 최소화.

03

카카오 알림톡 주문 상태 전이 트리거

주문 상태 FSM `pending→confirmed→shipped→cancelled` 전이마다 서버사이드 훅에서 카카오 알림톡 API 호출. `customers.contact_phone`에서 거래처 담당자 번호 조회 후 발송. 월 5,000건 한도 카운터 미들웨어 포함.

Measurable Outcomes

−95%

재고 불일치

5분 주기 ERP SHA-256 동기화

0건

가격 오적용

규칙 테이블 기반 정책 엔진

4개월

납품 기간

풀스택 + 관리자 백오피스

12사

초기 거래처

런칭 시 B2B 온보딩

Tech Stack

Frontend
Next.jsTypeScriptTailwind CSS
Backend
Node.js API RoutesMySQLRedis
Integration
ERP REST APISHA-256 DeltaKakao 알림톡
Infra
VercelCron Jobs
수입차 부품 B2B 커머스 - Image 1

Project Specs

Year

2025

Duration

4개월

Capability

Commerce & Platforms

Status

Delivered

Technologies

Next.jsMySQLNode.jsERP REST APIKakao 알림톡Redis

Have a similar project?

Let's build
something real.

Start a Conversation
수입차 부품 B2B 커머스 Car Parts B2B Commerce | 달파몬 포트폴리오 | 달파몬 Dalpamon