지난 포스트 바이낸스 API KEY 받기를 했다면
이제는 바이낸스로부터 데이터를 훔쳐조회해보자!
https://binance-docs.github.io/apidocs/spot/en/#test-connectivity
Binance API Documentation
binance-docs.github.io
해당 api docs를 보면 받을 수 있는 데이터와 경로, request parameter, response 등을 확인할 수 있다.
해당 문서를 보면 바이낸스에서 제공하는 종목에 대한 거래소 규칙 및 심볼 정보, 호가정보, 캔들정보 등등을 조회해볼 수 있다.
이런 식으로 request method, parameter, response를 안내해준다.
exchange-info api는 두 가지 query parameter가 옵션으로 추가하여 요청할 수 있다.
symbol은 단독으로 사용할 수도 있고, 리스트 형태의 복수개로 요청할 수도 있다.
permissions 역시 symbol과 마찬가지로 단독 혹은 복수개로 요청할 수 있다.
물론 모든 query parameter는 옵션으로 요청에 포함하지 않아도 된다.
permissions를 넣지 않는다면 기본값은 ["SPOT","MARGIN","LEVERAGED"] 이다.
symbol을 query parameter값으로 넣지 않는다면 전종목에 대한 심볼 정보가 조회된다.
그럼 query parameter를 넣지 않고 exchange-info를 요청해보자.
거의 3분 뚝딱이형처럼 3초만에 코드가 짜여진다.(쉽다 쉬워)
응답값은 api 문서대로 json값으로 온다. 해당 응답값에는 timezone, symbol, 등등의 정보가 있는데 자세한 건 문서를 참고하도록 하자.
쿼리 파라메터 없이 요청했기때문에 심볼 정보는 전 종목에 대한 정보가 조회된다.
그럼 이번에는 BTCUSDT 종목에 대한 정보를 조회해보자.
역시나 뚝딱 조회가 된다.
그렇다면 이제 복수개의 종목을 조회해 보자.
문서를 보면 위처럼 리스트형태로 요청하거나 위의 뭔가 어떤 규칙에 의해 파싱된 문자형태로 요청하라고 되어있다.
순진하게 symbols=["BTCUSDT", "BNBBTC"] 와 같이 정의해둔채로 params에 그대로 넣는다면 아마 400 에러 코드를 받고 멘붕에 빠질지도 모른다.(아닐 시 님말이 다 맞음, 내가 그랬었다는 말임)
그럼 400에러 없이 쾌적한 200을 받고 속이 편하고 싶다면 어떻게 해야할까?
1. url에 %5B%22BTCUSDT%22 어쩌구 때려박기
2. json으로 dumps해서 넣기
1,2 두가지 방법 모두 된다.
하지만 조금 더 있어보이는 방법으로 하기 위해 2번 방법을 택하도록 하자.
여기서 함정은 json으로 dumps한 뒤 공백을 없애주어야 한다는 점이다.
지금까지 바이낸스의 api를 이용하여 현재 거래소 규칙 및 심볼 정보를 조회해 보았다.
Market Data에는 이 외에도 다양한 api를 제공한다.
다음 시간에 웹소켓 마켓 스트림즈를 훔쳐조회해보도록 하자.
'프로젝트' 카테고리의 다른 글
[프로젝트1] 코인 선물 계약유형(contract type)과 주문 유효시간(time in force) (1) | 2024.02.10 |
---|---|
[프로젝트1] 펀딩비(funding fee) (1) | 2024.02.09 |
[프로젝트1] 바이낸스 API 발급하기 (3) | 2024.01.20 |