네이버가 2026-07-31 검색 오픈API 중 쇼핑·책·전문자료를 종료(유예·대체 없음)해 shop.json 이 404 SE05 를 반환한다. 후속 플랫폼인 NCP NAVER API HUB 를 붙인다. - NaverApiHubConfig: 게이트웨이 base_url + NCP Client ID/Secret(둘 다 차야 enabled) - services/naver_hub/client.py: X-NCP-APIGW-API-KEY-ID/KEY 인증, 오류 바디 3형식(게이트웨이/Search/인사이트)을 NaverApiHubError 로 정규화(auth_failed·retryable) - services/naver_hub/shopping_insight.py: POST /shopping/v1/categories. 문서 제약(기간 2017-08-01~, 분야 최대 3개, timeUnit·device·gender·ages)을 호출 전에 검증하고 카멜케이스 응답을 타입으로 변환 - tests: MockTransport 로 경로·헤더·오류형식 계약 검증 17건 + LPS_LIVE 스모크 주의: 허브에도 쇼핑 '검색'(상품명·가격·판매처)은 없다. 인사이트의 ratio 는 구간 내 최대값 100 기준 상대지표라 최저가 파이프라인 소스로는 쓸 수 없다. 기존 services/search/naver 어댑터는 손대지 않았다(사문화 상태 유지).
32 lines
1.0 KiB
Python
32 lines
1.0 KiB
Python
"""NCP NAVER API HUB 클라이언트.
|
|
|
|
네이버 개발자센터 오픈API 의 후속 플랫폼(2026-06-25 출시). 게이트웨이가 앞단에 있어
|
|
인증 헤더·경로·오류 형식이 옛 오픈API 와 다르다 — 자세한 건 client.py 참고.
|
|
|
|
⚠️ 허브에도 쇼핑 '검색'(상품명·가격·판매처)은 없다. 여기 있는 쇼핑 인사이트는
|
|
클릭 추이의 **상대 지표(0~100)** 라 최저가 파이프라인의 소스로는 쓸 수 없다.
|
|
"""
|
|
|
|
from services.naver_hub.client import NaverApiHubClient, NaverApiHubError
|
|
from services.naver_hub.shopping_insight import (
|
|
ShoppingCategory,
|
|
ShoppingInsightClient,
|
|
ShoppingInsightResult,
|
|
InsightPoint,
|
|
InsightSeries,
|
|
build_categories_body,
|
|
parse_categories_response,
|
|
)
|
|
|
|
__all__ = [
|
|
"NaverApiHubClient",
|
|
"NaverApiHubError",
|
|
"ShoppingInsightClient",
|
|
"ShoppingCategory",
|
|
"ShoppingInsightResult",
|
|
"InsightSeries",
|
|
"InsightPoint",
|
|
"build_categories_body",
|
|
"parse_categories_response",
|
|
]
|