get 방식으로 받아 가져오기 질문

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
get 방식으로 받아 가져오기 질문

QA

get 방식으로 받아 가져오기 질문

본문

안녕하세요.

비트코인 시세를 보려고 페이지를 하나 만드려고 하는데요

 

업비트에서 API를 제공하더라구요

https://crix-api-endpoint.upbit.com/v1/crix/candles/days/?code=CRIX.UPBIT.KRW-BTC

 

접속하면



[{"candleDateTime":"2022-10-13T00:00:00+00:00","candleDateTimeKst":"2022-10-13T09:00:00+09:00","openingPrice":27460000.00000000,"highPrice":27674000.00000000,"lowPrice":26400000.00000000,"tradePrice":27636000.00000000,"candleAccTradeVolume":6996.44326874,"candleAccTradePrice":188635457632.80633000,"timestamp":1665682763371,"code":"CRIX.UPBIT.KRW-BTC","prevClosingPrice":27460000.00000000,"change":"RISE","changePrice":176000.00000000,"signedChangePrice":176000.00000000,"changeRate":0.0064093227,"signedChangeRate":0.0064093227}]

 

이런식으로 나오는데

이렇게 제공되는 데이터를 페이지 에서 어떻게 하면 받아올 수 있는건지 모르겟습니다.

 

3076732454_1665682808.2722.png

 

이런식으로 만들려고 하거든요

혹시 방법을 아시는 고수님들 부탁드리겠습니다. ㅠ

이 질문에 댓글 쓰기 :

답변 4

실시간 웹소켓으로 가져오면 편해요

https://docs.upbit.com/docs/upbit-quotation-websocket

예제)


var socket; // 소켓
// 웹소켓 연결
function connectWS() {
    if(socket != undefined){
        socket.close();
    }
    
    socket = new WebSocket("wss://api.upbit.com/websocket/v1");
    socket.binaryType = 'arraybuffer';
    socket.onopen     = function(e){ 
        filterRequest('[{"ticket":"UNIQUE_TICKET"},
            {"type":"ticker","codes":["KRW-BTC"]},        // "KRW-BTC","KRW-ETH" -> parsing
            {"type":"orderbook","codes":["KRW-BTC"]},
            {"type":"trade","codes":["KRW-BTC"]}]'); 
    }
    socket.onclose     = function(e){ 
        socket = undefined; 
    }
    socket.onmessage= function(e){ 
        var enc = new TextDecoder("utf-8");
        var arr = new Uint8Array(e.data);
        var str_d = enc.decode(arr);
        var d = JSON.parse(str_d);
        if(d.type == "ticker") { // 현재가 데이터
        // 여기다 실행문 예로는 $("#btc").html(d.trade_price); 이런식
        }
        if(d.type == "orderbook") { // 호가 데이터
        // TODO
        }
        if(d.type == "trade") { // 체결 데이터
        // TODO
        }
    }    
}
// 웹소켓 연결 해제
function closeWS() {
    if(socket != undefined){
        socket.close();
        socket = undefined;
    }    
}
// 웹소켓 요청
function filterRequest(filter) {
    if(socket == undefined){
        alert('no connect exists');
        return;
    }
    socket.send(filter);
}
connectWS();

 

스크립트 ajax 통신하셔서 받은데이터를 JSON.parse 해주시고 배치하시면 될거같습니다~

 

$.ajax({

      url: `https://crix-api-endpoint.upbit.com/v1/crix/candles/days/?code=CRIX.UPBIT.KRW-BTC`,

      type: "GET",     

      success: function(res) {       

        var result = JSON.parse(res); 

        ...

      }

    })

답변을 작성하시기 전에 로그인 해주세요.
전체 0
QA 내용 검색
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT