마스터욱
Toggle navigation
  • 회원가입 | 정보찾기
ICON NAVIGATION
정보수정 쪽지함 주변맛집 익명채팅
공지사항 채팅 개발문의 방명록
  • MAIN NAVIGATION
  • 메인
  • 마스터욱 공간
    • 마스터욱 소개
    • 개발 리스트
    • 공지사항
    • 방명록
  • 마스터욱 외부자료
    • 네이버
    • 티스토리
    • 깃허브(github)
  • 개인 프로젝트
    • 랜덤 이성 채팅
    • Auto 크롤링
    • Javascript 카카오 채팅
    • 파이썬 뉴스매매
    • C# 키움 주식 자동매매
    • C# 키움 주식 패턴 분석
    • PHP 욱보드
    • 업비트 자동매매 개발
    • 업비트 자동매매 일지
  • 개발 의뢰
    • 개발 문의
    • 개발 견적
    • 개발 피드백
    • FAQ
  • 개발 경험 Tip
    • PHP
    • JSP
    • HTML
    • Javascript
    • Android
    • C#
    • MySQL
    • Linux
    • Python
    • NodeJS
    • React
    • Vue.js
    • Flutter
    • 정규식
    • 기타
  • 커뮤니티
    • 자유게시판
    • 추천사이트
    • 영화
    • 여행
    • 유머
    • Overseas News
  • 맛집&즐길 거리 탐방
    • 맛집 정보
    • 즐길 거리 정보
    • 내 주위 맛집&즐길 거리
  • 공유 사진
    • 음식
    • 여행
    • 캐릭터
    • 배경
    • 기타
    • 이모티콘
    • 일러스트
  • 놀이터
    • 블록뽀시기
    • 트레이딩뷰
    • 로또 시뮬레이션
    • 쳇쳇 익명 채팅
    • 랜덤 이성 채팅
    • AI 채팅
    • 미니 채팅
    • 바이너리 테스트
    • 마번호 생성기
    • 바카라 시뮬레이션
    • 홀짝점수 테스트
    • 로또 분석기
SITE STATISTICS
  • - 명 현재 접속자
  • 1,476 명 오늘 방문자
  • 2,173 명 어제 방문자
  • 5,192 명 최대 방문자
  • 683,062 명 전체 방문자
  • 2,569 개 전체 게시물
  • 496 개 전체 댓글수
Facebook Twitter GooglePlus KakaoStory NaverBand
  1. 홈
  2. 업비트 자동매매 일지
목록으로

업비트(UPBIT) API - 나의 자산 호출하기

마스터욱 3 681 0 0 2018-06-30 02:49:00

업비트에서 드디어 개발 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 에 토큰을 싫어서 전송하는 건 처음이라서 저도 조금 헤맸습니다~

 

  1. function get_my_account()
  2. {
  3.     //https://github.com/firebase/php-jwt
  4.     //https://coderwall.com/p/8wrxfw/goodbye-php-sessions-hello-json-web-tokens
  5.     include_once "_JWT.php";
  6.     $JWT = new JWT();
  7.  
  8.     $payload = array();
  9.     $payload['access_key'] = UPBIT_ACCESS_KEY;
  10.     $payload['nonce'] = time() * 1000;
  11.     $token = $JWT->encode($payload, UPBIT_SECRET_KEY);
  12.  
  13.     $url = "https://api.upbit.com/v1/accounts";
  14.     $string = get_curl(array(
  15.         "url"       => $url,
  16.         "header"    => array(
  17.             "Authorization: Bearer {$token}"
  18.         )
  19.     ));
  20.     $data = json_decode($string, true);
  21.  
  22.     return $data;
  23. }
  24.  
  25. function get_curl($param){
  26.     //print_r($param);exit;
  27.  
  28.     $ch = curl_init();
  29.  
  30.     #접속할 URL 주소
  31.     curl_setopt($ch, CURLOPT_URL, $param['url']);
  32.  
  33.     #FALSE 를 설정하면 cURL는 서버 인증서의 유효성을 검사하지 않습니다.#다른 인증를 CURLOPT_CAINFO 옵션 지정하거나 CURLOPT_CAPATH 옵션 증명서 디렉토리를 지정합니다.
  34.     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  35.  
  36.     #SSL 버젼 지정. 기본값은 2
  37.     #curl_setopt ($ch, CURLOPT_SSLVERSION,1);
  38.  
  39.     #TRUE 를 설정하면 헤더의 내용을 출력합니다.
  40.     #curl_setopt($ch, CURLOPT_HEADER, 1);
  41.  
  42.     #HTTP 요청에서 사용되는 "User - Agent :" 헤더의 내용.
  43.     curl_setopt($ch, CURLOPT_USERAGENT, CURL_AGENT);
  44.  
  45.     if($param['cookie']){
  46.         #curl_close 호출 될 때 쿠키를 파일 이름으로 저장.
  47.         curl_setopt($ch, CURLOPT_COOKIEJAR, CURL_COOKIE);
  48.  
  49.         #쿠키의 데이터를 http 헤더를 통해 보낸다.
  50.         curl_setopt($ch, CURLOPT_COOKIEFILE, CURL_COOKIE);
  51.     }
  52.  
  53.     #POST 로 데이터 전송.
  54.     #TRUE 를 설정하면 HTTP POST를 수행합니다. POST는 application / x - www - form - urlencoded 식으로 이루어집니다. 이것은 일반적인 HTML 양식과 같은 형식입니다.
  55.     if($param['post_data']){
  56.         curl_setopt($ch, CURLOPT_POST, 1);
  57.         curl_setopt($ch, CURLOPT_POSTFIELDS, $param['post_data']);
  58.     }
  59.  
  60.     if($param['header']){
  61.         curl_setopt($ch, CURLOPT_HTTPHEADER, $param['header']);
  62.     }
  63.  
  64.     #최대 실행 시간(초)
  65.     curl_setopt($ch, CURLOPT_TIMEOUT, 30);
  66.  
  67.     #TRUE 를 설정하면 curl_exec () 의 반환 값을 문자열로 반환합니다. 일반적으로 데이터를 직접 출력합니다.
  68.     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  69.  
  70.     $result = curl_exec($ch);
  71.     curl_close($ch);
  72.  
  73.     return $result;
  74. }

 

 

