-
Notifications
You must be signed in to change notification settings - Fork 1
2. API Document
์ด ์ฅ์ Upbit API for JAVA ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ ๊ณตํ๋ ๋ฉ์๋์ ๋ํด ๊ธฐ์ ํฉ๋๋ค.
์ ๊ณต๋๋ ๋ฉ์๋๋ ํจํค์ง test.java์์ ํ์ธ ๋ฐ ํ
์คํธํ ์ ์์ต๋๋ค. (๋ช๋ช ๋ฉ์๋๋ Upbit API Key๋ฅผ ์๊ตฌํฉ๋๋ค)
๊ตฌํ๋ API๋ ์๋์ ๊ฐ์ต๋๋ค.
- ์ธ์ฆ
- โ ์ธ์ฆ ํ ํฐ
- โ ํ๋ผ๋ฏธํฐ๊ฐ ์๋ ์ธ์ฆ ํ ํฐ
- QUOTATION API
- ์์ธ ์ข
๋ชฉ ์กฐํ
- โ ๋ง์ผ ์ฝ๋ ์กฐํ
- ์์ธ ์บ๋ค ์กฐํ
- โ ๋ถ(Minute) ์บ๋ค
- โ ์ผ(Day) ์บ๋ค
- โ ์ฃผ(Week) ์บ๋ค
- โ ์(Month) ์บ๋ค
- ์์ธ ์ฒด๊ฒฐ ์กฐํ
- โ ์ต๊ทผ ์ฒด๊ฒฐ ๋ด์ญ
- ์์ธ Ticker ์กฐํ
- โ ํ์ฌ๊ฐ ์ ๋ณด
- ์์ธ ํธ๊ฐ ์ ๋ณด(Orderbook) ์กฐํ
- โ ํธ๊ฐ ์ ๋ณด ์กฐํ
- ์์ธ ์ข
๋ชฉ ์กฐํ
- EXCHANGE API
- ์์ฐ
- โ ์ ์ฒด ๊ณ์ข ์กฐํ
- ์ฃผ๋ฌธ
- โ ์ฃผ๋ฌธ ๊ฐ๋ฅ ์ ๋ณด
- โ ๊ฐ๋ณ ์ฃผ๋ฌธ ์ ๋ณด
- โ ์ฃผ๋ฌธ ๋ฆฌ์คํธ ์กฐํ
- โ ์ฃผ๋ฌธ ์ทจ์ ์ ์
- โ ์ฃผ๋ฌธํ๊ธฐ
- ์ถ๊ธ
- โ ์ถ๊ธ ๋ฆฌ์คํธ ์กฐํ
- โ ๊ฐ๋ณ ์ถ๊ธ ์กฐํ
- โ ์ถ๊ธ ๊ฐ๋ฅ ์ ๋ณด
- โ ์ฝ์ธ ์ถ๊ธํ๊ธฐ
- โ ์ํ ์ถ๊ธํ๊ธฐ
- ์
๊ธ
- โ ์ ๊ธ ๋ฆฌ์คํธ ์กฐํ
- โ ๊ฐ๋ณ ์ ๊ธ ์กฐํ
- โ ์ ๊ธ ์ฃผ์ ์์ฑ ์์ฒญ
- โ ์ ์ฒด ์ ๊ธ ์ฃผ์ ์กฐํ
- โ ๊ฐ๋ณ ์ ๊ธ ์ฃผ์ ์กฐํ
- โ ์ํ ์ ๊ธํ๊ธฐ
- ์๋น์ค ์ ๋ณด
- โ ์ ์ถ๊ธ ํํฉ
- โ API ํค ๋ฆฌ์คํธ ์กฐํ
- ์์ฐ
์ ๋นํธ์ ์ ์ฒด API๋ ์ฌ๊ธฐ์์ ํ์ธํ ์ ์์ต๋๋ค.
์ธ์ฆ์ ์ ์ธํ 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๋ฅผ ํ์ฉํ์ฌ ์๋ต ์ฝ๋๋ณ๋ก ๋ก์ง์ ๋ถ๋ฆฌํ ์๋ ์์ต๋๋ค.
์ธ์ฆ JWT ํ ํฐ์ ๋ฐ์์ค๋ API์ ๋๋ค.
์์ฒญ์ ์ง์ ์ปค์คํ ํ์ฌ ๋ณด๋ด๊ณ ์ถ์ ๊ฒฝ์ฐ, ์ธ์ฆ ์ ๋ณด๋ง์ ๋ฐ์์์ ์์ฒญ์ ๊ตฌ์ฑํ๋๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
AuthApi authApi = new AuthApi("{API Key}", "{SECRET Key}");ํด๋์ค ์ ์ธ์ ์์ ๊ฐ์ต๋๋ค.
์ธ์ฆ ํ ํฐ์ ๋ฐํํ๋ 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๋ฅผ ๋ง๋ค์ด ์ฌ์ฉํฉ๋๋ค.
๋์ผํ ์ธ์ฆ ํ ํฐ์ด์ง๋ง, ํ๋ผ๋ฏธํฐ๊ฐ ํฌํจ๋ ์ธ์ฆ ํ ํฐ์ ๋ฐํํฉ๋๋ค.
{
"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์ ์ํธํ๋ ์ฟผ๋ฆฌ๋ฌธ์ ๋น๊ตํ์ฌ, ๋ค๋ฅผ ๊ฒฝ์ฐ ์์ฒญ์ด ์ํ๋์ง ์์ต๋๋ค.
Upbit์ QUOTATION API์ ๋๋ค. ์ฝ์ธ์ ์์ธ์ ๊ด๋ จ๋ API์ด๋ฏ๋ก, ์ธ์ฆ์ ์๊ตฌํ์ง ์๋ API๋ค์ ๋๋ค.
UpbitApi upbitApi = new UpbitApi();ํด๋์ค ์ ์ธ์ ์์ ๊ฐ์ต๋๋ค.
Upbit์์ ๊ฑฐ๋ ๊ฐ๋ฅํ ๋ง์ผ ๋ชฉ๋ก์ ์ ๊ณตํฉ๋๋ค.
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์ผ ๊ฒฝ์ฐ์๋ง ํฌํจ๋ฉ๋๋ค.
์ง์ ๋ ์ฝ์ธ์ ๋ถ ๋จ์ ์บ๋ค ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค.
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 |
๋ถ ๋จ์(์ ๋) |
์ง์ ๋ ์ฝ์ธ์ ์ผ ๋จ์ ์บ๋ค ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค.
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 ํ๋ผ๋ฏธํฐ ์์ ์ ํด๋น ํ๋ ํฌํจ๋์ง ์์.) |
์ง์ ๋ ์ฝ์ธ์ ์ฃผ ๋จ์ ์บ๋ค ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค.
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 |
์บ๋ค ๊ธฐ๊ฐ์ ๊ฐ์ฅ ์ฒซ ๋ |
์ง์ ๋ ์ฝ์ธ์ ์ ๋จ์ ์บ๋ค ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค.
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 ๊ฐ์ฒด๋ฅผ ๊ณต์ ํฉ๋๋ค.
์ง์ ๋ ์ฝ์ธ์ ์ต๊ทผ ์ฒด๊ฒฐ(Ticks) ๋ด์ญ์ ๋ํ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค.
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) |
์ง์ ๋ ์ฝ์ธ์ ์์ธ Ticker์ ๋ํ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค.
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 |
ํ์์คํฌํ |
์ง์ ๋ ์ฝ์ธ์ ํธ๊ฐ ์ ๋ณด์ ๋ํ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค.
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ํธ๊ฐ๊น์ง์ ํธ๊ฐ ์ ๋ณด๋ฅผ ๋ฐฐ์ด์ ๋ด์ ์ ๊ณตํฉ๋๋ค.
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์ ๋ฉ์๋๋ ํฌํจ๋์ด ์์ต๋๋ค.
๋ณด์ ํ ์์ฐ ๋ฆฌ์คํธ๋ฅผ ์ ๊ณตํฉ๋๋ค.
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 |
ํ๋จ๊ฐ ๊ธฐ์ค ํํ |
์ฌ์ฉ์๊ฐ ๊ฐ์ง ์ฝ์ธ ์ข ๋ฅ์ ๊ฐฏ์๋งํผ ์ค๋ ฅ๋ฉ๋๋ค.
์ฝ์ธ๋ณ ์ฃผ๋ฌธ ๊ฐ๋ฅ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค.
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์ ๊ฒฝ์ฐ ์์ฐ - ์ ์ฒด ๊ณ์ข ์กฐํ์ ์๋ต ๊ฐ์ฒด์ ๋์ผํฉ๋๋ค.
์ฃผ๋ฌธ UUID๋ฅผ ํตํ ๊ฐ๋ณ ์ฃผ๋ฌธ์ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค.
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 |
์ฒด๊ฒฐ ์๊ฐ |
์ฃผ๋ฌธ ๋ฆฌ์คํธ๋ฅผ ์ ๊ณตํฉ๋๋ค.
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 |
ํด๋น ์ฃผ๋ฌธ์ ๊ฑธ๋ฆฐ ์ฒด๊ฒฐ ์ |
์ฃผ๋ฌธ ์ทจ์ ์ ์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ์ฌ์ฉ์์ ์์ฐ์ ์ง์ ์ ์ธ ์ํฅ์ ์ฃผ๋ 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 |
ํด๋น ์ฃผ๋ฌธ์ ๊ฑธ๋ฆฐ ์ฒด๊ฒฐ ์ |
๋งค์ ์์ฅ๊ฐ ์ฃผ๋ฌธ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ์ฌ์ฉ์์ ์์ฐ์ ์ง์ ์ ์ธ ์ํฅ์ ์ฃผ๋ API์ ๋๋ค.
์ฃผ๋ฌธ API๋ ์ด 6๊ฐ๊ฐ ์ ๊ณต๋ฉ๋๋ค.
- ๋งค์ ์์ฅ๊ฐ ์ฃผ๋ฌธ (ํ์ ํ๋ผ๋ฏธํฐ)
- ๋งค์ ์์ฅ๊ฐ ์ฃผ๋ฌธ (์ ์ฒด ํ๋ผ๋ฏธํฐ)
- ๋งค์ ์ง์ ๊ฐ ์ฃผ๋ฌธ
- ๋งค๋ ์์ฅ๊ฐ ์ฃผ๋ฌธ (ํ์ ํ๋ผ๋ฏธํฐ)
- ๋งค๋ ์์ฅ๊ฐ ์ฃผ๋ฌธ (์ ์ฒด ํ๋ผ๋ฏธํฐ)
- ๋งค๋ ์ง์ ๊ฐ ์ฃผ๋ฌธ
์ง์ ๋ ์ฝ์ธ์ ํ์ฌ ์์ธ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ํ๋ ๊ธ์ก๋งํผ ๊ตฌ๋งคํฉ๋๋ค.
โ 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 |
ํด๋น ์ฃผ๋ฌธ์ ๊ฑธ๋ฆฐ ์ฒด๊ฒฐ ์ |
๋งค์ ์ง์ ๊ฐ ์ฃผ๋ฌธ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ์ฌ์ฉ์์ ์์ฐ์ ์ง์ ์ ์ธ ์ํฅ์ ์ฃผ๋ 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 |
ํด๋น ์ฃผ๋ฌธ์ ๊ฑธ๋ฆฐ ์ฒด๊ฒฐ ์ |
๋งค๋ ์์ฅ๊ฐ ์ฃผ๋ฌธ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ์ฌ์ฉ์์ ์์ฐ์ ์ง์ ์ ์ธ ์ํฅ์ ์ฃผ๋ 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 |
ํด๋น ์ฃผ๋ฌธ์ ๊ฑธ๋ฆฐ ์ฒด๊ฒฐ ์ |
๋งค๋ ์ง์ ๊ฐ ์ฃผ๋ฌธ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ์ฌ์ฉ์์ ์์ฐ์ ์ง์ ์ ์ธ ์ํฅ์ ์ฃผ๋ 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 |
ํด๋น ์ฃผ๋ฌธ์ ๊ฑธ๋ฆฐ ์ฒด๊ฒฐ ์ |