cryptocurrency.api
Version:
Cryptocurrency API
177 lines (176 loc) • 9.15 kB
TypeScript
import { AxiosError } from 'axios';
import * as I from './upbit.types';
export declare class RequestError extends Error {
readonly code: string | number;
readonly url: string;
readonly method: string;
readonly params: unknown;
readonly status: number;
readonly statusText: string;
constructor(axiosError: AxiosError);
}
/**
* UPbit
**/
export declare class UPbit {
private _url;
private _opts;
constructor(options: {
accessKey: string;
secretKey: string;
});
/**
* 마켓 코드 조회
* 업비트에서 거래 가능한 마켓 목록
* https://docs.upbit.com/reference#%EB%A7%88%EC%BC%93-%EC%BD%94%EB%93%9C-%EC%A1%B0%ED%9A%8C
* isDetails: 유의종목 필드과 같은 상세 정보 노출 여부(선택 파라미터)
**/
getMarket(isDetails?: boolean): Promise<I.Response<I.MarketType[]>>;
/**
* 분(Minute) 캔들
* https://docs.upbit.com/reference#%EB%B6%84minute-%EC%BA%94%EB%93%A4-1
* min: 분 단위. 가능한 값 : 1, 3, 5, 15, 10, 30, 60, 240 (필수)
* CandleParam.market: 마켓 코드 (ex. KRW-BTC) (필수)
* CandleParam.to: 마지막 캔들 시각 (exclusive). 포맷 : yyyy-MM-dd'T'HH:mm:ssXXX or yyyy-MM-dd HH:mm:ss. 비워서 요청시 가장 최근 캔들
* CandleParam.cout: 캔들 개수(최대 200개까지 요청 가능)
**/
getCandlesMinutes(min: 1 | 3 | 5 | 15 | 10 | 30 | 60 | 240, params: I.CandleParam): Promise<I.Response<I.CandleMinuteType[]>>;
/**
* 일(Day) 캔들
* https://docs.upbit.com/reference#%EC%9D%BCday-%EC%BA%94%EB%93%A4-1
* CandleParamEx.market: 마켓 코드 (ex. KRW-BTC, BTC-BCC) (필수)
* CandleParamEx.to: 마지막 캔들 시각 (exclusive). 포맷 : yyyy-MM-dd'T'HH:mm:ssXXX or yyyy-MM-dd HH:mm:ss. 비워서 요청시 가장 최근 캔들
* CandleParamEx.count: 캔들 개수
* CandleParamEx.convertingPriceUnit: 종가 환산 화폐 단위 (생략 가능, KRW로 명시할 시 원화 환산 가격을 반환.)
**/
getCandlesDays(params: I.CandleParamEx): Promise<I.Response<I.CandleDayType[]>>;
/**
* 주(Week) 캔들
* https://docs.upbit.com/reference#%EC%A3%BCweek-%EC%BA%94%EB%93%A4-1
* CandleParam.market: string 마켓 코드 (ex. KRW-BTC, BTC-BCC) (필수)
* CandleParam.to: string 마지막 캔들 시각 (exclusive). 포맷 : yyyy-MM-dd'T'HH:mm:ssXXX or yyyy-MM-dd HH:mm:ss. 비워서 요청시 가장 최근 캔들
* CandleParam.count: int32 캔들 개수
**/
getCandlesWeeks(params: I.CandleParam): Promise<I.Response<I.CandleWeekType[]>>;
/**
* 월(Month) 캔들
* https://docs.upbit.com/reference#%EC%9B%94month-%EC%BA%94%EB%93%A4-1
* CandleParam.market: string 마켓 코드 (ex. KRW-BTC, BTC-BCC) (필수)
* CandleParam.to: string 마지막 캔들 시각 (exclusive). 포맷 : yyyy-MM-dd'T'HH:mm:ssXXX or yyyy-MM-dd HH:mm:ss. 비워서 요청시 가장 최근 캔들
* CandleParam.count: int32 캔들 개수
**/
getCandlesMonths(params: I.CandleParam): Promise<I.Response<I.CandleMonthType[]>>;
/**
* 최근 체결 내역
* https://docs.upbit.com/reference#%EC%B5%9C%EA%B7%BC-%EC%B2%B4%EA%B2%B0-%EB%82%B4%EC%97%AD
* TradeTickParam.market*: string 마켓 코드 (ex. KRW-BTC, BTC-BCC)
* TradeTickParam.to: string 마지막 체결 시각. 형식 : [HHmmss 또는 HH:mm:ss]. 비워서 요청시 가장 최근 데이터
* TradeTickParam.count: int32 체결 개수
* TradeTickParam.cursor: string 페이지네이션 커서 (sequentialId)
* TradeTickParam.daysAgo: int32 최근 체결 날짜 기준 7일 이내의 이전 데이터 조회 가능. 비워서 요청 시 가장 최근 체결 날짜 반환. (범위: 1 ~ 7))
**/
getTradesTicks(params: I.TradeTickParam): Promise<I.Response<I.TradeTickType[]>>;
/**
* 현재가 정보
* 요청 당시 종목의 스냅샷을 반환한다.
* https://docs.upbit.com/reference#ticker%ED%98%84%EC%9E%AC%EA%B0%80-%EB%82%B4%EC%97%AD
* markets*: string 반점으로 구분되는 마켓 코드 (ex. KRW-BTC, BTC-BCC)
**/
getTicker(params: {
markets: string[];
}): Promise<I.Response<I.TickerType[]>>;
/**
* 호가 정보 조회
* https://docs.upbit.com/reference#%ED%98%B8%EA%B0%80-%EC%A0%95%EB%B3%B4-%EC%A1%B0%ED%9A%8C
* markets*: array of strings 마켓 코드 목록 (ex. KRW-BTC,KRW-ADA)
**/
getOrderbook(params: {
markets: string[];
}): Promise<I.Response<I.OrderbookType[]>>;
/**
* 전체 계좌 조회
* 내가 보유한 자산 리스트를 보여줍니다.
* https://docs.upbit.com/reference#%EC%9E%90%EC%82%B0-%EC%A1%B0%ED%9A%8C
**/
getAccounts(): Promise<I.Response<I.AccountType[]>>;
/**
* 주문 가능 정보
* https://docs.upbit.com/reference#%EC%A3%BC%EB%AC%B8-%EA%B0%80%EB%8A%A5-%EC%A0%95%EB%B3%B4
* market *: 마켓ID String
**/
getOrdersChance(params: {
market: string;
}): Promise<I.Response<I.OrderChanceType>>;
/**
* 개별 주문 조회
* 주문 UUID 를 통해 개별 주문건을 조회한다.
* https://docs.upbit.com/reference#%EA%B0%9C%EB%B3%84-%EC%A3%BC%EB%AC%B8-%EC%A1%B0%ED%9A%8C
* uuid: 주문 UUID String
* identifier: 조회용 사용자 지정 값 String
**/
getOrderDetail(params: I.OrderDetailParam): Promise<I.Response<I.OrderDetailType>>;
/**
* 주문 리스트 조회
* 주문 리스트를 조회한다.
* https://docs.upbit.com/reference#%EC%A3%BC%EB%AC%B8-%EB%A6%AC%EC%8A%A4%ED%8A%B8-%EC%A1%B0%ED%9A%8C
* market: 마켓 아이디 String
* uuids: 주문 UUID의 목록 Array
* identifiers: 주문 identifier의 목록 Array
* state: 주문 상태 String
* - wait : 체결 대기 (default)
* - watch : 예약주문 대기
* - done : 전체 체결 완료
* - cancel : 주문 취소
* states: 주문 상태의 목록 Array
* * 미체결 주문(wait, watch)과 완료 주문(done, cancel)은 혼합하여 조회하실 수 없습니다.
* page: 페이지 수, default: 1 Number
* limit: 요청 개수, default: 100 Number
* order_by: 정렬 방식
* - asc : 오름차순
* - desc : 내림차순 (default) String
**/
getOrderList(params?: I.OrderListParam): Promise<I.Response<I.OrderType[]>>;
/**
* 주문 취소 접수
* 주문 UUID를 통해 해당 주문에 대한 취소 접수를 한다.
* https://docs.upbit.com/reference#주문-취소
* uuid: 취소할 주문의 UUID String
* identifier: 조회용 사용자 지정값 String
**/
cancel(params: I.CancelParam): Promise<I.Response<I.OrderType>>;
/**
* 주문하기
* 주문 요청을 한다.
* https://docs.upbit.com/reference#%EC%A3%BC%EB%AC%B8%ED%95%98%EA%B8%B0
* market * 마켓 ID (필수) String
* side * 주문 종류 (필수)
* - bid : 매수
* - ask : 매도 String
* volume * 주문량 (지정가, 시장가 매도 시 필수) NumberString
* price * 주문 가격. (지정가, 시장가 매수 시 필수)
* ex) KRW-BTC 마켓에서 1BTC당 1,000 KRW로 거래할 경우, 값은 1000 이 된다.
* ex) KRW-BTC 마켓에서 1BTC당 매도 1호가가 500 KRW 인 경우, 시장가 매수 시 값을 1000으로 세팅하면 2BTC가 매수된다.
* (수수료가 존재하거나 매도 1호가의 수량에 따라 상이할 수 있음) NumberString
* ord_type * 주문 타입 (필수)
* - limit : 지정가 주문
* - price : 시장가 주문(매수)
* - market : 시장가 주문(매도) String
* identifier 조회용 사용자 지정값 (선택) String (Uniq 값 사용)
* --
* 원화 마켓 가격 단위를 확인하세요.
* 원화 마켓에서 주문을 요청 할 경우, 원화 마켓 주문 가격 단위 를 확인하여 값을 입력해주세요.
* --
* identifier 파라미터 사용
* identifier는 서비스에서 발급하는 uuid가 아닌 이용자가 직접 발급하는 키값으로, 주문을 조회하기 위해 할당하는 값입니다. 해당 값은 사용자의 전체 주문 내 유일한 값을 전달해야하며, 비록 주문 요청시 오류가 발생하더라도 같은 값으로 다시 요청을 보낼 수 없습니다.
* 주문의 성공 / 실패 여부와 관계없이 중복해서 들어온 identifier 값에서는 중복 오류가 발생하니, 매 요청시 새로운 값을 생성해주세요.
* --
* 시장가 주문
* 시장가 주문은 ord_type 필드를 price or market 으로 설정해야됩니다.
* 매수 주문의 경우 ord_type을 price로 설정하고 volume을 null 혹은 제외해야됩니다.
* 매도 주문의 경우 ord_type을 market로 설정하고 price을 null 혹은 제외해야됩니다.
**/
order(params: I.OrderLimitParam | I.OrderPriceParam | I.OrderMarketParam): Promise<I.Response<I.OrderType>>;
private _quotation;
private _exchange;
private _extractRemainingReq;
}