아래는 결과입니다.

원화로 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] => 
        )

)
0
0

목록

Facebook Twitter GooglePlus KakaoStory NaverBand
3 Comments

비밀번호 확인

확인
댓글은 자신을 나타내는 '얼굴'입니다. *^^*
등록
자동등록방지 숫자를 순서대로 입력하세요.

댓글수정


번호 제목 이름 날짜 조회
  • 18
    [2] 업비트(UPBIT) API - 매매일지종료 [2]
    마스터욱
    조회수 289   18-09-12 16:24
    마스터욱
    18-09-12 16:24
    289
  • 17
    업비트(UPBIT) API - 매매일지 / 125,836원▼
    마스터욱
    조회수 200   18-09-03 21:41
    마스터욱
    18-09-03 21:41
    200
  • 16
    업비트(UPBIT) API - 매매일지 / 133,738원
    마스터욱
    조회수 171   18-09-02 18:25
    마스터욱
    18-09-02 18:25
    171
  • 15
    업비트(UPBIT) API - 매매일지 / 123,312원
    마스터욱
    조회수 218   18-09-01 18:55
    마스터욱
    18-09-01 18:55
    218
  • 14
    업비트(UPBIT) API - 매매일지 / 112,415원
    마스터욱
    조회수 160   18-08-30 23:59
    마스터욱
    18-08-30 23:59
    160
  • 13
    업비트(UPBIT) API - 손절기능 제작
    마스터욱
    조회수 206   18-08-30 22:23
    마스터욱
    18-08-30 22:23
    206
  • 12
    업비트(UPBIT) API - 매매일지 / 116,140원(+3,194원)
    마스터욱
    조회수 157   18-08-29 21:50
    마스터욱
    18-08-29 21:50
    157
  • 11
    [2] 업비트(UPBIT) API - 관리자 페이지 개발 [2]
    마스터욱
    조회수 194   18-08-29 16:48
    마스터욱
    18-08-29 16:48
    194
  • 10
    업비트 API 자동매매 - 나의 자산 호출하기
    마스터욱
    조회수 313   18-08-29 15:33
    마스터욱
    18-08-29 15:33
    313
  • 9
    업비트(UPBIT) API - 수익일지
    마스터욱
    조회수 170   18-08-29 07:57
    마스터욱
    18-08-29 07:57
    170
  • 8
    업비트(UPBIT) API - 수익일지
    마스터욱
    조회수 151   18-08-28 22:11
    마스터욱
    18-08-28 22:11
    151
  • 7
    업비트 API 에러 - {"error":{"message":"이미 사용된 임시 번호입니다.","name":"nonce_used"}} 에 대한 답변도착.
    마스터욱
    조회수 205   18-08-28 11:26
    마스터욱
    18-08-28 11:26
    205
  • 6
    업비트 API 자동매매 - 수익공개1
    마스터욱
    조회수 190   18-08-23 22:23
    마스터욱
    18-08-23 22:23
    190
  • 5
    업비트 API 에러 - {"error":{"message":"이미 사용된 임시 번호입니다.","name":"nonce_used"}}
    마스터욱
    조회수 387   18-08-22 23:46
    마스터욱
    18-08-22 23:46
    387
  • 4
    업비트(UPBIT) API - 1차버전 완성
    마스터욱
    조회수 175   18-07-04 01:54
    마스터욱
    18-07-04 01:54
    175
  • 3
    [2] 업비트(UPBIT) API - 매수시도 [2]
    마스터욱
    조회수 259   18-07-02 01:40
    마스터욱
    18-07-02 01:40
    259
  • 2
    [3] 업비트(UPBIT) API - 매수 시도 + 업비트 문의남김 [3]
    마스터욱
    조회수 273   18-06-30 15:54
    마스터욱
    18-06-30 15:54
    273
  • 1
    [3] 업비트(UPBIT) API - 나의 자산 호출하기 [3]
    마스터욱
    조회수 682   18-06-30 02:49
    마스터욱
    18-06-30 02:49
    682

Search

개인정보처리방침
마스터욱. All rights reserved.

Close

0 명 접속중
Time Loading...