미국 법인 Shopify B2B 스토어 구축 · B2B 백엔드
기간 — 현재
글로벌 스포츠 브랜드 미국 법인이 거래처 주문을 받는 Shopify B2B 스토어입니다. 백엔드를 맡아 B2B 서버와 ERP 연동 서버를 만들었습니다.
거래처별 카탈로그·가격을 제공하고,
주문 송신과 부분 출고까지 잇는 B2B 서버
- 거래처·사업장, 상품·재고 동기화
- 거래처별 주문 수량 규칙
- 서명을 검증한 웹훅 저장, 실패 재시도, 잘못된 메시지 격리
ERP와 통신하는 서버를 하나로
- 문제
- B2B와 B2C 서버가 각자 ERP 클라이언트를 두면 인증 정보와 연동 규칙이 여러 곳에 흩어집니다. ERP 쪽이 바뀔 때마다 서버마다 고쳐야 합니다.
- 해결
- ERP와 통신하는 창구를 연동 서버 하나로 모았습니다. B2B·B2C 서버는 연동 서버의 내부 API와 이벤트만 씁니다. ERP 쪽 변경은 연동 서버 한 곳에서만 고치면 됩니다.
요청한 개발 범위의 전제부터 확인
- 문제
- 고객이 요청한 개발 범위는 ERP 연동 커넥터가 이미 있다는 전제로 정해져 있었습니다.
- 해결
- 요청 항목을 재사용·수정·신규·외부 확인으로 나눴습니다. 커넥터가 없다는 점과 별도 계약이 필요한 범위를 개발 전에 짚었습니다.
세 가지 주문 방식, 하나의 검증
- 문제
- 거래처별 접근 권한, 카탈로그 노출, 대량 주문, 선불·후불 구분 요구가 한꺼번에 들어왔습니다. 주문도 매트릭스, 카탈로그, 품번·CSV 세 방식으로 받아야 했습니다.
- 해결
- 정책마다 기술 검토를 따로 열고, 고객사가 정할 항목과 기술로 확인할 항목을 나눠 질문지 세 종류로 회신했습니다. 세 주문 방식은 모두 같은 장바구니로 모인다고 보고, 주문 검증 API를 하나로 설계했습니다.
바뀐 주문 기준과 확정 정책
- 문제
- 회의에서 B2B 주문 기준이 생산 발주에서 현재 재고와 입고 예정 수량으로 바뀌었습니다. 이미 개발한 부분과 부딪히는 변경이었습니다.
- 해결
- 변경 요청과 확정된 정책을 나눠 기록하고, 기존 구현과 부딪히는 부분을 따로 정리했습니다. 변경은 개발한 내역을 백업하고, 변경 목록을 만든 뒤, 범위와 일정 영향을 합의하는 순서로 받았습니다. 확정 정책과 추가 확인이 필요한 요청이 섞이지 않게 됐습니다.
가짜 응답이 놓친 제약
- 문제
- 가짜 서버의 응답만으로는 실제 스토어의 제약을 알 수 없었습니다.
- 해결
- 합성 데이터를 연동 서버와 처리기를 거쳐 개발 스토어까지 보내고, 실제 가격과 재고를 확인했습니다. 식별자 형식, 거래처 수정 필드, 가격표 이름 충돌을 실제 응답에서 찾아 고쳤습니다.