-
한국투자증권 Open API, 'Talend API Tester' 테스트 해보기프로그래밍/Open API 2022. 12. 20. 11:13반응형
한국투자증권에서 국내 증권사 최초로 Open API를 2022년 4월부터 제공했다. HTTPS 프로토콜에 OAuth 인증을 사용한다. 이것으로 기존 증권사 API들의 윈도우 OS에 종속적이거나 공인인증서 등을 설치해야 하는 복잡한 프로세스들이 사라졌다. 시스템 트레이딩을 구축하는 개인들에겐 엄청나게 기쁜 소식이 아닐 수 없다. 이베스트증권사의 api를 http프토콜로 맵핑시킨 필자의 오픈소스 프로젝트가 없어질 날이 멀지 않은 것 같다.
아래 사이트에 방문하여 한국투자 API를 신청 후 구글 크롬 웹 스토에서 api test로 유명한 'Talend API Tester' 앱을 이용하여 테스트해보았다.
oauth 인증이기 때문에 api 신청시 발급받은 app key와 app secret값으로 토큰을 받을 수 있다. /oauth2/tokenP URI로 값을 넘기면 하루 동안 사용할 수 있는 토큰 값을 응답으로 준다. 이 토큰으로 다른 URI를 호출할 때 인증값으로 사용한다.
URI 마다 사용해야 할 메소드가 있으니 이는 API 문서를 참고하면 된다. 이렇게 인증 요청을 하면 응답 값 'access_token'을 선물로 준다. 그럼 이 토큰 값으로 주식 주문을 해 보겠다.
주식 주문의 URI는 /uapi/domestic-stock/v1/trading/order-cash 이다. 메소드는 POST로 하라고 API 문서에 명시되어 있다. POST 메소드니 요청 바디에 JSON 메시지를 담아 보내야 한다. 그전에 요구하는 기본정보는 http header에 넣어주어야 한다.API문서에 자세한 설명과 JSON 샘플 메시지가 있다. 간략하게 설명하면 헤더 속성 중 authorization에는 응답받은 토큰 값을 넣는다 'Bearer '이어 토큰 값을 넣으면 된다. appkey, appsecret 유니크한 보안 키이니 잘 간직하고 외부에 노출하는 일이 없어야겠다. gt_uid는 트랜젝션 키값이다. 필수 사항은 아니지만 자신이 요청한 트래픽에 대한 응답에 같은 값을 넣어준다. 필수는 아니지만 사용하길 권장한다. UUID값을 넣었으나 32Byte까지 사용하라 해서 4Byte 자르고 넣었다. 실제 사용할 땐 직관적인 년월일시분초시퀀스 포맷이 괜찮을 것 같다.
이렇게 구글 웹 스토어에서 다운로드한 'Talend API Tester' 이용해 API 테스트를 해보았다. https에 OAuth 인증으로 Open API를 제공하는 증권사가 생기다니 개발자로서 많이 흥미로운 일이다. Open API를 제공해주니 적극 잘 활용해봐야겠다.반응형'프로그래밍 > Open API' 카테고리의 다른 글
한국투자증권, 텔레그램 API 활용 - 잔고 조회 (0) 2023.02.28 한국투자증권, 텔레그램 API 활용기 (0) 2023.02.24