본문 바로가기
코인/코인원API

코인원 API V2 사용하여 엑셀 코인구매 하기 , 만드는 방법 - VBA

by 큐브빌드 2021. 5. 18.
반응형

이번에는 코인원 API V2를 사용하여 엑셀에서 구매하는 엑셀 파일을 만들어 보겠습니다.

 

기존과 다르게 이제는 그냥 만드는 방법만 설명을 할려고 합니다.

 

API V2 버전으로 신청하셔야 합니다. 

 

신청법은 아래 링크를 참조해주시면 됩니다.

 

API V2를 신청하시면 

 

Access Token과 Secret Key를 줍니다. 잘 모셔 두시면 됩니다.

 

그러면 이제 엑셀 작업 시작하겠습니다.

 

A1셀 부터 B5 셀 까지 사용 합니다.

 

나머지는 모두 아실것이며 , 코인종류는 코인명에 노출 되어 있는 영문 작성하시면 됩니다.

 

예를 들면 이오스의 경우 EOS 입니다.

 

엑셀에서 할 것은 끝났습니다. 이제 VBA에서 작업을 진행하겠습니다.

 


visual basic을 실행하셔야 합니다.

 

엑셀에서 Alt+F11키를 누르시면 됩니다.

 

 

그리고 가장 먼저 해야 될 것은 레퍼런스 도구 > 추가 입니다.

그리고 2개 레퍼런스를 추가하셔야 합니다.

Microsoft WinHTTP Services , version 5.1

Microsoft XML, v3.0 입니다. (체크하셔야 합니다.

 

그다음으로 삽입 -> 모듈을 선택합니다.

※ 경우에 따라 이미지처럼 Option Explicit 가 있을 수 있는데 삭제해주세요.

 

이제 코드를 작성합니다.

Sub LimitBuy()
ACCESS_TOKEN = Range("b1") '엑셀 위치에 따라 b1 대신 해당 주소 입력
SECRET_KEY = Range("b2")
코인종류 = Range("b3")
구매수 = Range("b4")
개당구매가 = Range("b5")

nonce = TimeStamp(Now()) '코인원의 nonce는 타임스템프를 사용하며 1초 = 1000 처리
'Payload 만들기
dumped_json = "{'access_token': '" & ACCESS_TOKEN & "', 'price': '" & 개당구매가 & "', 'qty': '" & 구매수 & "', 'currency': '" & 코인종류 & "', 'nonce': " & nonce & "}"
dumped_json = Replace(dumped_json, "'", """")
encoded_json = EncodeBase64(dumped_json)
get_signature = Hex_HMACSHA512(encoded_json, SECRET_KEY)
Dim wh As New WinHttp.WinHttpRequest
wh.Open "post", "https://api.coinone.co.kr/v2/order/limit_buy"
wh.setRequestHeader "content-type", "application/json"
wh.setRequestHeader "x-coinone-payload", encoded_json
wh.setRequestHeader "x-coinone-signature", get_signature
wh.send
End Sub

 

해당 코드는 최대한 코인원 API 레퍼런스와 동일하게 변수를 입력해서 만들었습니다.

 

그리고 인증 과정 및 규칙에서 추가로 필요한 코드가 있습니다.

 

해당 부분은 아래 링크에서 참고하여 복사 붙여넣기 하시면 됩니다.

 

TimeStamp

EncodeBase64

Hex_HMACSHA512

 

이렇게 하면 완료 됩니다.

반응형

댓글