웹스쿨
업비트(UPBIT) API - 나의 자산 호출하기 본문
반응형
업비트에서 드디어 개발 API 가 오픈했습니다.
뭐 API 가 딱히 없어도, 여태껏 시세정보는 몰래 가져오고 있었는데, 매수/매도가 가능한 API가 오픈한 것은 참으로 고마운 일입니다.
업비트 API는 JWT를 이용한 데이터전송을 사용하고 있습니다.
저도 이번 기회에 JWT 처음 알게 되었네요~
개발은 PHP를 이용해서 개발할 계획이기 때문에, 구글링으로 PHP 의 JWT 라이브러리를 검색해서 github 에서 다운받았습니다.
다운로드 주소
https://github.com/firebase/php-jwt
php JWT 사용방법
https://coderwall.com/p/8wrxfw/goodbye-php-sessions-hello-json-web-tokens
아래 소스코드는 제가 만든 업비트 내 계좌정보 가져오기 입니다.
삽질좀 했습니다.
JWT 사용방법과 CURL 의 header 에 토큰을 싫어서 전송하는 건 처음이라서 저도 조금 헤맸습니다~
- function get_my_account()
- {
- include_once "_JWT.php";
- $JWT = new JWT();
- $payload['access_key'] = UPBIT_ACCESS_KEY;
- $token = $JWT->encode($payload, UPBIT_SECRET_KEY);
- $url = "https://api.upbit.com/v1/accounts";
- "url" => $url,
- "Authorization: Bearer {$token}"
- )
- ));
- return $data;
- }
- function get_curl($param){
- //print_r($param);exit;
- #접속할 URL 주소
- #FALSE 를 설정하면 cURL는 서버 인증서의 유효성을 검사하지 않습니다.#다른 인증를 CURLOPT_CAINFO 옵션 지정하거나 CURLOPT_CAPATH 옵션 증명서 디렉토리를 지정합니다.
- #SSL 버젼 지정. 기본값은 2
- #curl_setopt ($ch, CURLOPT_SSLVERSION,1);
- #TRUE 를 설정하면 헤더의 내용을 출력합니다.
- #curl_setopt($ch, CURLOPT_HEADER, 1);
- #HTTP 요청에서 사용되는 "User - Agent :" 헤더의 내용.
- if($param['cookie']){
- #curl_close 호출 될 때 쿠키를 파일 이름으로 저장.
- #쿠키의 데이터를 http 헤더를 통해 보낸다.
- }
- #POST 로 데이터 전송.
- #TRUE 를 설정하면 HTTP POST를 수행합니다. POST는 application / x - www - form - urlencoded 식으로 이루어집니다. 이것은 일반적인 HTML 양식과 같은 형식입니다.
- if($param['post_data']){
- }
- if($param['header']){
- }
- #최대 실행 시간(초)
- #TRUE 를 설정하면 curl_exec () 의 반환 값을 문자열로 반환합니다. 일반적으로 데이터를 직접 출력합니다.
- return $result;
- }
아래는 결과입니다.
원화로 10만원 넣어둔게 나오는군요~ 헤헤
Array ( [0] => Array ( [currency] => KRW [balance] => 100000.19014065 [locked] => 0.0 [avg_krw_buy_price] => 0 [modified] => ) )
이건 매수중일때~ locked 값이 생성되어있네요~(비트코인 8만원치 매수걸어둔 상태입니다.)
Array ( [0] => Array ( [currency] => KRW [balance] => 19932.17614065 [locked] => 80068.014 [avg_krw_buy_price] => 0 [modified] => ) )
이건 비트코인 매수후의 데이터입니다.
데이터가 2개 리턴되네요.
Array ( [0] => Array ( [currency] => KRW [balance] => 19932.17614065 [locked] => 63854.241165 [avg_krw_buy_price] => 0 [modified] => ) [1] => Array ( [currency] => BTC [balance] => 0.00243 [locked] => 0.0 [avg_krw_buy_price] => 6669000 [modified] => ) )
이 게시글은
https://webschool.kr/?v=board_view&board_key=38&idx=540
에서 작성한 글입니다. 소스코드의 경우 해당 블로그에서 이뿌게 노출이 되지 않을 수 있사오니, 위 링크로 들어오셔서 보시길 바랍니다.
https://webschool.kr/?v=board_view&board_key=38&idx=540
에서 작성한 글입니다. 소스코드의 경우 해당 블로그에서 이뿌게 노출이 되지 않을 수 있사오니, 위 링크로 들어오셔서 보시길 바랍니다.
반응형
'개인 프로젝트 > 업비트 자동매매 일지' 카테고리의 다른 글
업비트 API 자동매매 - 수익공개1 (0) | 2023.03.30 |
---|---|
업비트 API 에러 - {"error":{"message":"이미 사용된 임시 번호입니다.","name":"nonce_used"}} (0) | 2023.03.30 |
업비트(UPBIT) API - 1차버전 완성 (0) | 2023.03.30 |
업비트(UPBIT) API - 매수시도 (0) | 2023.03.30 |
업비트(UPBIT) API - 매수 시도 + 업비트 문의남김 (0) | 2023.03.30 |