Skip to content

feat(parking): 전국 주차장 정보·실시간 잔여면 읽기 서비스#26

Merged
ArcSolver merged 2 commits into
mainfrom
feat/parking
Jun 3, 2026
Merged

feat(parking): 전국 주차장 정보·실시간 잔여면 읽기 서비스#26
ArcSolver merged 2 commits into
mainfrom
feat/parking

Conversation

@ArcSolver

Copy link
Copy Markdown
Owner

개요

한국교통안전공단 전국 주차장 정보·실시간 잔여면 읽기 서비스. 🅿️ 교통 곁가지. data.go.kr B553881.

도구 (3종, GET·읽기)

  • parking_search(...) — 주차장 정보(명칭·주소·위경도·총면수)
  • parking_operation(...) — 운영시간·요금
  • parking_realtime(...) ⭐ — 실시간 잔여 주차면

설계

  • 인증: PARKING_SERVICE_KEY(Decoding). ⚠️ 포맷 파라미터 format=2(JSON; _type 아님). 코어 get_json.
  • ⚠️ 봉투 quirk: items가 표준 items.item[]이 아니라 오퍼레이션명 키 최상위({..., "PrkSttusInfo":[...]}) — normalize_items 흡수.
  • ⚠️ 실시간 잔여면은 연동 주차장만 제공(나머지 정적) — 도구/README 6곳 일관 명시. 잔여 0=만차 보존.

검증

교차 독립 검증(공식+외부구현 교차) — 버그 0, format=2·봉투 최상위 키·실시간 한정 모두 정확. 36 테스트·전체 635 passed·ruff clean.

통합 노트

공유: .env.example·docs/providers.md(append). ⚠️ 타 PR과 append-only 겹침 — 나중 머지 리베이스.

🤖 Generated with Claude Code

ArcSolver and others added 2 commits June 4, 2026 00:07
한국교통안전공단(KOTSA) 주차정보 제공 API(data.go.kr 15099883) 읽기 래퍼.
단일 base B553881/Parking의 3개 오퍼레이션(시설/운영/실시간)을 하나의
서비스키로 커버하는 3개 GET 도구:
- parking_search(/PrkSttusInfo): 전국 주차장 시설정보(이름·주소·위경도·총 주차면·PK)
- parking_operation(/PrkOprInfo): 운영정보(운영시간·기본/추가 요금·무료회차)
- parking_realtime(/PrkRealtimeInfo) ⭐: 실시간 잔여 주차면(현재/총 주차가능 구획)

모든 응답은 주차장관리번호 prk_center_id를 PK로 공유.
⚠️ 실시간 잔여면은 시스템 연동 주차장 한정(공식 안내: 운영·실시간 정보는
시설정보보다 데이터 수가 적음) — 도구 설명·README에 커버리지 한계 명시.

data.go.kr 함정 처리: 서비스키 쿼리 파라미터(Decoding 키, 이중 인코딩 방지),
format=2(JSON) 명시, 봉투 resultCode!="00"(+게이트웨이 cmmMsgHeader) 에러 매핑.
B553881 고유 quirk: 항목 배열이 표준 response.body.items.item이 아니라
오퍼레이션명 키 아래에 실리고 1건이면 단일 객체·0건이면 키 누락 → normalize_items 흡수.
좌표·요금·시각·면수 문자열 보존(잔여 0면 포함).

테스트 2종(계약 25 + 도구 21 = mock, 네트워크 없음) 전체 통과, ruff 통과.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@ArcSolver ArcSolver merged commit 7c3a13f into main Jun 3, 2026
@ArcSolver ArcSolver deleted the feat/parking branch June 3, 2026 15:07
ArcSolver added a commit that referenced this pull request Jun 4, 2026
* feat(parking): 전국 주차장 정보·실시간 잔여면 읽기 서비스

한국교통안전공단(KOTSA) 주차정보 제공 API(data.go.kr 15099883) 읽기 래퍼.
단일 base B553881/Parking의 3개 오퍼레이션(시설/운영/실시간)을 하나의
서비스키로 커버하는 3개 GET 도구:
- parking_search(/PrkSttusInfo): 전국 주차장 시설정보(이름·주소·위경도·총 주차면·PK)
- parking_operation(/PrkOprInfo): 운영정보(운영시간·기본/추가 요금·무료회차)
- parking_realtime(/PrkRealtimeInfo) ⭐: 실시간 잔여 주차면(현재/총 주차가능 구획)

모든 응답은 주차장관리번호 prk_center_id를 PK로 공유.
⚠️ 실시간 잔여면은 시스템 연동 주차장 한정(공식 안내: 운영·실시간 정보는
시설정보보다 데이터 수가 적음) — 도구 설명·README에 커버리지 한계 명시.

data.go.kr 함정 처리: 서비스키 쿼리 파라미터(Decoding 키, 이중 인코딩 방지),
format=2(JSON) 명시, 봉투 resultCode!="00"(+게이트웨이 cmmMsgHeader) 에러 매핑.
B553881 고유 quirk: 항목 배열이 표준 response.body.items.item이 아니라
오퍼레이션명 키 아래에 실리고 1건이면 단일 객체·0건이면 키 누락 → normalize_items 흡수.
좌표·요금·시각·면수 문자열 보존(잔여 0면 포함).

테스트 2종(계약 25 + 도구 21 = mock, 네트워크 없음) 전체 통과, ruff 통과.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* chore(parking): 카탈로그·체인지로그 재생성

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant