Skip to content

2. API Document

Kapoo edited this page Dec 7, 2021 · 6 revisions

2. API Document

์ด ์žฅ์€ Upbit API for JAVA ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•ด ๊ธฐ์ˆ ํ•ฉ๋‹ˆ๋‹ค.

์ œ๊ณต๋˜๋Š” ๋ฉ”์„œ๋“œ๋Š” ํŒจํ‚ค์ง€ test.java์—์„œ ํ™•์ธ ๋ฐ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (๋ช‡๋ช‡ ๋ฉ”์†Œ๋“œ๋Š” Upbit API Key๋ฅผ ์š”๊ตฌํ•ฉ๋‹ˆ๋‹ค)




2-1. API ๋ชฉ๋ก

๊ตฌํ˜„๋œ API๋Š” ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ์ธ์ฆ
    • โœ… ์ธ์ฆ ํ† ํฐ
    • โœ… ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์žˆ๋Š” ์ธ์ฆ ํ† ํฐ
  • QUOTATION API
    • ์‹œ์„ธ ์ข…๋ชฉ ์กฐํšŒ
      • โœ… ๋งˆ์ผ“ ์ฝ”๋“œ ์กฐํšŒ
    • ์‹œ์„ธ ์บ”๋“ค ์กฐํšŒ
      • โœ… ๋ถ„(Minute) ์บ”๋“ค
      • โœ… ์ผ(Day) ์บ”๋“ค
      • โœ… ์ฃผ(Week) ์บ”๋“ค
      • โœ… ์›”(Month) ์บ”๋“ค
    • ์‹œ์„ธ ์ฒด๊ฒฐ ์กฐํšŒ
      • โœ… ์ตœ๊ทผ ์ฒด๊ฒฐ ๋‚ด์—ญ
    • ์‹œ์„ธ Ticker ์กฐํšŒ
      • โœ… ํ˜„์žฌ๊ฐ€ ์ •๋ณด
    • ์‹œ์„ธ ํ˜ธ๊ฐ€ ์ •๋ณด(Orderbook) ์กฐํšŒ
      • โœ… ํ˜ธ๊ฐ€ ์ •๋ณด ์กฐํšŒ
  • EXCHANGE API
    • ์ž์‚ฐ
      • โœ… ์ „์ฒด ๊ณ„์ขŒ ์กฐํšŒ
    • ์ฃผ๋ฌธ
      • โœ… ์ฃผ๋ฌธ ๊ฐ€๋Šฅ ์ •๋ณด
      • โœ… ๊ฐœ๋ณ„ ์ฃผ๋ฌธ ์ •๋ณด
      • โœ… ์ฃผ๋ฌธ ๋ฆฌ์ŠคํŠธ ์กฐํšŒ
      • โœ… ์ฃผ๋ฌธ ์ทจ์†Œ ์ ‘์ˆ˜
      • โœ… ์ฃผ๋ฌธํ•˜๊ธฐ
    • ์ถœ๊ธˆ
      • โŒ ์ถœ๊ธˆ ๋ฆฌ์ŠคํŠธ ์กฐํšŒ
      • โŒ ๊ฐœ๋ณ„ ์ถœ๊ธˆ ์กฐํšŒ
      • โŒ ์ถœ๊ธˆ ๊ฐ€๋Šฅ ์ •๋ณด
      • โŒ ์ฝ”์ธ ์ถœ๊ธˆํ•˜๊ธฐ
      • โŒ ์›ํ™” ์ถœ๊ธˆํ•˜๊ธฐ
    • ์ž…๊ธˆ
      • โŒ ์ž…๊ธˆ ๋ฆฌ์ŠคํŠธ ์กฐํšŒ
      • โŒ ๊ฐœ๋ณ„ ์ž…๊ธˆ ์กฐํšŒ
      • โŒ ์ž…๊ธˆ ์ฃผ์†Œ ์ƒ์„ฑ ์š”์ฒญ
      • โŒ ์ „์ฒด ์ž…๊ธˆ ์ฃผ์†Œ ์กฐํšŒ
      • โŒ ๊ฐœ๋ณ„ ์ž…๊ธˆ ์ฃผ์†Œ ์กฐํšŒ
      • โŒ ์›ํ™” ์ž…๊ธˆํ•˜๊ธฐ
    • ์„œ๋น„์Šค ์ •๋ณด
      • โŒ ์ž…์ถœ๊ธˆ ํ˜„ํ™ฉ
      • โŒ API ํ‚ค ๋ฆฌ์ŠคํŠธ ์กฐํšŒ

์—…๋น„ํŠธ์˜ ์ „์ฒด API๋Š” ์—ฌ๊ธฐ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.



2-2. UpbitResponse

์ธ์ฆ์„ ์ œ์™ธํ•œ EXCHANGE API, QUOTATION API๋Š” UpbitResponse<T>๋ผ๋Š” ๊ทœ๊ฒฉํ™”๋œ ์‘๋‹ต์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

T๋Š” ์ œ๋„ค๋ฆญ ํด๋ž˜์Šค๋กœ, Upbit ์‘๋‹ต์„ ๊ตฌํ˜„ํ•œ Bean ๊ฐ์ฒด๊ฐ€ ์ฃผ๋กœ ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค.

๊ตฌ๋ถ„ ํƒ€์ž… ์„ค๋ช…
status int HTTP ์‘๋‹ต ์ฝ”๋“œ
isSuccess boolean ์—ฐ๊ฒฐ ์„ฑ๊ณต ์—ฌ๋ถ€
body T ์‘๋‹ต ๊ฐ์ฒด
raw String ์‘๋‹ต ์›๋ณธ
error String ์—๋Ÿฌ ์ฝ”๋“œ
errorMessage String ์—๋Ÿฌ ์„ค๋ช…

isSuccess๊ฐ€ true์ผ ๊ฒฝ์šฐ error์™€ errorMessage๋Š” null์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

๋ฐ˜๋Œ€๋กœ isSuccess๊ฐ€ false์ผ ๊ฒฝ์šฐ, body๊ฐ€ null์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

isSuccess๋กœ ๋‹จ์ˆœ ์—ฐ๊ฒฐ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, status๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์‘๋‹ต ์ฝ”๋“œ๋ณ„๋กœ ๋กœ์ง์„ ๋ถ„๋ฆฌํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.



2-3. ์ธ์ฆ

์ธ์ฆ JWT ํ† ํฐ์„ ๋ฐ›์•„์˜ค๋Š” API์ž…๋‹ˆ๋‹ค.

์š”์ฒญ์„ ์ง์ ‘ ์ปค์Šคํ…€ํ•˜์—ฌ ๋ณด๋‚ด๊ณ  ์‹ถ์„ ๊ฒฝ์šฐ, ์ธ์ฆ ์ •๋ณด๋งŒ์„ ๋ฐ›์•„์™€์„œ ์š”์ฒญ์„ ๊ตฌ์„ฑํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

AuthApi authApi = new AuthApi("{API Key}", "{SECRET Key}");

ํด๋ž˜์Šค ์„ ์–ธ์€ ์œ„์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.


2-3-1. ์ธ์ฆ ํ† ํฐ

์ธ์ฆ ํ† ํฐ์„ ๋ฐ˜ํ™˜ํ•˜๋Š” API์ž…๋‹ˆ๋‹ค. ์š”์ฒญ์— ๋ณ„๋‹ค๋ฅธ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ํฌํ•จ๋˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

AuthApi authApi = new AuthApi("{API Key}", "{SECRET Key}");

String jwt = authApi.getAuthToken();

๋ฉ”์„œ๋“œ ์‚ฌ์šฉ๋ฒ•์€ ์œ„์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

JWT์— ํฌํ•จ๋˜๋Š” ๋‚ด์šฉ์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

{
    "access_key": "๋ฐœ๊ธ‰ ๋ฐ›์€ acccess key (ํ•„์ˆ˜)",
    "nonce": "๋ฌด์ž‘์œ„์˜ UUID ๋ฌธ์ž์—ด (ํ•„์ˆ˜)"
}
๊ตฌ๋ถ„ ํƒ€์ž… ์„ค๋ช…
access_key String API Key
nonce String ๋ฌด์ž‘์œ„ UUID

์œ„ ๋‚ด์šฉ์˜ JSON์„ ํ† ๋Œ€๋กœ JWT๋ฅผ ๋งŒ๋“ค์–ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.


2-3-2. ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์žˆ๋Š” ์ธ์ฆ ํ† ํฐ

๋™์ผํ•œ ์ธ์ฆ ํ† ํฐ์ด์ง€๋งŒ, ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ํฌํ•จ๋œ ์ธ์ฆ ํ† ํฐ์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

{
   "access_key": "๋ฐœ๊ธ‰ ๋ฐ›์€ acccess key (ํ•„์ˆ˜)",
   "nonce": "๋ฌด์ž‘์œ„์˜ UUID ๋ฌธ์ž์—ด (ํ•„์ˆ˜)",
   "query_hash": "ํ•ด์‹ฑ๋œ query string (ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ ํ•„์ˆ˜)",
   "query_hash_alg": "query_hash๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐ์— ์‚ฌ์šฉํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (๊ธฐ๋ณธ๊ฐ’ : SHA512)"
}
๊ตฌ๋ถ„ ํƒ€์ž… ์„ค๋ช…
access_key String API Key
nonce String ๋ฌด์ž‘์œ„ UUID
query_hash String ํ•ด์‹ฑ๋œ ์ฟผ๋ฆฌ ๋‚ด์šฉ
query_hash_alg String ํ•ด์‹ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜

์š”์ฒญ์˜ ๋‚ด์šฉ์„ SHA-512๋กœ ์•”ํ˜ธํ™”ํ•˜์—ฌ query_hash์— ํฌํ•จํ•˜์—ฌ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

Upbit์—์„œ API ์š”์ฒญ์„ ์ˆ˜ํ–‰ํ•  ๋•Œ, ์š”์ฒญ์˜ ์ฟผ๋ฆฌ๋ฌธ๊ณผ JWT์˜ ์•”ํ˜ธํ™”๋œ ์ฟผ๋ฆฌ๋ฌธ์„ ๋น„๊ตํ•˜์—ฌ, ๋‹ค๋ฅผ ๊ฒฝ์šฐ ์š”์ฒญ์ด ์ˆ˜ํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.



2-4. QUOTATION API

Upbit์˜ QUOTATION API์ž…๋‹ˆ๋‹ค. ์ฝ”์ธ์˜ ์‹œ์„ธ์™€ ๊ด€๋ จ๋œ API์ด๋ฏ€๋กœ, ์ธ์ฆ์„ ์š”๊ตฌํ•˜์ง€ ์•Š๋Š” API๋“ค์ž…๋‹ˆ๋‹ค.

UpbitApi upbitApi = new UpbitApi();

ํด๋ž˜์Šค ์„ ์–ธ์€ ์œ„์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.


2-4-1. ์‹œ์„ธ ์ข…๋ชฉ ์กฐํšŒ - ๋งˆ์ผ“ ์ฝ”๋“œ ์กฐํšŒ

Upbit์—์„œ ๊ฑฐ๋ž˜ ๊ฐ€๋Šฅํ•œ ๋งˆ์ผ“ ๋ชฉ๋ก์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๊ณต์‹ API


์š”์ฒญ

UpbitApi upbitApi = new UpbitApi();

UpbitResponse<MarketCode[]> response = upbitApi.getMarketCodes(isDetail);
๊ตฌ๋ถ„ ํƒ€์ž… ๋‚ด์šฉ
isDetail boolean ์ƒ์„ธ์ •๋ณด ๋…ธ์ถœ ์—ฌ๋ถ€

์‘๋‹ต

MarketCode์˜ ๋ฐฐ์—ด๋กœ ์ด๋ฃจ์–ด์ง„ ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ๋ถ„ ํƒ€์ž… ๋‚ด์šฉ
market String ๋งˆ์ผ“ ์ฝ”๋“œ
korean_name String ๋งˆ์ผ“ ํ•œ๊ธ€๋ช…
english_name String ๋งˆ์ผ“ ์˜๋ฌธ๋ช…
market_warning String ์œ ์˜ ์ข…๋ชฉ ์—ฌ๋ถ€ (NONE, CAUTION)

market_warning์€ isDetail=true์ผ ๊ฒฝ์šฐ์—๋งŒ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.


2-4-2. ์‹œ์„ธ ์บ”๋“ค ์กฐํšŒ - ๋ถ„(Minute) ์บ”๋“ค

์ง€์ •๋œ ์ฝ”์ธ์˜ ๋ถ„ ๋‹จ์œ„ ์บ”๋“ค ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๊ณต์‹ API


์š”์ฒญ

UpbitApi upbitApi = new UpbitApi();

UpbitResponse<MinuteCandle[]> response1 = upbitApi.getMinuteCandles(unit, market);
UpbitResponse<MinuteCandle[]> response2 = upbitApi.getMinuteCandles(unit, market, to, count);
๊ตฌ๋ถ„ ํƒ€์ž… ๋‚ด์šฉ
unit int ๋ถ„ ๋‹จ์œ„ (1, 3, 5, 10, 15, 30, 60, 240)
market String ๋งˆ์ผ“ ์ฝ”๋“œ
to String ๋งˆ์ง€๋ง‰ ์บ”๋“ค ์‹œ๊ฐ„ (yyyy-MM-ddTHH:mm:ssZ, yyyy-MM-dd) (๊ธฐ๋ณธ๊ฐ’: ํ˜„์žฌ์‹œ๊ฐ„)
count int ์บ”๋“ค ๊ฐฏ์ˆ˜ (์ตœ๋Œ€ 200) (๊ธฐ๋ณธ๊ฐ’: 1)

์ œ๊ณต๋˜๋Š” ๋ฉ”์„œ๋“œ๋Š” to, count ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ƒ๋žต ์—ฌ๋ถ€์— ๋”ฐ๋ผ ๋‘ ๊ฐ€์ง€๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.


์‘๋‹ต

MinuteCandle์˜ ๋ฐฐ์—ด๋กœ ์ด๋ฃจ์–ด์ง„ ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ๋ถ„ ํƒ€์ž… ๋‚ด์šฉ
market String ๋งˆ์ผ“๋ช…
candle_date_time_utc String ์บ”๋“ค ๊ธฐ์ค€ ์‹œ๊ฐ(UTC ๊ธฐ์ค€)
candle_date_time_kst String ์บ”๋“ค ๊ธฐ์ค€ ์‹œ๊ฐ(KST ๊ธฐ์ค€)
opening_price double ์‹œ๊ฐ€
high_price double ๊ณ ๊ฐ€
low_price double ์ €๊ฐ€
trade_price double ์ข…๊ฐ€
timestamp long ํ•ด๋‹น ์บ”๋“ค์—์„œ ๋งˆ์ง€๋ง‰ ํ‹ฑ์ด ์ €์žฅ๋œ ์‹œ๊ฐ
candle_acc_trade_price double ๋ˆ„์  ๊ฑฐ๋ž˜ ๊ธˆ์•ก
candle_acc_trade_volume double ๋ˆ„์  ๊ฑฐ๋ž˜๋Ÿ‰
unit int ๋ถ„ ๋‹จ์œ„(์œ ๋‹›)

2-4-3. ์‹œ์„ธ ์บ”๋“ค ์กฐํšŒ - ์ผ(Day) ์บ”๋“ค

์ง€์ •๋œ ์ฝ”์ธ์˜ ์ผ ๋‹จ์œ„ ์บ”๋“ค ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๊ณต์‹ API


์š”์ฒญ

UpbitApi upbitApi = new UpbitApi();

UpbitResponse<DayCandle[]> response1 = upbitApi.getDayCandles(market);
UpbitResponse<DayCandle[]> response2 = upbitApi.getDayCandles(market, to, count, convertingPriceUnit);
๊ตฌ๋ถ„ ํƒ€์ž… ๋‚ด์šฉ
market String ๋งˆ์ผ“ ์ฝ”๋“œ
to String ๋งˆ์ง€๋ง‰ ์บ”๋“ค ์‹œ๊ฐ„ (yyyy-MM-ddTHH:mm:ssZ, yyyy-MM-dd) (๊ธฐ๋ณธ๊ฐ’: ํ˜„์žฌ์‹œ๊ฐ„)
count int ์บ”๋“ค ๊ฐฏ์ˆ˜ (์ตœ๋Œ€ 200) (๊ธฐ๋ณธ๊ฐ’: 1)
convertingPriceUnit String ์ข…๊ฐ€ ํ™˜์‚ฐ ํ™”ํ ๋‹จ์œ„ (KRW)

์ œ๊ณต๋˜๋Š” ๋ฉ”์„œ๋“œ๋Š” to, count, convertingPriceUnit ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ƒ๋žต ์—ฌ๋ถ€์— ๋”ฐ๋ผ ๋‘ ๊ฐ€์ง€๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

convertingPriceUnit๋Š” ํ˜„์žฌ ์›ํ™”(KRW)๋งŒ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์›ํ™” ๋งˆ์ผ“์ด ์•„๋‹Œ ๋‹ค๋ฅธ ๋งˆ์ผ“์˜ ์บ”๋“ค์„ ์š”์ฒญํ•  ๊ฒฝ์šฐ, convertingPriceUnit=KRW๋ผ๋ฉด ์ข…๊ฐ€ ๊ธˆ์•ก์„ ํ™˜์‚ฐํ•˜์—ฌ converted_trade_price๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

ํ˜„์žฌ๊นŒ์ง€๋Š” KRW๋งŒ ์ง€์›ํ•˜๋ฉฐ, ์ถ”ํ›„ ํ™•์žฅ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.


์‘๋‹ต

DayCandle์˜ ๋ฐฐ์—ด๋กœ ์ด๋ฃจ์–ด์ง„ ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ๋ถ„ ํƒ€์ž… ๋‚ด์šฉ
market String ๋งˆ์ผ“๋ช…
candle_date_time_utc String ์บ”๋“ค ๊ธฐ์ค€ ์‹œ๊ฐ(UTC ๊ธฐ์ค€)
candle_date_time_kst String ์บ”๋“ค ๊ธฐ์ค€ ์‹œ๊ฐ(KST ๊ธฐ์ค€)
opening_price double ์‹œ๊ฐ€
high_price double ๊ณ ๊ฐ€
low_price double ์ €๊ฐ€
trade_price double ์ข…๊ฐ€
timestamp long ๋งˆ์ง€๋ง‰ ํ‹ฑ์ด ์ €์žฅ๋œ ์‹œ๊ฐ
candle_acc_trade_price double ๋ˆ„์  ๊ฑฐ๋ž˜ ๊ธˆ์•ก
candle_acc_trade_volume double ๋ˆ„์  ๊ฑฐ๋ž˜๋Ÿ‰
prev_closing_price double ์ „์ผ ์ข…๊ฐ€(UTC 0์‹œ ๊ธฐ์ค€)
change_price double ์ „์ผ ์ข…๊ฐ€ ๋Œ€๋น„ ๋ณ€ํ™” ๊ธˆ์•ก
change_rate double ์ „์ผ ์ข…๊ฐ€ ๋Œ€๋น„ ๋ณ€ํ™”๋Ÿ‰
converted_trade_price double ์ข…๊ฐ€ ํ™˜์‚ฐ ํ™”ํ ๋‹จ์œ„๋กœ ํ™˜์‚ฐ๋œ ๊ฐ€๊ฒฉ(์š”์ฒญ์— convertingPriceUnit ํŒŒ๋ผ๋ฏธํ„ฐ ์—†์„ ์‹œ ํ•ด๋‹น ํ•„๋“œ ํฌํ•จ๋˜์ง€ ์•Š์Œ.)

2-4-4. ์‹œ์„ธ ์บ”๋“ค ์กฐํšŒ - ์ฃผ(Week) ์บ”๋“ค

์ง€์ •๋œ ์ฝ”์ธ์˜ ์ฃผ ๋‹จ์œ„ ์บ”๋“ค ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๊ณต์‹ API


์š”์ฒญ

UpbitApi upbitApi = new UpbitApi();

UpbitResponse<Candle[]> response1 = upbitApi.getWeekCandles(market);
UpbitResponse<Candle[]> response2 = upbitApi.getWeekCandles(market, to, count);
๊ตฌ๋ถ„ ํƒ€์ž… ๋‚ด์šฉ
market String ๋งˆ์ผ“ ์ฝ”๋“œ
to String ๋งˆ์ง€๋ง‰ ์บ”๋“ค ์‹œ๊ฐ„ (yyyy-MM-ddTHH:mm:ssZ, yyyy-MM-dd) (๊ธฐ๋ณธ๊ฐ’: ํ˜„์žฌ์‹œ๊ฐ„)
count int ์บ”๋“ค ๊ฐฏ์ˆ˜ (์ตœ๋Œ€ 200) (๊ธฐ๋ณธ๊ฐ’: 1)

์ œ๊ณต๋˜๋Š” ๋ฉ”์„œ๋“œ๋Š” to, count ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ƒ๋žต ์—ฌ๋ถ€์— ๋”ฐ๋ผ ๋‘ ๊ฐ€์ง€๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.


์‘๋‹ต

Candle์˜ ๋ฐฐ์—ด๋กœ ์ด๋ฃจ์–ด์ง„ ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ๋ถ„ ํƒ€์ž… ๋‚ด์šฉ
market String ๋งˆ์ผ“๋ช…
candle_date_time_utc String ์บ”๋“ค ๊ธฐ์ค€ ์‹œ๊ฐ(UTC ๊ธฐ์ค€)
candle_date_time_kst String ์บ”๋“ค ๊ธฐ์ค€ ์‹œ๊ฐ(KST ๊ธฐ์ค€)
opening_price double ์‹œ๊ฐ€
high_price double ๊ณ ๊ฐ€
low_price double ์ €๊ฐ€
trade_price double ์ข…๊ฐ€
timestamp long ๋งˆ์ง€๋ง‰ ํ‹ฑ์ด ์ €์žฅ๋œ ์‹œ๊ฐ
candle_acc_trade_price double ๋ˆ„์  ๊ฑฐ๋ž˜ ๊ธˆ์•ก
candle_acc_trade_volume double ๋ˆ„์  ๊ฑฐ๋ž˜๋Ÿ‰
first_day_of_period String ์บ”๋“ค ๊ธฐ๊ฐ„์˜ ๊ฐ€์žฅ ์ฒซ ๋‚ 

2-4-5. ์‹œ์„ธ ์บ”๋“ค ์กฐํšŒ - ์›”(Month) ์บ”๋“ค

์ง€์ •๋œ ์ฝ”์ธ์˜ ์›” ๋‹จ์œ„ ์บ”๋“ค ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๊ณต์‹ API


์š”์ฒญ

UpbitApi upbitApi = new UpbitApi();

UpbitResponse<Candle[]> response1 = upbitApi.getMonthCandles(market);
UpbitResponse<Candle[]> response2 = upbitApi.getMonthCandles(market, to, count);
๊ตฌ๋ถ„ ํƒ€์ž… ๋‚ด์šฉ
market String ๋งˆ์ผ“ ์ฝ”๋“œ
to String ๋งˆ์ง€๋ง‰ ์บ”๋“ค ์‹œ๊ฐ„ (yyyy-MM-ddTHH:mm:ssZ, yyyy-MM-dd) (๊ธฐ๋ณธ๊ฐ’: ํ˜„์žฌ์‹œ๊ฐ„)
count int ์บ”๋“ค ๊ฐฏ์ˆ˜ (์ตœ๋Œ€ 200) (๊ธฐ๋ณธ๊ฐ’: 1)

์ œ๊ณต๋˜๋Š” ๋ฉ”์„œ๋“œ๋Š” to, count ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ƒ๋žต ์—ฌ๋ถ€์— ๋”ฐ๋ผ ๋‘ ๊ฐ€์ง€๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.


์‘๋‹ต

Candle์˜ ๋ฐฐ์—ด๋กœ ์ด๋ฃจ์–ด์ง„ ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ๋ถ„ ํƒ€์ž… ๋‚ด์šฉ
market String ๋งˆ์ผ“๋ช…
candle_date_time_utc String ์บ”๋“ค ๊ธฐ์ค€ ์‹œ๊ฐ(UTC ๊ธฐ์ค€)
candle_date_time_kst String ์บ”๋“ค ๊ธฐ์ค€ ์‹œ๊ฐ(KST ๊ธฐ์ค€)
opening_price double ์‹œ๊ฐ€
high_price double ๊ณ ๊ฐ€
low_price double ์ €๊ฐ€
trade_price double ์ข…๊ฐ€
timestamp long ๋งˆ์ง€๋ง‰ ํ‹ฑ์ด ์ €์žฅ๋œ ์‹œ๊ฐ
candle_acc_trade_price double ๋ˆ„์  ๊ฑฐ๋ž˜ ๊ธˆ์•ก
candle_acc_trade_volume double ๋ˆ„์  ๊ฑฐ๋ž˜๋Ÿ‰
first_day_of_period String ์บ”๋“ค ๊ธฐ๊ฐ„์˜ ๊ฐ€์žฅ ์ฒซ ๋‚ 

์ผ ์บ”๋“ค๊ณผ ์ฃผ ์บ”๋“ค์˜ ๊ฒฝ์šฐ ์‘๋‹ต ํ˜•ํƒœ๊ฐ€ ์™„์ „ํžˆ ๋™์ผํ•˜๋ฏ€๋กœ Candle ๊ฐ์ฒด๋ฅผ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค.


2-4-6. ์‹œ์„ธ ์ฒด๊ฒฐ ์กฐํšŒ - ์ตœ๊ทผ ์ฒด๊ฒฐ ๋‚ด์—ญ

์ง€์ •๋œ ์ฝ”์ธ์˜ ์ตœ๊ทผ ์ฒด๊ฒฐ(Ticks) ๋‚ด์—ญ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๊ณต์‹ API


์š”์ฒญ

UpbitApi upbitApi = new UpbitApi();

UpbitResponse<Tick[]> response1 = upbitApi.getTicks(market);
UpbitResponse<Tick[]> response2 = upbitApi.getTicks(market, to, count, cursor, daysAgo);
๊ตฌ๋ถ„ ํƒ€์ž… ๋‚ด์šฉ
market String ๋งˆ์ผ“ ์ฝ”๋“œ
to String ๋งˆ์ง€๋ง‰ ์บ”๋“ค ์‹œ๊ฐ„ (yyyy-MM-ddTHH:mm:ssZ, yyyy-MM-dd) (๊ธฐ๋ณธ๊ฐ’: ํ˜„์žฌ์‹œ๊ฐ„)
count int ์บ”๋“ค ๊ฐฏ์ˆ˜ (์ตœ๋Œ€ 200) (๊ธฐ๋ณธ๊ฐ’: 1)
cursor String ํŽ˜์ด์ง€๋„ค์ด์…˜ ์ปค์„œ (sequentialId)
daysAgo int ์ตœ๊ทผ ์ฒด๊ฒฐ ๋‚ ์งœ ๊ธฐ์ค€์˜ ์ด์ „ ๋ฐ์ดํ„ฐ (1 ~ 7์ผ ์ด์ „ ์กฐํšŒ ๊ฐ€๋Šฅ)

ํŒŒ๋ผ๋ฏธํ„ฐ์— ๋”ฐ๋ผ ๋‘ ๋ฉ”์„œ๋“œ๋กœ ๊ตฌ๋ถ„๋ฉ๋‹ˆ๋‹ค.

cursor๋Š” ๊ฑฐ๋ž˜ ๊ณ ์œ ๊ฐ’์ธ sequentialId๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ‘œ์‹œํ•ด์ค๋‹ˆ๋‹ค. ์ง€์ •ํ•œ sequentialId์˜ ์ฒด๊ฒฐ ๋‚ด์—ญ๋ถ€ํ„ฐ ์ˆœ์ฐจ์ ์œผ๋กœ ๋‚ด์—ญ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

daysAgo๊ฐ€ 5์ผ ๊ฒฝ์šฐ, to ๊ธฐ์ค€(์ƒ๋žตํ•  ๊ฒฝ์šฐ ํ˜„์žฌ ์‹œ๊ฐ)์œผ๋กœ 5์ผ ์ด์ „์˜ ์ฒด๊ฒฐ ๋‚ด์—ญ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.


์‘๋‹ต

Tick์˜ ๋ฐฐ์—ด๋กœ ์ด๋ฃจ์–ด์ง„ ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ๋ถ„ ํƒ€์ž… ๋‚ด์šฉ
market String ๋งˆ์ผ“ ๊ตฌ๋ถ„ ์ฝ”๋“œ
trade_date_utc String ์ฒด๊ฒฐ ์ผ์ž(UTC ๊ธฐ์ค€)
trade_time_utc String ์ฒด๊ฒฐ ์‹œ๊ฐ(UTC ๊ธฐ์ค€)
timestamp long ์ฒด๊ฒฐ ํƒ€์ž„์Šคํƒฌํ”„
trade_price double ์ฒด๊ฒฐ ๊ฐ€๊ฒฉ
trade_volume double ์ฒด๊ฒฐ๋Ÿ‰
prev_closing_price double ์ „์ผ ์ข…๊ฐ€
change_price double ๋ณ€ํ™”๋Ÿ‰
ask_bid String ๋งค๋„/๋งค์ˆ˜
sequential_id long ์ฒด๊ฒฐ ๋ฒˆํ˜ธ(Unique)

2-4-7. ์‹œ์„ธ Ticker ์กฐํšŒ - ํ˜„์žฌ๊ฐ€ ์ •๋ณด

์ง€์ •๋œ ์ฝ”์ธ์˜ ์‹œ์„ธ Ticker์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๊ณต์‹ API


์š”์ฒญ

UpbitApi upbitApi = new UpbitApi();

UpbitResponse<Ticker[]> response = upbitApi.getTickers(markets);
๊ตฌ๋ถ„ ํƒ€์ž… ๋‚ด์šฉ
markets String[] ๋งˆ์ผ“ ์ฝ”๋“œ ๋ฐฐ์—ด

๋ฐฐ์—ด์„ ํ†ตํ•ด ์—ฌ๋Ÿฌ ๋งˆ์ผ“ ์ฝ”๋“œ๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


์‘๋‹ต

Ticker์˜ ๋ฐฐ์—ด๋กœ ์ด๋ฃจ์–ด์ง„ ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ๋ถ„ ํƒ€์ž… ๋‚ด์šฉ
market String ์ข…๋ชฉ ๊ตฌ๋ถ„ ์ฝ”๋“œ
trade_date String ์ตœ๊ทผ ๊ฑฐ๋ž˜ ์ผ์ž(UTC)
trade_time String ์ตœ๊ทผ ๊ฑฐ๋ž˜ ์‹œ๊ฐ(UTC)
trade_date_kst String ์ตœ๊ทผ ๊ฑฐ๋ž˜ ์ผ์ž(KST)
trade_time_kst String ์ตœ๊ทผ ๊ฑฐ๋ž˜ ์‹œ๊ฐ(KST)
opening_price double ์‹œ๊ฐ€
high_price double ๊ณ ๊ฐ€
low_price double ์ €๊ฐ€
trade_price double ์ข…๊ฐ€
prev_closing_price double ์ „์ผ ์ข…๊ฐ€
change String ๋ณ€ํ™”๊ฐ’ (EVEN, RISE, FALL)
change_price double ๋ณ€ํ™”์•ก์˜ ์ ˆ๋Œ€๊ฐ’
change_rate double ๋ณ€ํ™”์œจ์˜ ์ ˆ๋Œ€๊ฐ’
signed_change_price double ๋ถ€ํ˜ธ๊ฐ€ ์žˆ๋Š” ๋ณ€ํ™”์•ก
signed_change_rate double ๋ถ€ํ˜ธ๊ฐ€ ์žˆ๋Š” ๋ณ€ํ™”์œจ
trade_volume double ๊ฐ€์žฅ ์ตœ๊ทผ ๊ฑฐ๋ž˜๋Ÿ‰
acc_trade_price double ๋ˆ„์  ๊ฑฐ๋ž˜๋Œ€๊ธˆ(UTC 0์‹œ ๊ธฐ์ค€)
acc_trade_price_24h double 24์‹œ๊ฐ„ ๋ˆ„์  ๊ฑฐ๋ž˜๋Œ€๊ธˆ
acc_trade_volume double ๋ˆ„์  ๊ฑฐ๋ž˜๋Ÿ‰(UTC 0์‹œ ๊ธฐ์ค€)
acc_trade_volume_24h double 24์‹œ๊ฐ„ ๋ˆ„์  ๊ฑฐ๋ž˜๋Ÿ‰
highest_52_week_price double 52์ฃผ ์‹ ๊ณ ๊ฐ€
highest_52_week_date String 52์ฃผ ์‹ ๊ณ ๊ฐ€ ๋‹ฌ์„ฑ์ผ
lowest_52_week_price double 52์ฃผ ์‹ ์ €๊ฐ€
lowest_52_week_date String 52์ฃผ ์‹ ์ €๊ฐ€ ๋‹ฌ์„ฑ์ผ
timestamp long ํƒ€์ž„์Šคํƒฌํ”„

2-4-8. ์‹œ์„ธ ํ˜ธ๊ฐ€ ์ •๋ณด(Orderbook) ์กฐํšŒ - ํ˜ธ๊ฐ€ ์ •๋ณด ์กฐํšŒ

์ง€์ •๋œ ์ฝ”์ธ์˜ ํ˜ธ๊ฐ€ ์ •๋ณด์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๊ณต์‹ API


์š”์ฒญ

UpbitApi upbitApi = new UpbitApi();

UpbitResponse<OrderBook[]> response = upbitApi.getOrderBooks(markets);
๊ตฌ๋ถ„ ํƒ€์ž… ๋‚ด์šฉ
markets String[] ๋งˆ์ผ“ ์ฝ”๋“œ ๋ฐฐ์—ด

๋ฐฐ์—ด์„ ํ†ตํ•ด ์—ฌ๋Ÿฌ ๋งˆ์ผ“ ์ฝ”๋“œ๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


์‘๋‹ต

OrderBook์˜ ๋ฐฐ์—ด๋กœ ์ด๋ฃจ์–ด์ง„ ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

  • OrderBook
๊ตฌ๋ถ„ ํƒ€์ž… ๋‚ด์šฉ
market String ๋งˆ์ผ“ ์ฝ”๋“œ
timestamp long ํ˜ธ๊ฐ€ ์ƒ์„ฑ ์‹œ๊ฐ
total_ask_size double ํ˜ธ๊ฐ€ ๋งค๋„ ์ด ์ž”๋Ÿ‰
total_bid_size double ํ˜ธ๊ฐ€ ๋งค์ˆ˜ ์ด ์ž”๋Ÿ‰
orderbook_units OrderBookUnit[] ํ˜ธ๊ฐ€
  • OrderBookUnit
๊ตฌ๋ถ„ ํƒ€์ž… ๋‚ด์šฉ
ask_price double ๋งค๋„ํ˜ธ๊ฐ€
bid_price double ๋งค์ˆ˜ํ˜ธ๊ฐ€
ask_size double ๋งค๋„ ์ž”๋Ÿ‰
bid_size double ๋งค์ˆ˜ ์ž”๋Ÿ‰

orderbook_units์€ OrderBookUnit ๊ฐ์ฒด์˜ ๋ฐฐ์—ด์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

OrderBookUnit์€ ํ˜ธ๊ฐ€๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ, 1ํ˜ธ๊ฐ€ ๋ถ€ํ„ฐ 15ํ˜ธ๊ฐ€๊นŒ์ง€์˜ ํ˜ธ๊ฐ€ ์ •๋ณด๋ฅผ ๋ฐฐ์—ด์— ๋‹ด์•„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.



2-5. EXCHANGE API

Upbit์˜ EXCHANGE API์ž…๋‹ˆ๋‹ค. ์ž์‚ฐ, ์ฃผ๋ฌธ, ์ž…์ถœ๊ธˆ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉ์ž์˜ ์ž์‚ฐ์— ์ง์ ‘์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” API๋“ค๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ํŠน์„ฑ์œผ๋กœ ์ธํ•ด, EXCHANGE API๋Š” ์ธ์ฆ ํ† ํฐ์„ ๋ฐ˜๋“œ์‹œ ์š”๊ตฌํ•ฉ๋‹ˆ๋‹ค.

UpbitAuthApi upbitAuthApi = new UpbitAuthApi(api, secret);
๊ตฌ๋ถ„ ํƒ€์ž… ๋‚ด์šฉ
api String API Key
secret String Secret Key

