글로벌 자사몰 온보딩 기능 명세
개요
AI-native 글로벌 자사몰(MAKITT)에서 사용자가 완전한 운영(상품→결제→주문→배송)까지 도달하기 위한 전체 온보딩 여정과 Progress UX를 정의한다.
배경
현재 온보딩 플로우:
- 3D 온보딩 씬(Scene 0-6) → 국가 선택 → 샘플 상품 → 샘플 샵 → 홈 진입
문제점: 실제 운영까지의 긴 여정에 대한 Progress 가이드가 없음. 사용자가 다음에 무엇을 해야 하는지, 얼마나 남았는지 알 수 없음.
목표
- 7단계 온보딩 여정 정의
- 각 단계별 필수/선택 항목 명확화
- 단계 간 의존성 및 병렬 진행 가능 여부 정의
- 메인 화면 Progress UX 제안
온보딩 7단계 정의
flowchart LR
S1[1. 조직 설정] --> S2[2. 샵 설정]
S2 --> S3[3. 상품 준비]
S2 --> S4[4. 마켓별 설정]
S3 -.-> S4
S4 --> S5[5. 결제 연동]
S4 --> S6[6. 물류 연동]
S5 --> S7[7. 콘텐츠 & 런칭]
S3 --> S7
| 단계 | 구분 | 설명 |
|---|
| 1. 조직 설정 | 필수 | 비즈니스 주체 정보 등록 |
| 2. 샵 설정 | 필수 | 기본 샵 정보, 브랜딩, 정책 |
| 3. 상품 준비 | 필수 | 최소 1개 상품 등록 |
| 4. 마켓별 설정 | 마켓별 | 세금, 배송, 가격 정책 |
| 5. 결제 연동 | 마켓별 | PG사 연동 및 테스트 |
| 6. 물류 연동 | 선택 | ARGO 또는 자체 처리 |
| 7. 콘텐츠 & 런칭 | 필수 | 최종 점검 및 오픈 |
1단계: 조직 설정 (Organization Setup)
목적
비즈니스 주체 정보를 등록하여 법적/세금 요건을 충족
필수 항목
| 항목 | 설명 | 검증 규칙 |
|---|
| 조직명 | 브랜드/회사 이름 | 2-100자 |
| 조직 유형 | PERSONAL / BUSINESS / ENTERPRISE | 선택 필수 |
| 대표자명 | 사업자 대표 | 2-50자 |
| 연락처 | 대표 연락처 | 국가별 전화번호 형식 |
| 이메일 | 비즈니스 이메일 | 이메일 형식 검증 |
국가별 사업자 정보
한국 (KR)
| 항목 | 설명 | 검증 규칙 |
|---|
| 사업자등록번호 | 10자리 숫자 | XXX-XX-XXXXX 형식 |
| 통신판매업 신고번호 | 시군구 + 번호 | XXXX-시군구-XXXX |
미국 (US)
| 항목 | 설명 | 검증 규칙 |
|---|
| Tax ID (EIN) | 고용주 식별 번호 | XX-XXXXXXX 형식 |
| Business State | 사업 등록 주 | 50개 주 선택 |
일본 (JP)
| 항목 | 설명 | 검증 규칙 |
|---|
| 法人番号 | 법인 번호 | 13자리 숫자 |
| 特定商取引法表記 | 특정상거래법 표기 정보 | 사업자명/주소/전화/반품조건 |
싱가포르 (SG)
| 항목 | 설명 | 검증 규칙 |
|---|
| UEN | 고유 법인 번호 | 9-10자리 영숫자 |
| GST 등록 여부 | 부가세 등록 여부 | Boolean |
완료 조건
- 모든 필수 항목 입력
- 사업자 정보 유효성 검증 통과
2단계: 샵 기본 설정 (Shop Setup)
목적
고객에게 노출되는 기본 샵 정보 설정
필수 항목
| 항목 | 설명 | 검증 규칙 |
|---|
| 샵 이름 | 스토어 브랜드명 | 2-100자 |
| 샵 URL (slug) | 샵 주소 식별자 | 영문소문자, 숫자, 하이픈 |
| 기준 마켓 | 메인 판매 국가 | KR/US/JP/SG 중 선택 |
| 기본 언어 | 메인 언어 | ko/en/ja 중 선택 |
| 기본 통화 | 메인 통화 | KRW/USD/JPY/SGD |
| 시간대 | 운영 기준 시간대 | Asia/Seoul 등 |
브랜딩 (필수)
| 항목 | 설명 | 검증 규칙 |
|---|
| 로고 | 브랜드 로고 이미지 | PNG/SVG, 최대 2MB |
| 메인 컬러 | 브랜드 대표 색상 | HEX 코드 |
| 파비콘 | 브라우저 탭 아이콘 | ICO/PNG, 32x32 이상 |
정책 (필수)
| 항목 | 설명 | 템플릿 제공 |
|---|
| 이용약관 | Terms of Service | 국가별 템플릿 |
| 개인정보처리방침 | Privacy Policy | 국가별 템플릿 |
| 반품/환불 정책 | Returns Policy | 국가별 템플릿 (KR: 청약철회 7일) |
완료 조건
- 기본 정보 및 브랜딩 완료
- 필수 정책 3종 작성
3단계: 상품 준비 (Product Setup)
목적
판매할 상품을 등록하고 글로벌 판매를 위한 다국어/다통화 설정
필수 항목
| 항목 | 설명 | 최소 요건 |
|---|
| 상품 등록 | 최소 1개 이상 상품 | 이름, 가격, 이미지, 재고 |
| 기준 가격 | 기준 마켓 통화 가격 | 필수 |
| 상품 이미지 | 메인 이미지 | 최소 1장 |
| 재고 수량 | 판매 가능 수량 | 0 이상 |
상품 기본 정보
| 필드 | 필수 | 설명 |
|---|
| 상품명 | O | 2-200자 |
| 상품 설명 | O | 리치 텍스트 |
| 카테고리 | O | 계층 구조 선택 |
| 가격 | O | 기준 통화 |
| SKU | X | 재고 관리 코드 |
| 바코드 | X | EAN/UPC |
| 무게 | X | 배송비 계산용 |
| 원산지 | X | 국제 배송용 |
| HS Code | X | 관세 분류 코드 |
글로벌화 설정 (마켓 확장 시 필수)
| 항목 | 설명 |
|---|
| 다국어 상품명 | 마켓별 언어로 번역 |
| 다국어 설명 | 마켓별 언어로 번역 |
| 마켓별 가격 | 각 통화로 가격 설정 (자동 환율 또는 수동) |
| 마켓별 재고 | 지역별 재고 분리 관리 (선택) |
완료 조건
- 최소 1개 상품 등록 완료
- 기준 마켓에서 구매 가능 상태
4단계: 마켓별 설정 (Market Configuration)
목적
각 판매 국가(마켓)에 맞는 세금, 배송, 가격 정책 설정
마켓 추가 흐름
flowchart TD
A[기준 마켓 설정 완료] --> B[추가 마켓 선택]
B --> C[세금 설정]
B --> D[배송 설정]
B --> E[가격 정책]
B --> F[약관/컴플라이언스]
C & D & E & F --> G[마켓 활성화]
세금 설정
| 마켓 | 세금 유형 | 세율 | 계산 방식 |
|---|
| KR | 부가가치세 (VAT) | 10% | 포함 (INCLUSIVE) |
| US | 판매세 (Sales Tax) | 주별 상이 (0-10.25%) | 별도 (EXCLUSIVE) |
| JP | 소비세 (消費税) | 10% | 포함 (INCLUSIVE) |
| SG | GST | 9% | 별도 (EXCLUSIVE) |
배송 설정
| 마켓 | 기본 배송사 | 기본 배송비 | 무료 배송 기준 |
|---|
| KR | CJ대한통운 | ₩5,000 | ₩50,000 이상 |
| US | USPS/FedEx | $9.99 | $75 이상 |
| JP | Yamato/Sagawa | ¥800 | ¥10,000 이상 |
| SG | DHL | S$15 | S$100 이상 |
국가별 약관
| 마켓 | 필수 약관 |
|---|
| KR | 이용약관, 개인정보처리방침, 청약철회 정책 |
| US | Terms of Service, Privacy Policy |
| JP | 特定商取引法に基づく表記, プライバシーポリシー |
| SG | Terms and Conditions, Privacy Policy, Lemon Law 고지 |
완료 조건
- 활성화하려는 각 마켓에 대해:
- 세금 설정 완료
- 배송 영역 및 배송비 설정
- 필수 약관 작성
5단계: 결제 연동 (Payment Integration)
목적
마켓별 결제 수단 연동 및 테스트
마켓별 결제 수단
| 마켓 | PG사 | 결제 수단 |
|---|
| KR | 토스페이먼츠 | 카카오페이, 네이버페이, 토스페이, 신용카드 |
| US | Stripe | Credit Card, Apple Pay, Google Pay |
| JP | Stripe | Credit Card, JCB, Konbini |
| SG | Stripe, PayPal | Credit Card, PayNow, GrabPay |
연동 프로세스
flowchart LR
A[PG사 선택] --> B[API 키 입력]
B --> C[연결 테스트]
C --> D[Webhook 설정]
D --> E[테스트 결제]
E --> F[Live 모드 전환]
필수 항목
| 항목 | 설명 |
|---|
| PG사 선택 | 마켓별 최소 1개 PG |
| API 키 설정 | Public Key, Secret Key |
| Webhook URL | 결제 상태 알림 수신 |
| 테스트 결제 | 샌드박스에서 결제 테스트 |
완료 조건
- 각 활성 마켓에 최소 1개 PG 연동
- 테스트 결제 성공
6단계: 물류 연동 (Logistics Integration)
목적
주문 처리 및 배송을 위한 물류 시스템 연동
연동 옵션
| 옵션 | 설명 | 대상 |
|---|
| ARGO 연동 | Techtaka 물류 시스템 | 권장 (풀필먼트 서비스) |
| 자체 처리 | 직접 배송 처리 | 소규모 셀러 |
| 3PL 연동 | 외부 물류 연동 | 기존 3PL 사용자 |
ARGO 연동 흐름
flowchart TD
A[ARGO 연동 시작] --> B{신규/기존 벤더}
B -->|신규| C[벤더 등록]
B -->|기존| D[이메일로 조회]
C --> E[승인 대기]
D --> E
E --> F[연결 완료]
F --> G[기본 창고 지정]
완료 조건
- ARGO 연동 완료 및 "연결됨" 상태
- 또는 "나중에 하기" 선택 (건너뜀 상태)
참고
- 물류 연동은 선택 단계
- 건너뛰면 주문 발생 시 수동 처리 필요
- 설정 > 물류에서 언제든 연동 가능
7단계: 콘텐츠 & 런칭 (Content & Launch)
목적
샵 디자인 완성 및 최종 점검 후 오픈
콘텐츠 설정
| 항목 | 설명 | 필수 여부 |
|---|
| 홈페이지 레이아웃 | Builder로 메인 페이지 구성 | O |
| 카테고리 페이지 | 상품 카테고리별 페이지 | O |
| 상품 상세 | 상세 페이지 템플릿 | O |
| 장바구니/체크아웃 | 결제 플로우 확인 | O |
| 마이페이지 | 고객 주문 조회 등 | X |
| 고객센터 | FAQ, 문의 페이지 | X |
런칭 체크리스트
필수 점검 항목
런칭 프로세스
flowchart LR
A[최종 점검] --> B[테스트 주문]
B --> C{통과?}
C -->|Yes| D[샵 상태: ACTIVE]
C -->|No| A
D --> E[런칭 완료!]
완료 조건
- 런칭 체크리스트 필수 항목 모두 통과
- 샵 상태가 ACTIVE로 변경
단계별 요약
| 단계 | 필수 항목 | 선택 항목 | 예상 소요 시간 |
|---|
| 1. 조직 설정 | 기본 정보, 사업자 정보 | 추가 메타데이터 | 10-15분 |
| 2. 샵 설정 | 기본 정보, 브랜딩, 정책 | 커스텀 도메인, SEO | 20-30분 |
| 3. 상품 준비 | 최소 1개 상품 | 다국어, 다통화, 옵션 | 30분-2시간 |
| 4. 마켓별 설정 | 세금, 배송, 약관 | 가격 정책, 지역 제한 | 마켓당 15-20분 |
| 5. 결제 연동 | PG 연동, 테스트 결제 | 추가 결제 수단 | 마켓당 10-15분 |
| 6. 물류 연동 | ARGO 연동 또는 건너뛰기 | 복수 창고, 국제 배송 | 10-20분 |
| 7. 콘텐츠 & 런칭 | 페이지 구성, 런칭 점검 | SEO, 분석 도구 | 1-3시간 |
총 예상 소요 시간: 3-6시간 (1개 마켓 기준)
단계 간 의존성
| 단계 | 선행 조건 | 병렬 가능 |
|---|
| 1. 조직 | - | - |
| 2. 샵 | 1단계 완료 | - |
| 3. 상품 | 2단계 완료 | 4단계 |
| 4. 마켓 | 2단계 완료 | 3단계 |
| 5. 결제 | 4단계 완료 | 6단계 |
| 6. 물류 | 1단계 완료 | 5단계 |
| 7. 런칭 | 3, 5단계 완료 | - |
Progress UX 설계
메인 대시보드 Progress Widget
┌─────────────────────────────────────────────────────────────────────────┐
│ 🚀 샵 런칭까지 57% 완료 예상 소요: 약 2시간 │
│ │
│ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━░░░░░░░░░░░░░░░░░░░░░░░░░ 57% │
│ │
│ ┌───────┐ ┌───────┐ ┌───────┐ ┌───────┐ ┌───────┐ ┌───────┐│
│ │ ✓ │ │ ✓ │ │ ✓ │ │ ◐ │ │ ○ │ │ ○ ││
│ │ 조직 │ → │ 샵 │ → │ 상품 │ → │ 마켓 │ → │ 결제 │ → │ 런칭 ││
│ └───────┘ └───────┘ └───────┘ └───────┘ └───────┘ └───────┘│
│ 완료 ✓ 완료 ✓ 완료 ✓ 진행 중 대기 중 대기 중 │
│ │
│ 📍 다음 할 일: 마켓 설정 완료하기 │
│ KR 마켓 세금 설정이 아직 완료되지 않았습니다. │
│ [계속하기 →] │
└─────────────────────────────────────────────────────────────────────────┘
상태 아이콘
| 상태 | 아이콘 | 의미 |
|---|
| 완료 | ✓ | 단계 완료 |
| 진행 중 | ◐ | 현재 진행 중 |
| 대기 | ○ | 아직 시작 안함 |
| 잠김 | 🔒 | 선행 단계 미완료 |
| 건너뜀 | ⊘ | 선택 단계 건너뜀 |
| 주의 | ⚠️ | 필수 항목 미완료 |
상태 컬러
| 상태 | 배경색 | 텍스트/테두리 |
|---|
| 완료 | #DCFCE7 | #22C55E (녹색) |
| 진행 중 | #DBEAFE | #3B82F6 (파랑) |
| 대기 | #F1F5F9 | #64748B (회색) |
| 잠김 | #F1F5F9 | #94A3B8 (연한 회색) |
| 건너뜀 | #FEF3C7 | #F59E0B (노랑) |
| 주의 | #FEE2E2 | #EF4444 (빨강) |
단계별 상세 카드
진행 중 상태:
┌─────────────────────────────────────────┐
│ ◐ 4단계: 마켓별 설정 │
│ ━━━━━━━━━━━━━━░░░░░░░░░░░ 60% │
│ │
│ ✓ KR 마켓 기본 설정 │
│ ○ KR 세금 설정 ← 필수 │
│ ✓ KR 배송 설정 │
│ ○ US 마켓 설정 │
│ │
│ 예상 소요: 약 20분 [계속하기 →] │
└─────────────────────────────────────────┘
알림 배너
완료 시:
┌────────────────────────────────────────────────────────────────┐
│ ✓ 조직 설정이 완료되었습니다! 다음: 샵 기본 설정 [시작 →] │
└────────────────────────────────────────────────────────────────┘
런칭 가능 시:
┌────────────────────────────────────────────────────────────────┐
│ 🎉 모든 필수 설정이 완료되었습니다! 지금 샵을 오픈하세요. [런칭 →]│
└────────────────────────────────────────────────────────────────┘
구현 고려사항
상태 저장
- 서버 사이드:
onboarding_progress 테이블에 사용자별 진행 상황 저장
- 클라이언트: Zustand store에 현재 세션 상태 캐싱
- 실시간 동기화: 설정 변경 시 progress 자동 업데이트
접근성
- 키보드 네비게이션 지원 (Tab, Enter)
- 스크린 리더 호환 (ARIA labels)
- 고대비 모드 지원
성능
- Progress widget은 대시보드 초기 로딩에 포함
- 상세 체크리스트는 lazy loading
- 단계 상태는 캐싱하여 불필요한 API 호출 방지
다이어그램
- 온보딩 플로우 다이어그램:
diagrams/onboarding-flow.mmd
- 단계 의존성 다이어그램:
diagrams/onboarding-dependency.mmd