반응형
API Reference
HTTP Method | API URL |
GET | https://api.upbit.com/v1/orders/chance |
QUERY PARAMS
필드명 | 필수 여부 | 설명 | 타입 |
market | Y | Market ID | String |
HEADERS
헤더명 | 필수 여부 | 설명 | 타입 |
Authorization | Y | Authorization token (JWT) | String |
Request Parameters
필드명 | 설명 | 타입 |
market | 마켓 ID | String |
Response
필드명 | 설명 | 타입 |
bid_fee | 매수 수수료 비율 | NumberString |
ask_fee | 매도 수수료 비율 | NumberString |
market | 마켓에 대한 정보 | Object |
market.id | 마켓의 유일 키 | String |
market.name | 마켓 이름 | String |
market.order_types | 지원 주문 방식 | Array[String] |
market.order_sides | 지원 주문 종류 | Array[String] |
market.bid | 매수 시 제약사항 | Object |
market.bid.currency | 화폐를 의미하는 영문 대문자 코드 | String |
market.bit.price_unit | 주문금액 단위 | String |
market.bid.min_total | 최소 매도/매수 금액 | Number |
market.ask | 매도 시 제약사항 | Object |
market.ask.currency | 화폐를 의미하는 영문 대문자 코드 | String |
market.ask.price_unit | 주문금액 단위 | String |
market.ask.min_total | 최소 매도/매수 금액 | Number |
market.max_total | 최대 매도/매수 금액 | NumberString |
market.state | 마켓 운영 상태 | String |
bid_account | 매수 시 사용하는 화폐의 계좌 상태 | Object |
bid_account.currency | 화폐를 의미하는 영문 대문자 코드 | String |
bid_account.balance | 주문가능 금액/수량 | NumberString |
bid_account.locked | 주문 중 묶여있는 금액/수량 | NumberString |
bid_account.avg_buy_price | 매수평균가 | NumberString |
bid_account.avg_buy_price_modified | 매수평균가 수정 여부 | Boolean |
bid_account.unit_currency | 평단가 기준 화폐 | String |
ask_account | 매도 시 사용하는 화폐의 계좌 상태 | Object |
ask_account.currency | 화폐를 의미하는 영문 대문자 코드 | String |
ask_account.balance | 주문가능 금액/수량 | NumberString |
ask_account.locked | 주문 중 묶여있는 금액/수량 | NumberString |
ask_account.avg_buy_price | 매수평균가 | NumberString |
ask_account.avg_buy_price_modified | 매수평균가 수정 여부 | Boolean |
ask_account.unit_currency | 평단가 기준 화폐 | String |
VBA Code
Sub Upbit_Orders_Chance()
Const ACCESS_KEY As String = "UPBIT_OPEN_API_ACCESS_KEY"
Const SECRET_KEY As String = "UPBIT_OPEN_API_SECRET_KEY"
Dim WinHttp As New WinHttp.WinHttpRequest
Dim url As String, nonce As String
Dim market As String, queryStr As String
Dim header As String, payload As String, signature As String, jwt As String
url = "https://api.upbit.com/v1/orders/chance"
market = "KRW-BTC"
queryStr = "market=" & market
nonce = DateDiff("s", "1/1/1970", Now) & Right(Timer() * 100, 3)
header = Base64Encode(StrConv("{""alg"":""HS256"",""typ"":""JWT""}", vbFromUnicode))
payload = "{""access_key"":""" & ACCESS_KEY & """,""nonce"":""" & nonce & """,""query"":""" & queryStr & """}"
payload = Base64Encode(StrConv(payload, vbFromUnicode))
signature = Base64Encode(SHA256Encrypt(header & "." & payload, SECRET_KEY))
jwt = header & "." & payload & "." & signature
With WinHttp
.Open "GET", url & "?" & queryStr
.SetRequestHeader "Authorization", "Bearer " & jwt
.Send
.WaitForResponse
Debug.Print .ResponseText
End With
Set WinHttp = Nothing
End Sub
SHA-256 Encrypt
더보기
Function SHA256Encrypt(text As String, Optional secretKey As String = vbNullString) As Byte()
Dim asc As Object, enc As Object
Dim bText() As Byte, bKey() As Byte, bytes() As Byte
Set asc = CreateObject("System.Text.UTF8Encoding")
If secretKey <> vbNullString Then
Set enc = CreateObject("System.Security.Cryptography.HMACSHA256")
bText = asc.Getbytes_4(text)
bKey = asc.Getbytes_4(secretKey)
enc.Key = bKey
bytes = enc.ComputeHash_2(bText)
Else
Set enc = CreateObject("System.Security.Cryptography.SHA256Managed")
bText = asc.Getbytes_4(text)
bytes = enc.ComputeHash_2((bText))
End If
SHA256Encrypt = bytes
Set asc = Nothing
Set enc = Nothing
End Function
Base64 Encode
더보기
Function Base64Encode(ByRef arrData() As Byte) As String
Dim objXML As MSXML2.DOMDocument
Dim objNode As MSXML2.IXMLDOMElement
Set objXML = New MSXML2.DOMDocument
Set objNode = objXML.createElement("b64")
objNode.DataType = "bin.base64"
objNode.nodeTypedValue = arrData
Base64Encode = Replace(objNode.text, Chr(10), vbNullString)
Set objNode = Nothing
Set objXML = Nothing
End Function
업비트 OPEN API
Upbit Open API v1.0.6
반응형
'VBA > Code' 카테고리의 다른 글
[VBA] 업비트 Open API>주문>주문 리스트 조회 (0) | 2019.10.04 |
---|---|
[VBA] 업비트 Open API>주문>개별 주문 조회 (0) | 2019.10.04 |
[VBA] 업비트 Open API>자산>전체 계좌 조회 (1) | 2019.09.30 |
[VBA] 업비트 Open API>시세 호가 정보 조회>호가 정보 조회 (1) | 2019.09.09 |
[VBA] 업비트 Open API>시세 Ticker 조회>현재가 정보 (4) | 2019.09.09 |