ํด๋ž˜์Šค ์„ ์–ธ์€ ์œ„์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Upbit์—์„œ ๋ฐ˜๋“œ์‹œ API ํ‚ค๋ฅผ ๋ฐœ๊ธ‰๋ฐ›์•„์•ผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. UpbitAuthApi๋Š” ์ธ์ฆ์ด ํ•„์š”ํ•œ API ์ด์™ธ์—๋„ ์ธ์ฆ์ด ํ•„์š”ํ•˜์ง€ ์•Š๋Š” UpbitApi์˜ ๋ฉ”์„œ๋“œ๋„ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.


2-5-1. ์ž์‚ฐ - ์ „์ฒด ๊ณ„์ขŒ ์กฐํšŒ

๋ณด์œ ํ•œ ์ž์‚ฐ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๊ณต์‹ API


์š”์ฒญ

UpbitAuthApi upbitAuthApi = new UpbitAuthApi(api, secret);

UpbitResponse<Account[]> response = upbitAuthApi.getAccounts();

์‘๋‹ต

Account์˜ ๋ฐฐ์—ด๋กœ ์ด๋ฃจ์–ด์ง„ ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ๋ถ„ ํƒ€์ž… ๋‚ด์šฉ
currency String ํ™”ํ๋ฅผ ์˜๋ฏธํ•˜๋Š” ์˜๋ฌธ ๋Œ€๋ฌธ์ž ์ฝ”๋“œ
balance String ์ฃผ๋ฌธ๊ฐ€๋Šฅ ๊ธˆ์•ก/์ˆ˜๋Ÿ‰
locked String ์ฃผ๋ฌธ ์ค‘ ๋ฌถ์—ฌ์žˆ๋Š” ๊ธˆ์•ก/์ˆ˜๋Ÿ‰
avg_buy_price String ๋งค์ˆ˜ํ‰๊ท ๊ฐ€
avg_buy_price_modified boolean ๋งค์ˆ˜ํ‰๊ท ๊ฐ€ ์ˆ˜์ • ์—ฌ๋ถ€
unit_currency String ํ‰๋‹จ๊ฐ€ ๊ธฐ์ค€ ํ™”ํ

์‚ฌ์šฉ์ž๊ฐ€ ๊ฐ€์ง„ ์ฝ”์ธ ์ข…๋ฅ˜์˜ ๊ฐฏ์ˆ˜๋งŒํผ ์ค„๋ ฅ๋ฉ๋‹ˆ๋‹ค.


2-5-2. ์ฃผ๋ฌธ - ์ฃผ๋ฌธ ๊ฐ€๋Šฅ ์ •๋ณด

์ฝ”์ธ๋ณ„ ์ฃผ๋ฌธ ๊ฐ€๋Šฅ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๊ณต์‹ API


์š”์ฒญ

UpbitAuthApi upbitAuthApi = new UpbitAuthApi(api, secret);

UpbitResponse<OrderInfo> response = upbitAuthApi.getOrderInfo(market);
๊ตฌ๋ถ„ ํƒ€์ž… ๋‚ด์šฉ
market String ๋งˆ์ผ“ ์ฝ”๋“œ

์‘๋‹ต

OrderInfo์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

  • OrderInfo
๊ตฌ๋ถ„ ํƒ€์ž… ๋‚ด์šฉ
bid_fee String ๋งค์ˆ˜ ์ˆ˜์ˆ˜๋ฃŒ ๋น„์œจ
ask_fee String ๋งค๋„ ์ˆ˜์ˆ˜๋ฃŒ ๋น„์œจ
market Market ๋งˆ์ผ“์— ๋Œ€ํ•œ ์ •๋ณด
bid_account Account ๋งค์ˆ˜ ์‹œ ์‚ฌ์šฉํ•˜๋Š” ํ™”ํ์˜ ๊ณ„์ขŒ ์ƒํƒœ
ask_account Account ๋งค๋„ ์‹œ ์‚ฌ์šฉํ•˜๋Š” ํ™”ํ์˜ ๊ณ„์ขŒ ์ƒํƒœ
  • Market
๊ตฌ๋ถ„ ํƒ€์ž… ๋‚ด์šฉ
id String ๋งˆ์ผ“์˜ ์œ ์ผ ํ‚ค
name String ๋งˆ์ผ“ ์ด๋ฆ„
order_types String ์ง€์› ์ฃผ๋ฌธ ๋ฐฉ์‹
order_sides String ์ง€์› ์ฃผ๋ฌธ ์ข…๋ฅ˜
bid MarketAskBid ๋งค์ˆ˜ ์‹œ ์ œ์•ฝ์‚ฌํ•ญ
ask MarketAskBid ๋งค๋„ ์‹œ ์ œ์•ฝ์‚ฌํ•ญ
max_total String ์ตœ๋Œ€ ๋งค๋„/๋งค์ˆ˜ ๊ธˆ์•ก
state String ๋งˆ์ผ“ ์šด์˜ ์ƒํƒœ
  • MarketAskBid
๊ตฌ๋ถ„ ํƒ€์ž… ๋‚ด์šฉ
ask.currency String ํ™”ํ๋ฅผ ์˜๋ฏธํ•˜๋Š” ์˜๋ฌธ ๋Œ€๋ฌธ์ž ์ฝ”๋“œ
ask.price_unit String ์ฃผ๋ฌธ๊ธˆ์•ก ๋‹จ์œ„
ask.min_total int ์ตœ์†Œ ๋งค๋„/๋งค์ˆ˜ ๊ธˆ์•ก
  • Account
๊ตฌ๋ถ„ ํƒ€์ž… ๋‚ด์šฉ
currency String ํ™”ํ๋ฅผ ์˜๋ฏธํ•˜๋Š” ์˜๋ฌธ ๋Œ€๋ฌธ์ž ์ฝ”๋“œ
balance String ์ฃผ๋ฌธ๊ฐ€๋Šฅ ๊ธˆ์•ก/์ˆ˜๋Ÿ‰
locked String ์ฃผ๋ฌธ ์ค‘ ๋ฌถ์—ฌ์žˆ๋Š” ๊ธˆ์•ก/์ˆ˜๋Ÿ‰
avg_buy_price String ๋งค์ˆ˜ํ‰๊ท ๊ฐ€
avg_buy_price_modified boolean ๋งค์ˆ˜ํ‰๊ท ๊ฐ€ ์ˆ˜์ • ์—ฌ๋ถ€
unit_currency String ํ‰๋‹จ๊ฐ€ ๊ธฐ์ค€ ํ™”ํ

OrderInfo๋Š” ๋‚ด๋ถ€ ์‘๋‹ต์˜ ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž ์ •์˜ ๊ฐ์ฒด๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ ์ค‘ Account์˜ ๊ฒฝ์šฐ ์ž์‚ฐ - ์ „์ฒด ๊ณ„์ขŒ ์กฐํšŒ์˜ ์‘๋‹ต ๊ฐ์ฒด์™€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.


2-5-3. ์ฃผ๋ฌธ - ๊ฐœ๋ณ„ ์ฃผ๋ฌธ ์กฐํšŒ

์ฃผ๋ฌธ UUID๋ฅผ ํ†ตํ•œ ๊ฐœ๋ณ„ ์ฃผ๋ฌธ์˜ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๊ณต์‹ API


์š”์ฒญ

UpbitAuthApi upbitAuthApi = new UpbitAuthApi(api, secret);

UpbitResponse<OrderDetail> response1 = upbitAuthApi.getOrder(uuid);
UpbitResponse<OrderDetail> response2 = upbitAuthApi.getOrder(uuid, identifier);
๊ตฌ๋ถ„ ํƒ€์ž… ๋‚ด์šฉ
uuid String ๋งˆ์ผ“ ์ฝ”๋“œ
identifier String ์กฐํšŒ์šฉ ์‚ฌ์šฉ์ž ์ง€์ •๊ฐ’

identifier๋Š” API ์ฃผ๋ฌธ ์š”์ฒญ ์‹œ, ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์ฃผ๋ฌธ์˜ ๊ณ ์œ ํ‚ค์ž…๋‹ˆ๋‹ค.

ํ†ต์ƒ ์ฃผ๋ฌธ๋ณ„๋กœ ์ž๋™์œผ๋กœ ๋ถ€์—ฌ๋˜๋Š” UUID๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋ฏ€๋กœ, identifier ๋‹จ๋… ์š”์ฒญ ๋ฉ”์„œ๋“œ๋Š” ๋”ฐ๋กœ ๊ตฌํ˜„ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.


์‘๋‹ต

OrderDetail๋กœ ์ด๋ฃจ์–ด์ง„ ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

  • OrderDetail
