웹스쿨

업비트 API - 코인 목록 가져오기 본문

개인 프로젝트/업비트 자동매매 개발

업비트 API - 코인 목록 가져오기

마스터욱 2023. 3. 30. 02:17
반응형

일단 업비트 코인종류를 가져오는것부터 시작합니다.

get_curl 은 curl 로 string 을 긁어오는 함수입니다.

curl 함수원형은 아래 링크를 보시면 됩니다.

/page.php?bbs=dev_upbit&bbs_idx=1&pg= 

 

해당 string 은 json 형태이며,

이 json 값에는 market 이라는 key값이 있이며, 이 market 값에 업비트 4가지 마켓의 구분자 값이 들어가 있습니다.

 

예를 들어 리플(XRP)의 경우

1. KRW-XRP 

2. BTC-XRP 

3. ETH-XRP

4. USDT-XRP

 

위와같이 "마켓-코인심볼" 형식을 띕니다.

저는 어차피 원화마켓(KRW)만을 거래할 것이기 때문에, KRW만 DB에 넣으려고 했습니다만, 혹시 몰라서 BTC 마켓까지 같이 DB에 담았습니다.

이 수집은 자정에 재수집됩니다.(코인이 추가될수도 있기 때문에)

 

 

  1. //////////////////////////////////////////////////// 업비트 코인 가져오기
  2. $string = $this->lib['util']->get_curl(array(
  3.     "url"       => $url,
  4.     "cookie"    => false
  5. ));
  6. $coins = json_decode($stringtrue);
  7. //print_r($coins);
  8. /*
  9. Array
  10. (
  11.     [0] => Array
  12.         (
  13.             [market] => KRW-BTC
  14.             [korean_name] => 비트코인
  15.             [english_name] => Bitcoin
  16.         )
  17.  
  18.     [1] => Array
  19.         (
  20.             [market] => KRW-DASH
  21.             [korean_name] => 대시
  22.             [english_name] => Dash
  23.         )
  24. */
  25. $sql = "DELETE FROM ".$this->table['coins']." WHERE exchange = 'upbit'";
  26. $this->lib['db']->query($sql);
  27. foreach($coins as $row)
  28. {
  29.     if(strstr($row['market']"BTC-"))
  30.     {
  31.         $sql = "
  32.             INSERT  ".$this->table['coins']."
  33.             SET     exchange    = 'upbit',
  34.                     market      = '".$row['market']."',
  35.                     name        = '".$row['korean_name']."'
  36.             ON DUPLICATE KEY UPDATE
  37.                     name        = '".$row['korean_name']."'
  38.         ";
  39.         $this->lib['db']->query($sql);
  40.     }
  41.  
  42.     if(strstr($row['market']"KRW-"))
  43.     {
  44.         $sql = "
  45.             INSERT  ".$this->table['coins']."
  46.             SET     exchange    = 'upbit-krw',
  47.                     market      = '".$row['market']."',
  48.                     name        = '".$row['korean_name']."'
  49.             ON DUPLICATE KEY UPDATE
  50.                     name        = '".$row['korean_name']."'
  51.         ";
  52.         $this->lib['db']->query($sql);
  53.     }
  54. }

이 게시글은
https://webschool.kr/?v=board_view&board_key=44&idx=715
에서 작성한 글입니다. 소스코드의 경우 해당 블로그에서 이뿌게 노출이 되지 않을 수 있사오니, 위 링크로 들어오셔서 보시길 바랍니다.

반응형