# Step 4: 상품 검증 ## 개요 수집된 상품 목록에 대해 유효성을 검증합니다. 재고, 사양, 가격 등을 종합적으로 검증합니다. ## 검증 항목 | 검증 항목 | 방법 | 기준 | |-----------|------|------| | **재고/품절 여부** | 쇼핑몰 상세 페이지에서 재고 상태 확인 | "품절", "일시 품절", "재고 없음" 표시 여부 | | **사양/스펙 일치** | 사용자 요구사항과 상세 스펙 비교 | 핵심 사양 100% 일치 필요 | | **제품 특성 일치** | 카테고리, 브랜드, 모델 등 핵심 속성 대조 | 카테고리/브랜드/모델 일치 여부 | | **가격 정합성** | 시장 평균가 대비 정상 범위 여부 | 시장 평균 대비 ±30% 이내 | ## 검증 단계 ### 1단계: 재고 상태 확인 각 판매처에서 재고 상태를 확인합니다: | 상태 | 의미 | 처리 | |------|------|------| | **재고 있음** | 즉시 구매 가능 | PASS | | **일시 품절** | 재입고 예정 | CONDITIONAL PASS | | **품절** | 재고 없음 | FAIL | | **주문제작** | 제작 후 배송 | CONDITIONAL PASS | | **예약 판매** | 예약 후 배송 | CONDITIONAL PASS | ### 2단계: 사양/스펙 검증 사용자 요구사항과 상품 스펙을 비교합니다: #### 검증 기준 | 사양 유형 | 검증 방법 | 예시 | |-----------|-----------|------| | **핵심 사양** | 100% 일치 필요 | CPU, RAM, 저장용량 | | **부가 사양** | 80% 이상 일치 | 무게, 배터리 | | **선택 사양** | 일치 여부 표시 | 색상, 추가 옵션 | #### 검증 결과 분류 | 결과 | 의미 | |------|------| | **EXACT MATCH** | 모든 핵심 사양 일치 | | **PARTIAL MATCH** | 핵심 사양 일부 차이 | | **NO MATCH** | 핵심 사양 불일치 | ### 3단계: 제품 특성 일치 확인 다음 항목이 사용자 요구사항과 일치하는지 확인합니다: | 특성 | 확인 방법 | |------|-----------| | **카테고리** | 상품 분류 일치 여부 | | **브랜드** | 선호 브랜드 일치 여부 | | **모델** | 특정 모델 지정 시 일치 여부 | ### 4단계: 가격 검증 가격이 정상 범위인지 확인합니다: ``` 가격 정합성 = |상품가격 - 시장평균가| / 시장평균가 기준: - 0.0 ~ 0.3: PASS (정상) - 0.3 ~ 0.5: WARNING (주의) - 0.5 이상: FAIL (비정상) ``` ## 검증 결과 분류 | 결과 | 의미 | 조치 | |------|------|------| | **PASS** | 모든 검증 통과 | 상품 정보 표시 | | **CONDITIONAL PASS** | 조건부 통과 | 조건 명시 후 표시 | | **FAIL** | 검증 실패 | 실패 사유 표시 및 대안 제안 | ## 출력 ```json { "validation_id": "val_001", "collection_id": "col_001", "products": [ { "product_id": "prod_001", "validation_result": "PASS", "validation_details": { "stock": { "status": "PASS", "details": "재고 있음 (삼성 공식스토어)", "stock_level": "in_stock" }, "spec_match": { "status": "EXACT_MATCH", "details": "모든 핵심 사양 일치", "matched_specs": ["CPU: i7-1360P", "RAM: 16GB", "Storage: 512GB"], "unmatched_specs": [] }, "product_match": { "status": "PASS", "details": "카테고리, 브랜드, 모델 모두 일치", "category_match": true, "brand_match": true, "model_match": true }, "price_consistency": { "status": "PASS", "details": "시장 평균가 대비 정상 범위", "product_price": 1480000, "market_average": 1520000, "deviation_percent": -2.6 } }, "overall_score": 0.92 } ], "summary": { "total_validated": 6, "pass": 4, "conditional_pass": 1, "fail": 1 }, "validation_timestamp": "2024-01-15T10:40:00Z" } ``` ## 에러 핸들링 | 상황 | 처리 방법 | |------|-----------| | **상세 페이지 접근 불가** | 기본 정보만으로 검증 | | **스펙 정보 부족** | "미확인"으로 표시 | | **가격 정보 없음** | 가격 검증 건너뛰기 | | **재고 정보 없음** | "확인 필요"로 표시 | ## 규칙 1. **핵심 사양 100% 일치** — 핵심 사양이 불일치하면 FAIL 2. **재고 없는 상품은 FAIL** — 품절 상품은 FAIL 처리 3. **가격 이상 감지** — 비정상적으로 저렴하거나 비싼 경우 경고 4. **검증 결과 명시** — 각 항목의 검증 결과를 상세히 표시