Files
KArtSell.Aegis/docs/Design/kbx-foundation-v52-fe-operational-navigation-screen-anatomy/docs/official-provider-adapters-v20.md
T
kjh2064 c41e5063b7 chore: remove kbx-foundation-v36 reference (superseded by v4 implementation)
Removed entire kbx-foundation-v36 directory as it's been replaced by
the new KBX Foundation v4 patterns implemented in this session:
- Registry-driven screen definitions
- Density-aware UI adapter components
- Feature module templates (ShadowRun, Models)

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-08-12 01:39:58 +09:00

2.4 KiB

KBX v20 — Official Market/Data Provider Adapters

목적

KRX OPEN API, OPENDART, KIS를 KBX/Domain에서 직접 호출하지 않고 Provider Adapter 뒤에 격리한다. 공식 문서에서 확인되지 않은 URL·호출한도·오류코드는 계약에 추정하여 넣지 않는다.

KRX

  • 이용 순서: 인증키 신청 → API 서비스 탐색 → 개별 서비스 활용 신청 → 승인 후 이용.
  • 인증키는 Request Header의 AUTH_KEY로 전달한다.
  • 개별 데이터 서비스 URL/메서드는 승인된 KRX 서비스 명세를 운영 설정으로 등록한다. v20 저장소는 확인되지 않은 공통 URL을 만들지 않는다.
  • 숫자형 공통 호출한도는 이번 공식 자료에서 확인되지 않아 null로 유지한다.

OPENDART

  • Base: https://opendart.fss.or.kr/api/
  • 인증: query crtfc_key, 40자리.
  • Reference operations: list.json, company.json, corpCode.xml.
  • 응답 status: 000 정상, 013 데이터 없음, 020 요청 제한, 800 점검, 900 정의되지 않은 오류 등.
  • 020은 공식 가이드에서 일반적으로 20,000건 이상의 요청에서 발생할 수 있다고 설명하지만 서비스별 제한이 다를 수 있으므로 KBX가 20,000을 보편적 quota로 고정하지 않는다.

KIS

  • REST 실전: https://openapi.koreainvestment.com:9443
  • REST 모의: https://openapivts.koreainvestment.com:29443
  • OAuth token: POST /oauth2/tokenP, grant_type=client_credentials, appkey/appsecret.
  • Access token 유효기간 24시간, 공식 문서는 6시간 갱신발급주기를 안내한다.
  • 2026-04-20 공식 공지: 실전 REST 18 req/s, 모의 1 req/s, token 발급 1 req/s. 동시 호출은 100~150ms 간격 권장.
  • v20의 KIS Adapter는 시세 조회 GET만 지원한다. 주문/정정취소 POST는 별도 Trading Integration 계약 없이는 추가하지 않는다.
  • 현재가 Reference: /uapi/domestic-stock/v1/quotations/inquire-price, TR FHKST01010100.

Secret 정책

AUTH_KEY, crtfc_key, appkey, appsecret, access_token은 UI·Telemetry·Audit diff·로그에 저장하지 않는다. Adapter는 IKbxProviderSecretStore에서만 읽는다.

캐시/실패

Provider 데이터는 업무 원장이 아니다. Provider 장애 시 기존 Domain Write를 되돌리거나 외부 응답을 Business Truth로 승격하지 않는다. 데이터 신선도와 원천 시각을 별도 보존한다.