๊ตฌ๋ถ„ ํƒ€์ž… ๋‚ด์šฉ
uuid String ์ฃผ๋ฌธ์˜ ๊ณ ์œ  ์•„์ด๋””
side String ์ฃผ๋ฌธ ์ข…๋ฅ˜
ord_type String ์ฃผ๋ฌธ ๋ฐฉ์‹
price String ์ฃผ๋ฌธ ๋‹น์‹œ ํ™”ํ ๊ฐ€๊ฒฉ
state String ์ฃผ๋ฌธ ์ƒํƒœ
market String ๋งˆ์ผ“์˜ ์œ ์ผํ‚ค
created_at String ์ฃผ๋ฌธ ์ƒ์„ฑ ์‹œ๊ฐ„
volume String ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ์ฃผ๋ฌธ ์–‘
remaining_volume String ์ฒด๊ฒฐ ํ›„ ๋‚จ์€ ์ฃผ๋ฌธ ์–‘
reserved_fee String ์ˆ˜์ˆ˜๋ฃŒ๋กœ ์˜ˆ์•ฝ๋œ ๋น„์šฉ
remaining_fee String ๋‚จ์€ ์ˆ˜์ˆ˜๋ฃŒ
paid_fee String ์‚ฌ์šฉ๋œ ์ˆ˜์ˆ˜๋ฃŒ
locked String ๊ฑฐ๋ž˜์— ์‚ฌ์šฉ์ค‘์ธ ๋น„์šฉ
executed_volume String ์ฒด๊ฒฐ๋œ ์–‘
trade_count int ํ•ด๋‹น ์ฃผ๋ฌธ์— ๊ฑธ๋ฆฐ ์ฒด๊ฒฐ ์ˆ˜
trades Trade[] ์ฒด๊ฒฐ
  • Trade
๊ตฌ๋ถ„ ํƒ€์ž… ๋‚ด์šฉ
market String ๋งˆ์ผ“์˜ ์œ ์ผ ํ‚ค
uuid String ์ฒด๊ฒฐ์˜ ๊ณ ์œ  ์•„์ด๋””
price String ์ฒด๊ฒฐ ๊ฐ€๊ฒฉ
volume String ์ฒด๊ฒฐ ์–‘
funds String ์ฒด๊ฒฐ๋œ ์ด ๊ฐ€๊ฒฉ
side String ์ฒด๊ฒฐ ์ข…๋ฅ˜
created_at String ์ฒด๊ฒฐ ์‹œ๊ฐ

2-5-4. ์ฃผ๋ฌธ - ์ฃผ๋ฌธ ๋ฆฌ์ŠคํŠธ ์กฐํšŒ

์ฃผ๋ฌธ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๊ณต์‹ API


์š”์ฒญ

UpbitAuthApi upbitAuthApi = new UpbitAuthApi(api, secret);

UpbitResponse<Order[]> response1 = upbitAuthApi.getOrderLists();
UpbitResponse<Order[]> response2 = upbitAuthApi.getOrderLists(market, state);
UpbitResponse<Order[]> response3 = upbitAuthApi.getOrderLists(market, uuids, identifiers, state, states, page, limit, order_by);
๊ตฌ๋ถ„ ํƒ€์ž… ๋‚ด์šฉ
market String ๋งˆ์ผ“ ์•„์ด๋””
uuids String[] ์ฃผ๋ฌธ UUID์˜ ๋ชฉ๋ก
identifiers String[] ์ฃผ๋ฌธ identifier์˜ ๋ชฉ๋ก
state String ์ฃผ๋ฌธ ์ƒํƒœ (wait - ๊ธฐ๋ณธ๊ฐ’, watch, done, cancel)
states String[] ์ฃผ๋ฌธ ์ƒํƒœ์˜ ๋ชฉ๋ก
page int ํŽ˜์ด์ง€ ์ˆ˜ (๊ธฐ๋ณธ๊ฐ’: 1)
limit int ์š”์ฒญ ๊ฐœ์ˆ˜ (๊ธฐ๋ณธ๊ฐ’: 100)
order_by String ์ •๋ ฌ ๋ฐฉ์‹ (asc, desc - ๊ธฐ๋ณธ๊ฐ’)
  • wait - ์ฒด๊ฒฐ ๋Œ€๊ธฐ ์ค‘์ธ ๊ฑฐ๋ž˜ ๋‚ด์—ญ์œผ๋กœ, ๊ธฐ๋ณธ๊ฐ’์ž…๋‹ˆ๋‹ค.
  • watch - ์˜ˆ์•ฝ ๋Œ€๊ธฐ ์ค‘์ธ ๊ฑฐ๋ž˜ ๋‚ด์—ญ์ž…๋‹ˆ๋‹ค. ์˜ˆ์•ฝ ๋งค๋„/๋งค์ˆ˜ ๋‚ด์—ญ๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. (์ฒด๊ฒฐ ๋Œ€๊ธฐ๊ฐ€ ์•„๋‹˜)
  • done - ์ฒด๊ฒฐ ์™„๋ฃŒ๋œ ๊ฑฐ๋ž˜ ๋‚ด์—ญ์ž…๋‹ˆ๋‹ค. ๋งค๋„/๋งค์ˆ˜๊ฐ€ ์™„๋ฃŒ๋œ ๋‚ด์—ญ๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.
  • cancel - ์ฃผ๋ฌธ ์ทจ์†Œ๋œ ๊ฑฐ๋ž˜ ๋‚ด์—ญ์ž…๋‹ˆ๋‹ค.

์‘๋‹ต

Order์˜ ๋ฐฐ์—ด๋กœ ์ด๋ฃจ์–ด์ง„ ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ๋ถ„ ํƒ€์ž… ๋‚ด์šฉ
uuid String ์ฃผ๋ฌธ์˜ ๊ณ ์œ  ์•„์ด๋””
side String ์ฃผ๋ฌธ ์ข…๋ฅ˜
ord_type String ์ฃผ๋ฌธ ๋ฐฉ์‹
price String ์ฃผ๋ฌธ ๋‹น์‹œ ํ™”ํ ๊ฐ€๊ฒฉ
state String ์ฃผ๋ฌธ ์ƒํƒœ
market String ๋งˆ์ผ“์˜ ์œ ์ผํ‚ค
created_at String ์ฃผ๋ฌธ ์ƒ์„ฑ ์‹œ๊ฐ„
volume String ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ์ฃผ๋ฌธ ์–‘
remaining_volume String ์ฒด๊ฒฐ ํ›„ ๋‚จ์€ ์ฃผ๋ฌธ ์–‘
reserved_fee String ์ˆ˜์ˆ˜๋ฃŒ๋กœ ์˜ˆ์•ฝ๋œ ๋น„์šฉ
remaining_fee String ๋‚จ์€ ์ˆ˜์ˆ˜๋ฃŒ
paid_fee String ์‚ฌ์šฉ๋œ ์ˆ˜์ˆ˜๋ฃŒ
locked String ๊ฑฐ๋ž˜์— ์‚ฌ์šฉ์ค‘์ธ ๋น„์šฉ
executed_volume String ์ฒด๊ฒฐ๋œ ์–‘
trade_count int ํ•ด๋‹น ์ฃผ๋ฌธ์— ๊ฑธ๋ฆฐ ์ฒด๊ฒฐ ์ˆ˜

2-5-5. ์ฃผ๋ฌธ - ์ฃผ๋ฌธ ์ทจ์†Œ ์ ‘์ˆ˜

์ฃผ๋ฌธ ์ทจ์†Œ ์ ‘์ˆ˜ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž์˜ ์ž์‚ฐ์— ์ง์ ‘์ ์ธ ์˜ํ–ฅ์„ ์ฃผ๋Š” API์ž…๋‹ˆ๋‹ค.

๊ณต์‹ API


์š”์ฒญ

UpbitAuthApi upbitAuthApi = new UpbitAuthApi(api, secret);

UpbitResponse<Order> response1 = upbitAuthApi.deleteOrder(uuid);
UpbitResponse<Order> response2 = upbitAuthApi.deleteOrder(uuid, identifier);
๊ตฌ๋ถ„ ํƒ€์ž… ๋‚ด์šฉ
uuid String ์ทจ์†Œํ•  ์ฃผ๋ฌธ์˜ UUID
identifier String ์กฐํšŒ์šฉ ์‚ฌ์šฉ์ž ์ง€์ •๊ฐ’

์‘๋‹ต

Order๋กœ ์ด๋ฃจ์–ด์ง„ ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ๋ถ„ ํƒ€์ž… ๋‚ด์šฉ
uuid String ์ฃผ๋ฌธ์˜ ๊ณ ์œ  ์•„์ด๋””
side String ์ฃผ๋ฌธ ์ข…๋ฅ˜
ord_type String ์ฃผ๋ฌธ ๋ฐฉ์‹
price String ์ฃผ๋ฌธ ๋‹น์‹œ ํ™”ํ ๊ฐ€๊ฒฉ
state String ์ฃผ๋ฌธ ์ƒํƒœ
market String ๋งˆ์ผ“์˜ ์œ ์ผํ‚ค
created_at String ์ฃผ๋ฌธ ์ƒ์„ฑ ์‹œ๊ฐ„
volume String ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ์ฃผ๋ฌธ ์–‘
remaining_volume String ์ฒด๊ฒฐ ํ›„ ๋‚จ์€ ์ฃผ๋ฌธ ์–‘
reserved_fee String ์ˆ˜์ˆ˜๋ฃŒ๋กœ ์˜ˆ์•ฝ๋œ ๋น„์šฉ
remaining_fee String ๋‚จ์€ ์ˆ˜์ˆ˜๋ฃŒ
paid_fee String ์‚ฌ์šฉ๋œ ์ˆ˜์ˆ˜๋ฃŒ
locked String ๊ฑฐ๋ž˜์— ์‚ฌ์šฉ์ค‘์ธ ๋น„์šฉ
executed_volume String ์ฒด๊ฒฐ๋œ ์–‘
trade_count int ํ•ด๋‹น ์ฃผ๋ฌธ์— ๊ฑธ๋ฆฐ ์ฒด๊ฒฐ ์ˆ˜

2-5-6. ์ฃผ๋ฌธ - ๋งค์ˆ˜ ์‹œ์žฅ๊ฐ€ ์ฃผ๋ฌธํ•˜๊ธฐ

๋งค์ˆ˜ ์‹œ์žฅ๊ฐ€ ์ฃผ๋ฌธ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž์˜ ์ž์‚ฐ์— ์ง์ ‘์ ์ธ ์˜ํ–ฅ์„ ์ฃผ๋Š” API์ž…๋‹ˆ๋‹ค.

์ฃผ๋ฌธ API๋Š” ์ด 6๊ฐœ๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

  • ๋งค์ˆ˜ ์‹œ์žฅ๊ฐ€ ์ฃผ๋ฌธ (ํ•„์ˆ˜ ํŒŒ๋ผ๋ฏธํ„ฐ)
  • ๋งค์ˆ˜ ์‹œ์žฅ๊ฐ€ ์ฃผ๋ฌธ (์ „์ฒด ํŒŒ๋ผ๋ฏธํ„ฐ)
  • ๋งค์ˆ˜ ์ง€์ •๊ฐ€ ์ฃผ๋ฌธ
  • ๋งค๋„ ์‹œ์žฅ๊ฐ€ ์ฃผ๋ฌธ (ํ•„์ˆ˜ ํŒŒ๋ผ๋ฏธํ„ฐ)
  • ๋งค๋„ ์‹œ์žฅ๊ฐ€ ์ฃผ๋ฌธ (์ „์ฒด ํŒŒ๋ผ๋ฏธํ„ฐ)
  • ๋งค๋„ ์ง€์ •๊ฐ€ ์ฃผ๋ฌธ

์ง€์ •๋œ ์ฝ”์ธ์˜ ํ˜„์žฌ ์‹œ์„ธ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์›ํ•˜๋Š” ๊ธˆ์•ก๋งŒํผ ๊ตฌ๋งคํ•ฉ๋‹ˆ๋‹ค.

๊ณต์‹ API

โš  Upbit์˜ ์ฃผ๋ฌธํ•˜๊ธฐ API๋Š” ํ•˜๋‚˜์ธ๋ฐ์š”?
Upbit์˜ ์ฃผ๋ฌธ API๋Š” ๋งค๋„/๋งค์ˆ˜ ๋ฐ ์‹œ์žฅ๊ฐ€/์ง€์ •๊ฐ€์˜ ์š”์ฒญ์ด ์ „๋ถ€ ํ•˜๋‚˜์˜ API๋กœ ์‚ฌ์šฉํ•˜๋„๋ก ๊ตฌ์„ฑ๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค. ๋งค๋„/๋งค์ˆ˜, ์‹œ์žฅ๊ฐ€/์ง€์ •๊ฐ€์˜ ์š”์ฒญ์— ๋”ฐ๋ผ ํŠน์ • ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋น„์šฐ๊ฑฐ๋‚˜, ํ•„์ˆ˜๋กœ ์‚ฝ์ž…ํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ์— ํ˜ผ๋ˆ์„ ์œ ๋ฐœํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค.
์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ, ๋งค๋„/๋งค์ˆ˜, ์‹œ์žฅ๊ฐ€/์ง€์ •๊ฐ€์˜ API๋ฅผ ๋ถ„๋ฆฌํ•˜์—ฌ ์ข€ ๋” ์ง๊ด€์ ์ธ API ํ™œ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ์œ ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค.


์š”์ฒญ

UpbitAuthApi upbitAuthApi = new UpbitAuthApi(api, secret);

UpbitResponse<Order> response1 = upbitAuthApi.postBuyOrder(market, price);
UpbitResponse<Order> response2 = upbitAuthApi.postBuyOrder(market, price, identifier);
๊ตฌ๋ถ„ ํƒ€์ž… ๋‚ด์šฉ
market String ๋งˆ์ผ“ ID
price int ์ฃผ๋ฌธ ๊ฐ€๊ฒฉ
identifier String ์กฐํšŒ์šฉ ์‚ฌ์šฉ์ž ์ง€์ •๊ฐ’

์ด์ „์˜ ์กฐํšŒ ๋ฉ”์„œ๋“œ์— ์žˆ๋˜ identifier ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์ฃผ๋ฌธ API์—์„œ ์ž…๋ ฅํ•˜๋Š” identifier์ž…๋‹ˆ๋‹ค.

์ฃผ๋ฌธ ์‹œ identifier๋ฅผ ํŠน์ •ํ•  ๊ฒฝ์šฐ, Upbit์—์„œ ์ž๋™์œผ๋กœ ์ž…๋ ฅํ•ด์ฃผ๋Š” UUID ์™ธ์—๋„ ์‚ฌ์šฉ์ž๊ฐ€ ์ž„์˜๋กœ ๊ณ ์œ ๊ฐ’์„ ์ง€์ •ํ•ด์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ณ ์œ ๊ฐ’์ด๋ฏ€๋กœ, ํ•œ ๊ณ„์ • ๋‚ด์—์„œ ๊ธฐ์กด์— ์‚ฌ์šฉ๋๋˜ identifier๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฃผ๋ฌธํ•  ๊ฒฝ์šฐ ์˜ค๋ฅ˜๊ฐ€ ์ถœ๋ ฅ๋˜๋‹ˆ ์ฃผ์˜ํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.


์‘๋‹ต

Order๋กœ ์ด๋ฃจ์–ด์ง„ ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ๋ถ„ ํƒ€์ž… ๋‚ด์šฉ
uuid String ์ฃผ๋ฌธ์˜ ๊ณ ์œ  ์•„์ด๋””
side String ์ฃผ๋ฌธ ์ข…๋ฅ˜
ord_type String ์ฃผ๋ฌธ ๋ฐฉ์‹
price String ์ฃผ๋ฌธ ๋‹น์‹œ ํ™”ํ ๊ฐ€๊ฒฉ
state String ์ฃผ๋ฌธ ์ƒํƒœ
market String ๋งˆ์ผ“์˜ ์œ ์ผํ‚ค
created_at String ์ฃผ๋ฌธ ์ƒ์„ฑ ์‹œ๊ฐ„
volume String ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ์ฃผ๋ฌธ ์–‘
remaining_volume String ์ฒด๊ฒฐ ํ›„ ๋‚จ์€ ์ฃผ๋ฌธ ์–‘
reserved_fee String ์ˆ˜์ˆ˜๋ฃŒ๋กœ ์˜ˆ์•ฝ๋œ ๋น„์šฉ
remaining_fee String ๋‚จ์€ ์ˆ˜์ˆ˜๋ฃŒ
paid_fee String ์‚ฌ์šฉ๋œ ์ˆ˜์ˆ˜๋ฃŒ
locked String ๊ฑฐ๋ž˜์— ์‚ฌ์šฉ์ค‘์ธ ๋น„์šฉ
executed_volume String ์ฒด๊ฒฐ๋œ ์–‘
trade_count int ํ•ด๋‹น ์ฃผ๋ฌธ์— ๊ฑธ๋ฆฐ ์ฒด๊ฒฐ ์ˆ˜

2-5-7. ์ฃผ๋ฌธ - ๋งค์ˆ˜ ์ง€์ •๊ฐ€ ์ฃผ๋ฌธํ•˜๊ธฐ

๋งค์ˆ˜ ์ง€์ •๊ฐ€ ์ฃผ๋ฌธ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž์˜ ์ž์‚ฐ์— ์ง์ ‘์ ์ธ ์˜ํ–ฅ์„ ์ฃผ๋Š” API์ž…๋‹ˆ๋‹ค.

์ง€์ •๋œ ์ฝ”์ธ์„ ์›ํ•˜๋Š” ์‹œ์„ธ์— ์›ํ•˜๋Š” ์ˆ˜๋Ÿ‰๋งŒํผ ๊ตฌ๋งคํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์˜ˆ์•ฝ ๋งค์ˆ˜์ž…๋‹ˆ๋‹ค.

๊ณต์‹ API


์š”์ฒญ

UpbitAuthApi upbitAuthApi = new UpbitAuthApi(api, secret);

UpbitResponse<Order> response1 = upbitAuthApi.postLimitOrder(market, side, volume, price, identifier);
๊ตฌ๋ถ„ ํƒ€์ž… ๋‚ด์šฉ
market String ๋งˆ์ผ“ ID
side String ์ฃผ๋ฌธ ์ข…๋ฅ˜. bid๋กœ ๊ณ ์ •
volume int ์ฃผ๋ฌธ ์–‘
price int ์ฃผ๋ฌธ ๊ฐ€๊ฒฉ
identifier String ์กฐํšŒ์šฉ ์‚ฌ์šฉ์ž ์ง€์ •๊ฐ’

๋งค์ˆ˜์ผ ๊ฒฝ์šฐ side๋Š” ๋ฐ˜๋“œ์‹œ bid๋กœ ๊ณ ์ •ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

์ง€์ •๊ฐ€ ๋งค๋„/๋งค์ˆ˜๋Š” ๋™์ผํ•œ ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ, side ์ž…๋ ฅ์— ์ฃผ์˜ํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.


์‘๋‹ต

Order๋กœ ์ด๋ฃจ์–ด์ง„ ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ๋ถ„ ํƒ€์ž… ๋‚ด์šฉ
uuid String ์ฃผ๋ฌธ์˜ ๊ณ ์œ  ์•„์ด๋””
side String ์ฃผ๋ฌธ ์ข…๋ฅ˜
ord_type String ์ฃผ๋ฌธ ๋ฐฉ์‹
price String ์ฃผ๋ฌธ ๋‹น์‹œ ํ™”ํ ๊ฐ€๊ฒฉ
state String ์ฃผ๋ฌธ ์ƒํƒœ
market String ๋งˆ์ผ“์˜ ์œ ์ผํ‚ค
created_at String ์ฃผ๋ฌธ ์ƒ์„ฑ ์‹œ๊ฐ„
volume String ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ์ฃผ๋ฌธ ์–‘
remaining_volume String ์ฒด๊ฒฐ ํ›„ ๋‚จ์€ ์ฃผ๋ฌธ ์–‘
reserved_fee String ์ˆ˜์ˆ˜๋ฃŒ๋กœ ์˜ˆ์•ฝ๋œ ๋น„์šฉ
remaining_fee String ๋‚จ์€ ์ˆ˜์ˆ˜๋ฃŒ
paid_fee String ์‚ฌ์šฉ๋œ ์ˆ˜์ˆ˜๋ฃŒ
locked String ๊ฑฐ๋ž˜์— ์‚ฌ์šฉ์ค‘์ธ ๋น„์šฉ
executed_volume String ์ฒด๊ฒฐ๋œ ์–‘
trade_count int ํ•ด๋‹น ์ฃผ๋ฌธ์— ๊ฑธ๋ฆฐ ์ฒด๊ฒฐ ์ˆ˜

2-5-8. ์ฃผ๋ฌธ - ๋งค๋„ ์‹œ์žฅ๊ฐ€ ์ฃผ๋ฌธํ•˜๊ธฐ

๋งค๋„ ์‹œ์žฅ๊ฐ€ ์ฃผ๋ฌธ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž์˜ ์ž์‚ฐ์— ์ง์ ‘์ ์ธ ์˜ํ–ฅ์„ ์ฃผ๋Š” API์ž…๋‹ˆ๋‹ค.

์ง€์ •๋œ ์ฝ”์ธ์˜ ํ˜„์žฌ ์‹œ์„ธ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์›ํ•˜๋Š” ๊ฐฏ์ˆ˜๋งŒํผ ํŒ๋งคํ•ฉ๋‹ˆ๋‹ค.

๊ณต์‹ API


์š”์ฒญ

UpbitAuthApi upbitAuthApi = new UpbitAuthApi(api, secret);

UpbitResponse<Order> response1 = upbitAuthApi.postSellOrder(market, volume);
UpbitResponse<Order> response2 = upbitAuthApi.postSellOrder(market, volume, identifier);
๊ตฌ๋ถ„ ํƒ€์ž… ๋‚ด์šฉ
market String ๋งˆ์ผ“ ID
price int ์ฃผ๋ฌธ ์–‘
identifier String ์กฐํšŒ์šฉ ์‚ฌ์šฉ์ž ์ง€์ •๊ฐ’

๋งค์ˆ˜์™€ ๋‹ฌ๋ฆฌ, ์›ํ•˜๋Š” ์ฝ”์ธ์˜ ๊ฐฏ์ˆ˜๋ฅผ ํŒ๋งคํ•ฉ๋‹ˆ๋‹ค.


์‘๋‹ต

Order๋กœ ์ด๋ฃจ์–ด์ง„ ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ๋ถ„ ํƒ€์ž… ๋‚ด์šฉ
uuid String ์ฃผ๋ฌธ์˜ ๊ณ ์œ  ์•„์ด๋””
side String ์ฃผ๋ฌธ ์ข…๋ฅ˜
ord_type String ์ฃผ๋ฌธ ๋ฐฉ์‹
price String ์ฃผ๋ฌธ ๋‹น์‹œ ํ™”ํ ๊ฐ€๊ฒฉ
state String ์ฃผ๋ฌธ ์ƒํƒœ
market String ๋งˆ์ผ“์˜ ์œ ์ผํ‚ค
created_at String ์ฃผ๋ฌธ ์ƒ์„ฑ ์‹œ๊ฐ„
volume String ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ์ฃผ๋ฌธ ์–‘
remaining_volume String ์ฒด๊ฒฐ ํ›„ ๋‚จ์€ ์ฃผ๋ฌธ ์–‘
reserved_fee String ์ˆ˜์ˆ˜๋ฃŒ๋กœ ์˜ˆ์•ฝ๋œ ๋น„์šฉ
remaining_fee String ๋‚จ์€ ์ˆ˜์ˆ˜๋ฃŒ
paid_fee String ์‚ฌ์šฉ๋œ ์ˆ˜์ˆ˜๋ฃŒ
locked String ๊ฑฐ๋ž˜์— ์‚ฌ์šฉ์ค‘์ธ ๋น„์šฉ
executed_volume String ์ฒด๊ฒฐ๋œ ์–‘
trade_count int ํ•ด๋‹น ์ฃผ๋ฌธ์— ๊ฑธ๋ฆฐ ์ฒด๊ฒฐ ์ˆ˜

2-5-9. ์ฃผ๋ฌธ - ๋งค๋„ ์ง€์ •๊ฐ€ ์ฃผ๋ฌธํ•˜๊ธฐ

๋งค๋„ ์ง€์ •๊ฐ€ ์ฃผ๋ฌธ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž์˜ ์ž์‚ฐ์— ์ง์ ‘์ ์ธ ์˜ํ–ฅ์„ ์ฃผ๋Š” API์ž…๋‹ˆ๋‹ค.

์ง€์ •๋œ ์ฝ”์ธ์„ ์›ํ•˜๋Š” ์‹œ์„ธ์— ์›ํ•˜๋Š” ์ˆ˜๋Ÿ‰๋งŒํผ ํŒ๋งคํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์˜ˆ์•ฝ ๋งค๋„์ž…๋‹ˆ๋‹ค.

๊ณต์‹ API


์š”์ฒญ

UpbitAuthApi upbitAuthApi = new UpbitAuthApi(api, secret);

UpbitResponse<Order> response1 = upbitAuthApi.postLimitOrder(market, side, volume, price, identifier);
๊ตฌ๋ถ„ ํƒ€์ž… ๋‚ด์šฉ
market String ๋งˆ์ผ“ ID
side String ์ฃผ๋ฌธ ์ข…๋ฅ˜. ask๋กœ ๊ณ ์ •
volume int ์ฃผ๋ฌธ ์–‘
price int ์ฃผ๋ฌธ ๊ฐ€๊ฒฉ
identifier String ์กฐํšŒ์šฉ ์‚ฌ์šฉ์ž ์ง€์ •๊ฐ’

๋งค๋„์ผ ๊ฒฝ์šฐ side๋Š” ๋ฐ˜๋“œ์‹œ ask๋กœ ๊ณ ์ •ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

์ง€์ •๊ฐ€ ๋งค๋„/๋งค์ˆ˜๋Š” ๋™์ผํ•œ ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ, side ์ž…๋ ฅ์— ์ฃผ์˜ํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.


์‘๋‹ต

Order๋กœ ์ด๋ฃจ์–ด์ง„ ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ๋ถ„ ํƒ€์ž… ๋‚ด์šฉ
uuid String ์ฃผ๋ฌธ์˜ ๊ณ ์œ  ์•„์ด๋””
side String ์ฃผ๋ฌธ ์ข…๋ฅ˜
ord_type String ์ฃผ๋ฌธ ๋ฐฉ์‹
price String ์ฃผ๋ฌธ ๋‹น์‹œ ํ™”ํ ๊ฐ€๊ฒฉ
state String ์ฃผ๋ฌธ ์ƒํƒœ
market String ๋งˆ์ผ“์˜ ์œ ์ผํ‚ค
created_at String ์ฃผ๋ฌธ ์ƒ์„ฑ ์‹œ๊ฐ„
volume String ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ์ฃผ๋ฌธ ์–‘
remaining_volume String ์ฒด๊ฒฐ ํ›„ ๋‚จ์€ ์ฃผ๋ฌธ ์–‘
reserved_fee String ์ˆ˜์ˆ˜๋ฃŒ๋กœ ์˜ˆ์•ฝ๋œ ๋น„์šฉ
remaining_fee String ๋‚จ์€ ์ˆ˜์ˆ˜๋ฃŒ
paid_fee String ์‚ฌ์šฉ๋œ ์ˆ˜์ˆ˜๋ฃŒ
locked String ๊ฑฐ๋ž˜์— ์‚ฌ์šฉ์ค‘์ธ ๋น„์šฉ
executed_volume String ์ฒด๊ฒฐ๋œ ์–‘
trade_count int ํ•ด๋‹น ์ฃผ๋ฌธ์— ๊ฑธ๋ฆฐ ์ฒด๊ฒฐ ์ˆ˜

Clone this wiki locally