Информер курса криптовалют

Внимание: статья устарела. Код, описанный в статье не будет работать, поскольку: WARNING: This API is now offline. Please switch to the new CoinMarketCap API. (https://pro.coinmarketcap.com/migrate/). 

Курс криптовалют всегда будет актуален, особенно для сайтов и порталов финансовой тематики. Несмотря на избитую тему, попробуйте самостоятельно найти информер без вшитых ссылок и внешних фреймов для своего сайта, когда у вас возникла необходимость разместить простейший информер с курсом некоторых криптовалют на сегодняшний день. Нашли?

Сделать информер криптовалют на самом деле не сложно. Важнее найти надежный источник такой информации, чтобы информация была актуальной, а процесс ее получения и использования простым и доступным.

Coinmarketcap.com - как надежный поставщик информации

Для построения информера криптовалют, мы будем использовать информацию с сайта: coinmarketcap.com. Почему? Данный портал специализируется исключительно на отслеживании динамики курса криптовалют, работает давно, предоставляет API. Существенным преимуществом является охват свыше 900 различных криптомонет. Таким образом, вы легко сможете сделать информер для отслеживания своей любимой криптовалюты. В настоящее время поддерживаются:

bitcoin, ethereum, ripple, litecoin, ethereum-classic, nem, dash, iota, bitshares, monero, stratis, zcash, golem-network-tokens, siacoin, steem, waves, bytecoin-bcn, iconomi, antshares, bitconnect, stellar, dogecoin, augur, lisk, gamecredits, factom, gnosis-gno, ardor, maidsafecoin, byteball, decred, veritaseum, digibyte, komodo, digixdao, nxt, basic-attention-token, tether, firstblood, mobilego, bancor, singulardtv, syscoin, pivx, bitcoindark, mcap, aragon, round, emercoin, peercoin, ubiq, lykke, numeraire, cloakcoin, ark, rlc, leocoin, reddcoin, quantum-resistant-ledger, storjcoin-x, asch, melon, nexus, synereo, library-credit, bitbay, peerplays-ppy, wings, edgeless, verge, omni, namecoin, counterparty, mysterium, gulden, monacoin, blackcoin, obits, elastic, xaurum, zcoin, burst, viacoin, vslice, ion, vertcoin, earthcoin, humaniq, cofound-it, ybcoin, blocknet, nav-coin, etheroll, trust, gridcoin, potcoin, mooncoin, luckchain, expanse, e-dinar-coin, tokencard, quantum, guppy, taas, radium, shift, neoscoin, bitcoin-plus, iocoin, skycoin, crown, digitalnote, energycoin, novacoin, nexium, bcap, worldcoin, dnotes, databits, unity-ingot, monetaryunit, lomocoin, primecoin, swarm-city, chronobank, heat-ledger, mergecoin, foldingcoin, infinitecoin, patientory, feathercoin, quark, einsteinium, voxels, vpncoin, e-coin, espers, vericoin, rubycoin, golos, faircoin, bitcrystals, firstcoin, clams, agoras-tokens, sibcoin, pluton, pepe-cash, bitcny, florincoin, megacoin, salus, xtrabytes, waves-community-token, belacoin, cryptonite, pascal-coin, eccoin, bankcoin, gambit, zencash, safe-exchange-coin, aeon, bitshares-music, dubaicoin-dbix, circuits-of-value, solarcoin, sphere, zccoin, bitland, pinkcoin, lunyr, okcash, maxcoin, spreadcoin, bitbean, blitzcash, spectrecoin, unobtanium, bitusd, creditbit, applebyte, ethereum-movie-venture, zetacoin, musicoin, raiblocks, vcash, digitalcoin, diamond, nautiluscoin, myriad, roulettetoken, groestlcoin, darcrus, riecoin, global-currency-reserve, atmos, boostcoin, rise, sequence, steem-dollars, curecoin, apx, incent, icash, auroracoin, janus, ico-openledger, putincoin, zeitcoin, korecoin, bitmark, goldcoin, synergy, project-decorum, triggers, bitsend, zclassic, breakout-stake, cannabiscoin, huntercoin, idice, anoncoin, altcoin-alt, mediterraneancoin, legends-room, bata, fedoracoin, boolberry, zennies, breakout, veriumreserve, xcurrency, stealthcoin, tickets, mintcoin, securecoin, minereum, tagcoin, creativecoin, qwark, vtorrent, bitswift, blockpay, insanecoin, inpay, transfercoin, dimecoin, dopecoin, 1337, cryptocarbon, startcoin, hush, 2give, geocoin, funcoin, nolimitcoin, mercury, europecoin, whitecoin, yashcoin, hempcoin, visio, pesetacoin, sexcoin, evergreencoin, insanecoin-insn, posw-coin, exclusivecoin, adelphoi, tilecoin, trustplus, ixcoin, hyperstake, eb3-coin, audiocoin, dynamic, syndicate, htmlcoin, wild-beast-block, adzcoin, hacker-gold, parkbyte, ripto-bux, fujicoin, dinastycoin, litedoge, renos, voise, equitrader, nushares, xp, tokes, e-gulden, memetic, magi, influxcoin, fastcoin, cagecoin, canada-ecoin, virtacoinplus, dt-token, chaincoin, tao, incakoin, hicoin, bitbar, miners-reward-token, happycoin, pandacoin-pnd, yocoin, teslacoin, veros, karbowanec, unitus, iticoin, cryptoforecast, centurion, smileycoin, ufo-coin, devcoin, terracoin, litebar, gcoin, bytecent, deepwebcash, crave, netko, colossuscoin-v2, bunnycoin, procurrency, capricoin, fantomcoin, unbreakablecoin, cryptogenic-bullion, moin, britcoin, chncoin, deutsche-emark, dotcoin, ecocoin, 42-coin, trumpcoin, zoin, netcoin, neutron, arcticcoin, postcoin, atomic-coin, triangles, piggycoin, bitstar, elementrem, pesobit, pascal-lite, reecoin, swing, condensate, torcoin-tor, bitbtc, rubies, globaltoken, zero, neuro, newbium, bitgold, qubitcoin, elcoin-el, kurrent, dibcoin, bitsilver, nubits, master-swiscoin, digitalprice, asiadigicoin, kibicoin, digicube, sumokoin, goldpieces, tattoocoin, prcoin, xiaomicoin, bitcore, quatloo, francs, 8bit, cryptojacks, cachecoin, biteur, quazarcoin, marijuanacoin, bitcoin-planet, bitcurrency, footy-cash, piecoin, ohm-wallet, thegcccoin, jin-coin, icobid, 808coin, gpu-coin, freicoin, digital-rupees, eternity, kingn-coin, bolivarcoin, ammo-rewards, c-bit, allion, gapcoin, mojocoin, linx, unify, chronos, wexcoin, crevacoin, cryptoescudo, metal-music-coin, anarchistsprime, levoplus, dollar-online, gbcgoldcoin, impact, sixeleven, ebittree-coin, abncoin, environ, onix, pizzacoin, enigma, digital-money-bits, caliphcoin, good-karma, supernet-unity, jinn, instantdex, bitpark-coin, scotcoin, sprouts, dubaicoin, arcade-token, pangea-poker, asiacoin, carboncoin, globalcoin, btsr, casino, ultimate-secure-cash, version, cryptcoin, btctalkcoin, bluecoin, newyorkcoin, ethbits, trollcoin, woodcoin, dashcoin, hitcoin, the-cypherfunks, noblecoin, titcoin, rare-pepe-party, shadowcash, uniburst, i0coin, russiacoin, kobocoin, greencoin, shorty, mazacoin, orbitcoin, helleniccoin, universe, metalcoin, goldblocks, bitcointx, wavesgo, smartcoin, ambercoin, nyancoin, fuelcoin, supercoin, joincoin, agrolifecoin, petrodollar, hodlcoin, mineum, ultracoin, swagbucks, coin, mtmgaming, fluttercoin, paycoin2, tekcoin, sterlingcoin, cannacoin, wyvern, hobonickels, chesscoin, flycoin, cryptofund, pipcoin, truckcoin, purevidz, lanacoin, goldreserve, lottocoin, tittiecoin, pakcoin, phoenixcoin, corgicoin, tristar-coin, gameunits, casinocoin, berncash, coin2-1, emerald, kilocoin, ltbcoin, jewels, aurumcoin, gaia, prototanium, stress, unicoin, aidos-kuneen, virtualcoin, bottlecaps, yacoin, rimbit, guncoin, redcoin, parallelcoin, machinecoin, bigup, ratecoin, globalboost-y, veltor, vault-coin, wayguide, debitcoin, bitcloud, darsek, putin-classic, joulecoin, octocoin, virtacoin, ccminer, billarycoin, tigercoin, aricoin, valorbit, sativacoin, blakecoin, sproutsextreme, healthywormcoin, franko, bitzeny, firecoin, evotion, coexistcoin, hempcoin-hmp, philosopher-stones, macron, martexcoin, acoin, eryllium, kittehcoin, dreamcoin, zetamicron, dollarcoin, halcyon, kushcoin, bumbacoin, vector, artex-coin, hexx, spacecoin, spots, platinumbar, universal-currency, revolvercoin, satoshimadness, px, 1credit, b3coin, aquariuscoin, evil-coin, nevacoin, wmcoin, photon, bios-crypto, bittokens, ponzicoin, burstocean, pulse, mindcoin, argentum, popularcoin, paycon, blazecoin, secretcoin, dobbscoin, cannation, amsterdamcoin, lex4all, x-coin, cypher, milocoin, cryptoworldx-token, honey, eurocoin, unrealcoin, songcoin, blackstar, beavercoin, flavorcoin, islacoin, solarflarecoin, bitz, luna-coin, sooncoin, ronpaulcoin, catcoin, leacoin, prime-xi, antibitcoin, ucoin, arbit, independent-money-system, ride-my-car, btcdragon, zayedcoin, bitcoin-21, solaris, rawcoin2, uro, money, alexium, bipcoin, mustangcoin, zurcoin, hirocoin, creatio, crypto, dappster, sling, litecred, orlycoin, tajcoin, cashcoin, steps, bitquark, vip-tokens, grantcoin, vaperscoin, guccionecoin, destiny, gamebet-coin, comet, genstake, printerium, speedcash, xonecoin, theresa-may-coin, plncoin, geertcoin, warp, ego, coinonat, qibuck-asset, argus, impulsecoin, tagrcoin, cabbage, beatcoin, fuzzballs, ganjacoin, scorecoin, jobscoin, ibank, flaxscript, concoin, dpay, bowscoin, osmiumcoin, letitride, benjirolls, sydpak, high-voltage, bitvolt, revenu, iconic, dix-asset, antilitecoin, jio-token, 23-skidoo, zonecoin, save-and-gain, magnum, shilling, biobar, nodecoin, elysium, californium, impeachcoin, future-digital-currency, p7coin, posex, selfiecoin, doubloon, zcashshare, powercoin, digital-credits, crtcoin, swaptoken, xenixcoin, mikethemug, btcgold, gold-pressed-latinum, snakeeyes, project-x, amis, internet-of-things, bitok, bitcoin-unlimited, electra, malcoin, goldunioncoin, tenx, qtum, elcoin, fargocoin, gxshares, decent, metaverse, zrcoin, internet-of-people, warrant, bitgem, prizm, aeternity, dynamiccoin, techshares, xde-ii, teslacoilcoin, bitradio, qora, troptions, clubcoin, stex, gaycoin, zengold, invisiblecoin, yogold, zilbercoin, leviarcoin, elacoin, eboostcoin, alpacoin, golos-gold, tattoocoin-limited, encryptotel, landcoin, tychocoin, topaz, deuscoin, wowecoin, atc-coin, president-johnson, sonm, emoneypower, pabyosi-coin-special, cryptobuck, wa-space, soarcoin, ictanox, lepaoquan, omicron, allsafe, shellpay, deltacredits, international-diamond, ivugeocoin, sharkcoin, gycoin, edrcoin, kolschcoin, digitalfund, xaucoin, goldpay-coin, fazzcoin, funfair, mind-gene, rublebit, bitcoinfast, first-bitcoin, pirate-blocks, flash, opal, netbit, dashs, eggcoin, picoin, cthulhu-offerings, zsecoin, cubits, quotient, royalcoin-2, slimcoin, bitcoin-scrypt, psilocybin, 9coin, bagcoin, president-trump, tyrocoin, axiom, gameleaguecoin, wearesatoshi, mavro, advanced-internet-blocks, avatarcoin, sportscoin, clinton, huncoin, ocow, richcoin, ur, trickycoin, betacoin, mmxvi, royalcoin, avoncoin, vsync, todaycoin, skeincoin, bitcedi, neptune-classic, shacoin, digital-bullion-gold, bestchain, cbd-crystals, cheapcoin, donationcoin, quebecoin, opescoin, lazaruscoin, braincoin, kashhcoin, rhfcoin, bitalphacoin, vgina, the-aladin, motocoin, frankywillcoin, dubstep, goldmaxcoin, true-investment-coin, irishcoin, blazercoin, ugain, happy-creator-coin, darklisk, operand, cycling-coin, prismchain, teracoin, sakuracoin, marxcoin, mobilecash, t-coin, vegascoin, asiccoin, gambleo, the-vegan-initiative, grumfork, moneta2, lathaan, safe-trade-coin, animecoin, thecreed, halloween-coin, safecoin, linkedcoin, pinkdog, antimatter, pokecoin, teamup, wowcoin, x2, paypeer, tellurion, lepen, aces, inflationcoin, moneycoin, president-sanders, fireflycoin, cybercoin, cashme, fedorashare, uncoin, microcoin, soulcoin, president-clinton, golfcoin, rcoin, global-business-revolution, quartz-qrz, coupecoin, victoriouscoin, karmacoin, superturbostake, yescoin, bitcentavo, rabbitcoin, batcoin, stronghands, paccoin, bond, miyucoin

Информер курса криптовалют на PHP

Такой информер подойдет для сайтов с поддержкой PHP языка. Давайте детально разберем, как и откуда он будет "тянуть" информацию для получения значений курсов криптовалют. И как самому "построить" необходимый информер под свои нужды (свой перечень криптовалют, цена по отношению к своим парам валют и т.д.).

API для получения курса криптовалют

Получить данные о текущем курсе очень большого количества криптовалют в формате JSON можно по адресу:

https://api.coinmarketcap.com/v1/ticker/

Чтобы ограничить количество криптовалют в списке, нужно передать параметр - ?limit

https://api.coinmarketcap.com/v1/ticker/?limit=20

Чтобы получить курс криптовалюты по отношению к другой валюте, необходимо указать ее в параметре ?convert (поддерживаются "AUD", "BRL", "CAD", "CHF", "CNY", "EUR", "GBP", "HKD", "IDR", "INR", "JPY", "KRW", "MXN", "RUB")

https://api.coinmarketcap.com/v1/ticker/?convert=RUB&limit=20

Чтобы получить курс отдельно взятой валюты, нужно указать ее имя (все допустимые имена криптовалют в списке выше):

https://api.coinmarketcap.com/v1/ticker/bitcoin/

Чтобы получить курс биткоина к рублю, необходимо обратиться к адресу:

https://api.coinmarketcap.com/v1/ticker/bitcoin/?convert=RUB

Чтение JSON данных о криптовалюте

Итак, переходим непосредственно к примеру построения информера для сайта. В нашем примере поставим перед собой задачу получить курс следующих криптовалют (Bitcoin, Ethereum, Litecoin и Dogecoin) по отношению к американскому доллару. Незамысловатый код информера криптовалют на PHP будет выглядеть следующим образом:

<?php
$tick = file_get_contents('https://api.coinmarketcap.com/v1/ticker/?limit=19');
//валюта Dogecoin на 19 позиции, поэтому используем ?limit=19
$data = json_decode($tick, TRUE);

$bit = $data[0]["price_usd"];
//$data[0] - здесь позиция валюты в списке, в массиве счет начинается с нуля, не забывайте!
echo "<b>Bitcoin:</b> ".$bit."<br>";

$ethereum = $data[1]["price_usd"];
echo "<b>Ethereum: </b>".$ethereum."<br>";

$litecoin = $data[5]["price_usd"];
echo "<b>Litecoin:</b> ".$litecoin."<br>";

$dogecoin = $data[18]["price_usd"];
echo "<b>Dogecoin:</b> ".$dogecoin."<br>";
?>

Запускаем наш PHP файл, получаем примерно следующую картину:

Bitcoin: 2525.63
Ethereum: 294.182
Litecoin: 0.164578
Dogecoin: 7.29599

Если вам нужны не доллары ["price_usd"], а скажем рубли, вы должны читать поле ["price_rub"], если евро -  ["price_eur"] и т.д. (не забывая передать их параметром ?convert в урл)

Сервис ограничивает обращение к API - не больше чем 10 раз в минуту. Если у вас слишком динамичный сайт, есть резон использовать кеширование полученной информации. Тем более, что информация на самом доноре обновляется каждые 5 минут (период кеша можно поставить как раз на это время).

Информер курса криптовалют на JS

Такой информер подойдет для сайтов, где нет поддержки PHP языка, но где есть возможность использовать коды Javascript. Такая ситуация может иметь место на бесплатных хостингах или дешевых его вариантах. Такой информер курса криптовалют будет работать и на сайтах ucoz.

Функции, которые будут получать информацию с coinmarketcap.com вынесем в отдельный js файл - currency.js. Для начала, нам его необходимо подключить в шапке нашего сайта, например так:

<script type="text/javascript" src="https://seo-zona.ru/files/currency.js"></script>

Теперь, в том месте где нам необходимо вывести информер, вставляем такой код:

<div class="currency">
<div class="coinmarketcap-currency-widget" data-currency="bitcoin" data-base="USD" data-secondary="" data-ticker="false" data-rank="false" data-marketcap="false" data-volume="false" data-stats="USD" data-statsticker="false"></div>
<div class="coinmarketcap-currency-widget" data-currency="ethereum" data-base="USD" data-secondary="" data-ticker="false" data-rank="false" data-marketcap="false" data-volume="false" data-stats="USD" data-statsticker="false"></div>
<div class="coinmarketcap-currency-widget" data-currency="zcash" data-base="USD" data-secondary="" data-ticker="false" data-rank="false" data-marketcap="false" data-volume="false" data-stats="USD" data-statsticker="false"></div>
<div class="coinmarketcap-currency-widget" data-currency="verge" data-base="USD" data-secondary="" data-ticker="false" data-rank="false" data-marketcap="false" data-volume="false" data-stats="USD" data-statsticker="false"></div>
</div>

Вот, как это выглядит на практике (это реальный рабочий пример - информация о курсах актуальная):

В данном примере мы построили информер таких курсов криптовалют как bitcoin, ethereum, Zcash и Verge  по отношению к доллару (USD). Вы можете добавить любое другое количество любых других криптовалют в информер по тому же принципу - просто добавьте новые аналогичные строки, в которых вставьте необходимое вам название криптовалюты в параметр data-currency="..." (список всех поддерживаемых криптовалют выше).

Оцените материал:
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (29 голоса, рейтинг: 4,72 из 5)
Загрузка...

Вячеслав - типичный интернетчикВячеслав Скоблей (ака files) - типичный интернетчик. Скитаюсь интернетом, пишу на PHP, увлекаюсь созданием веб-сайтов на Wordpress, решаю многочисленные проблемы, которые до появления интернета не существовали...

Специализируюсь на безопасности сайтов: защищаю сайты от атак и взломов, занимаюсь лечением вирусов на сайтах и профилактикой...

Наверняка у Вас есть вопросы, просьбы или пожелания. Не стесняйтесь спросить, я отвечаю всегда быстро...

81 комментарий

  1. Sammy says:

    Сорри, что немного не в тему, но, т.к. api коинмаркеткап не работает, не подскажете как таким же образом забрать цену с нижеуказанного API binance (округленную цену, без нулей после точки)?
    API:https://api.binance.com/api/v3/ticker/price?symbol=BTCRUB
    Заранее СПАСИБО!!!

  2. Артур says:

    Приветствую вас ! помогите пожалуйста ! Как можно уменьшить количество цифр курс биткоина до восьми : например сейчас у меня так выходит (курс 661362.19645855 ) можно как-то сделать вот так (661362.19) вот скрипт

    $data = json_decode(file_get_contents("https://api.cryptonator.com/api/ticker/btc-rub"));
    $price  = $data->ticker->price;
    echo $price;
    1. Вячеслав Скоблей says:

      Используйте функцию round, в вашем случае так:

      echo round($price, 2);
  3. Rich says:

    адрес api меняется, теперь там нужно генерировать ключ.
    Не подскажите как сделать?

  4. Владимир says:

    Изменился API на сайте coinmarketcap.com
    Можно ли обновить данные?

    1. Вячеслав Скоблей says:

      Версия v1 (на которой построены скрипты в статье) вроде как еще исправно работают. Во всяком случае информер-пример криптовалюты в статье отдает данные.

  5. Х says:

    вот джава, где косяк?

    !function ($) {
    function buildWidget(rate, changed) {
    var color = "#0bdb50";
    changed = 1e3 ? Math.round(a).toLocaleString() : a >= 1 ? a.toFixed(8) : a = 1 ? a >= 1e5 ? Math.round(a).toLocaleString() : a.toFixed(2) : a < 1e-6 ? a.toPrecision(2) : a.toFixed(6)
    }
    
    $(document).ready(function (a) {
    a.get({
    url: "https://api.coinmarketcap.com/v1/ticker/ripple/?ref=widget&convert=USD",
    success: function (m) {
    var price = parseFloat(m[0].price_usd),
    percent_change = Number(m[0].percent_change_24h).toFixed(2);
    a('#target').html(buildWidget(price, percent_change))
    }
    })
    })
    }(jQuery);
    
    
    
    !function ($) {
    function buildWidget(rate, changed) {
    var color = "#0bdb50";
    changed = 1e3 ? Math.round(a).toLocaleString() : a >= 1 ? a.toFixed(8) : a = 1 ? a >= 1e5 ? Math.round(a).toLocaleString() : a.toFixed(2) : a < 1e-6 ? a.toPrecision(2) : a.toFixed(6)
    }
    
    $(document).ready(function (a) {
    a.get({
    url: "https://api.coinmarketcap.com/v1/ticker/bitcoin/?ref=widget&convert=USD",
    success: function (m) {
    var price = parseFloat(m[0].price_usd),
    percent_change = Number(m[0].percent_change_24h).toFixed(2);
    a('#target').html(buildWidget(price, percent_change))
    }
    })
    })
    }(jQuery);

    ============

    ну и на всякий случай ксс

    .wijcript {
      font-family: 'Roboto', sans-serif;
    }
    .product-desc{
      
    }
    .container {
      width: 280px;
    padding: 10px;
      
    }
    
    
    .card-head {
      height: 80px;
    background: #0d092b;
      border-radius: 3px 3px 0 0;
    }
    
    .card-logo {
        padding-top: 15px;
      padding-bottom: 5px;
    }
    
    
    .product-detail h2 {
      font-size: 30px;
      color: #fff;
      font-weight: 500;
      letter-spacing: 2px;
      text-transform: uppercase;
       margin-top: -10px;
    }
    .card-body {
      height: 85px;
      background: #0d092b;
      border-radius: 0 0 5px 5px;
    }
    
    .product-title {
      padding: 20px 20px 5px 20px;
      display: block;
      font-size: 17px;
      font-weight: 500;
      letter-spacing: 1px;
      text-transform: uppercase;
      text-align: center;
      color: #fff;
    }
    #myElement {
      background: #09ab3f;
      padding: 12px 10px;
      text-align: center;
      color: #fff;
      border-radius:  0 0 3px 3px;
    }
    
    .product-price b {
      margin-left: 5px;
    }
    
    .yt
    {
      position: fixed;
      padding:7px 10px 3px 10px;
      top: 5px;
      right: 5px;
      background: rgba(0,0,0,0.1);
    }
    
    .yt:hover
    {
      background: rgba(0,0,0,0.2);
    }
    

    п.с. убил пол дня все работает, но только вот две разных одновременно не работают, судя по всему проблема в джаве, я не шарю, а в интернете все делают по-другому скрипты я так и не понял нифига.

  6. Евгений says:

    Вдогон вчерашнему сообщению, уже помогли разобраться=)
    Заменил это:

    $price = $data[0]["price_rub"];

    На это:

    $price = $data['data']["quotes"]['RUB']['price'];
  7. Евгений says:

    Вячеслав, спасибо огромное за решение на php. Не хватает понимания чтобы из v2 вытягивать инфу. Если в первой версии ответ выглядел вот так:

    [
        {
            "id": "bitcoin", 
            "name": "Bitcoin", 
            "symbol": "BTC", 
            "rank": "1", 
            "price_usd": "6494.69220058", 
            "price_btc": "1.0", 
            "24h_volume_usd": "3832171022.5", 
            "market_cap_usd": "112548060386", 
            "available_supply": "17329237.0", 
            "total_supply": "17329237.0", 
            "max_supply": "21000000.0", 
            "percent_change_1h": "-0.03", 
            "percent_change_24h": "-0.62", 
            "percent_change_7d": "3.39", 
            "last_updated": "1539896324", 
            "price_rub": "427399.45699", 
            "24h_volume_rub": "252185594563.1801452637", 
            "market_cap_rub": "7406506483845"
        }
    ]

    и при помощи такого кода данные получал:

    <?php if(in_category(4)) :
    $tick = file_get_contents('https://api.coinmarketcap.com/v1/ticker/bitcoin?convert=RUB');
    $data = json_decode($tick, TRUE);
    
    $price = $data[0]["price_rub"];
    echo "Текущая цена: ".$price." РУБ";
    ?>

    то во второй уже иначе:

    {
        "data": {
            "id": 1, 
            "name": "Bitcoin", 
            "symbol": "BTC", 
            "website_slug": "bitcoin", 
            "rank": 1, 
            "circulating_supply": 17329100.0, 
            "total_supply": 17329100.0, 
            "max_supply": 21000000.0, 
            "quotes": {
                "RUB": {
                    "price": 427224.3415754682, 
                    "volume_24h": 252698171474.73465, 
                    "market_cap": 7403413337595.0, 
                    "percent_change_1h": -0.1, 
                    "percent_change_24h": -0.68, 
                    "percent_change_7d": 3.29
                }, 
                "USD": {
                    "price": 6489.07296868, 
                    "volume_24h": 3838210312.88757, 
                    "market_cap": 112449794382.0, 
                    "percent_change_1h": -0.1, 
                    "percent_change_24h": -0.68, 
                    "percent_change_7d": 3.29
                }
            }, 
            "last_updated": 1539894747
        }, 
        "metadata": {
            "timestamp": 1539894110, 
            "error": null
        }
    }

    и никак не могу вытащить инфу. Не подскажете что нужно подправить?

  8. says:

    Посмотрите этот плагин для WP https://wordpress.org/plugins/cryptocurrency-price-widget/

  9. says:

    я просто оставлю этот здесь https://github.com/dejurin/Cryptocurrency-Price-Widget может кому-то пригодится

  10. Павел says:

    Вячеслав, здравствуйте!

    Выше Вы привели пример кода для окрашивания изменений курса в красный/зеленый в зависимости от роста или падения курса. Не могли бы Вы опубликовать аналогичный код, но PHP, на примере, например только Биткоина.

    И второй вопрос, если необходимо выводить несколько параметров для одной криптовалюты, но эти параметры должны быть каждый в своей ячейке таблицы, как это реализовать, подскажите, пожалуйста?

  11. Вышла новая версия API у этого сайта и где то в ноябре говорят отключат этот. Можете обновить гайд? То сам попытался перейти на новый и у меня нечего не вышло(

  12. Константин says:

    Простите Вячеслав мою наглость. У меня есть ещё один вопрос но не совсем в тему. Подскажите пожалуйста, как вывести с биржи свои данные по коинам (количество и цена закупки) в Excel, при помощи своих биржевых API? Дабы любые изменения на бирже, тут же отображались в криптопортфеле. Уж больно хочется создать живой криптопортфель в Excel, и благодаря вам, это стало у меня получаться..

    1. Вячеслав Скоблей says:

      Не знаю, не знаю... нужно видеть API, подстраиваться...

  13. Константин says:

    Благодарю Вячеслав. Инфомер курса криптовалют с coinmarketcap, очень нужная штука. Но как его реализовать в Excel? Дабы при обновлении данных в Excel, в таблицы заносилась свежая информация по 20-30 конкретнымым криптовалютам с coinmarketcap. Название, текущая цена и % её изменения. Уже несколько дней воюю с этой задачей. И пока безрезультатно. При создании веб запроса в Excel, указывал различные адреса. Например этот: https://api.coinmarketcap.com/v2/global/
    Но почти всегда получаю одно и тоже сообщение: Вэб браузер. Не удалось скачать global/ из api.coinmarketcap.com. Запрошенный сайт недоступен или не найден.
    Иногда получаю другое сообщение: Не удалось открыть: about:NewsFeed. Подключение к сайту выполнено, однако данные недоступны.
    Подскажите пожалуйста Вячеслав, как можно эту задачу реализовать? Она необходима для визуализации изменений по каждому коину для своевременной ребалансировки их в криптопортфеле. Кстати, на coinmarketcap первая версия API меняется на вторую.Так что сюрпризы с первой версией уже запланированы.

    1. Вячеслав Скоблей says:

      Exel - Данные - Создать запрос - Из других источников - Из интернета - Адрес: https://api.coinmarketcap.com/v1/ticker/

      1. Константин says:

        Браво Вячеслав. Оказывается, я адрес не туда совал куда нужно. А для пенсионера, это уже непростительная глупость. Благодарю!!!

  14. Михаил says:

    Здравствуйте!
    Не подскажете, каким образом можно вытянуть динамику по определенной крипте для построения графика?

    1. Вячеслав Скоблей says:

      В API Coinmarketcap (о котором речь в статье) выгрузку "Historical Data" (исторические данные) обещают "Coming Soon" (скоро)

  15. says:

    Политика одного источника запрещает чтение удаленного ресурса на https://api.coinmarketcap.com/v1/ticker/litecoin/?ref=widget&convert=USD. (Причина: отсутствует заголовок CORS «Access-Control-Allow-Origin»

    1. Вячеслав Скоблей says:

      Уточните, Антон. При каких обстоятельствах...

  16. racshen says:

    Здравствуйте!Уже час колдую над информером, не могу сообразить, как в коде php прописать чтобы выводился только биткойн и курс в рублях?

    1. Вячеслав Скоблей says:
      <?php
      $tick = file_get_contents('https://api.coinmarketcap.com/v1/ticker/bitcoin/?convert=RUB');
      $data = json_decode($tick, TRUE);
      $bit = $data[0]["price_rub"];
      echo "<b>Bitcoin:</b> ".$bit."<br>";
      ?>
      1. racshen says:

        Я в php вообще не разбираюсь)..этот код echo "Bitcoin: ".round($bit).""; добавить в тот?)..добавил..ошибку дает)..

        1. Вячеслав Скоблей says:
          <?php
          $tick = file_get_contents('https://api.coinmarketcap.com/v1/ticker/bitcoin/?convert=RUB');
          $data = json_decode($tick, TRUE);
          $bit = $data[0]["price_rub"];
          echo "<b>Bitcoin:</b> ".round($bit)."<br>";
          ?>
          1. racshen says:

            спасибо!Заработало)

  17. Разбойник says:

    Это все здорово! Но что если капитализация интересующей криптовалюты изменилась и она сместилась на другую позицию. Мы же в коде явно указываем номер в массиве. Допустим, эфир, был на второй позиции, мы для информера прописали [1], а потом его сместил Ripple и занял его место. Что у нас будет для рипла цена выводиться?

    1. Вячеслав Скоблей says:

      Да, Вы правы. Код лишь приведен для понимания принципов работы с API coinmarketcap.com

    2. racshen says:

      Спасибо!Все отлично работает)..а можно без копеек сделать?) тем 5-разрядные копейки идут))

      1. Вячеслав Скоблей says:

        Пробуйте так:

        echo "<b>Bitcoin:</b> ".round($bit)."<br>";
  18. Игорь says:

    "Сервис ограничивает обращение к API - не больше чем 10 раз в минуту."
    А что будет, если у меня таблица на все 100 валют? Забанит сервис? Кэш сделан 30 минут. Но он на всю таблицу.
    Получается 100 запросв будет?

    1. Вячеслав Скоблей says:

      Вытаскивайте 100 валют одним запросом.

      1. Игорь says:

        Это как? Мне нужно в ячейку таблицы выводить по одной валюте. Таблица состоит из дополнительных граф, так что спарсить сразу все 100 наверное не вариант.

  19. Павел says:

    Здравствуйте. Как кешировать через php обращения реже, чем раз в 10 мин?

    1. Вячеслав Скоблей says:
  20. says:

    Добрый день! Вячеслав, не подскажете, как на основе вашего примера с js реализовать получение только курса валюты и процент падания или роста. При этом меняя фон блока в зависимости от роста или падения курса.
    Я не могу найти ничего похожего, а сам не разбираюсь в js.

    1. Вячеслав Скоблей says:

      Вот пример требуемого кода целиком (в длинной base64 последовательности - картинка биткоина). Данный пример тянет курс биткоина с coinmarketcap.com (курс и процент роста/падения) и окрашивает блок информера в соответствующий цвет - красный/зеленый)

      <!DOCTYPE html>
      <html>
      <head>
      <meta charset="utf-8">
      <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
      
      <script type="text/javascript">
      !function ($) {
      function buildWidget(rate, changed) {
      var color = "#093";
      changed < 0 && (color = "#d14836");
      document.getElementById('myElement').style.backgroundColor = '' + color + '';
      var valPrice = rate ? c(rate, "USD") : "?",
      valPercentHTML = changed ? '(' + changed + "%)" : "";
      return valPrice + " USD " + valPercentHTML
      }
      
      function c(a, b) {
      return "BTC" == b ? d(a) : e(a)
      }
      
      function d(a) {
      return a = a >= 1e3 ? Math.round(a).toLocaleString() : a >= 1 ? a.toFixed(8) : a < 1e-8 ? a.toPrecision(4) : a.toFixed(8)
      }
      
      function e(a) {
      return a = a >= 1 ? a >= 1e5 ? Math.round(a).toLocaleString() : a.toFixed(2) : a < 1e-6 ? a.toPrecision(2) : a.toFixed(6)
      }
      
      $(document).ready(function (a) {
      a.get({
      url: "https://api.coinmarketcap.com/v1/ticker/bitcoin/?ref=widget&convert=USD",
      success: function (m) {
      var price = parseFloat(m[0].price_usd),
      percent_change = Number(m[0].percent_change_24h).toFixed(2);
      a('#target').html(buildWidget(price, percent_change))
      }
      })
      })
      }(jQuery);
      </script>
      
      </head>
      <body>
      
      <div id="myElement" style="border:2px solid #E4E6EB;border-radius: 10px;font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif;min-width:285px;">
      
      <div style="float:right;width:67%;border: 0 solid #000;text-align:left;padding:5px 0;line-height:30px;">
      <span style="font-size: 18px;">Bitcoin (BTC)</span>
      <br>
      <span style="font-size: 16px;" id="target">USD</span>
      </div>
      <div style="text-align:center;padding:5px 0;width:33%;"><img src="data:image/png;base64,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" alt="" /></div>
      </div>
      
      </body>
      </html>
      
      1. says:

        Большое спасибо! Получилось сделать именно то, что хотел)

      2. says:

        Вячеслав, я сделал с вашей помощью небольшой виджет. Хочу уточнить, Как его заставить работать массово? Тоесть просто встать html код определенной валюты и он должен автоматически работать с этим скриптом. А то приходится для каждого виджета делать отдельный скрипт

        https://codepen.io/evgenmist/pen/pLjdMj - вот что у меня получилось

  21. Костя says:

    Иконки на информёре сбились, как поправить?

    1. Вячеслав Скоблей says:

      1) Загрузите на свой сервер изображения валют (тех, которые у вас выводятся в информере). Имена файлов должны быть в таком формате: bitcoin.png
      2) В файле currency.js замените путь к картинкам: files.coinmarketcap.com/static/img/coins/64x64/ на папку с картинками на своем сайте

  22. Артемий says:

    Скажите пожалуйста, можно ли сделать кеш для информера курса криптовалют на JS?
    Постоянно банят доступ API и виджет не выводит информацию.

    1. Василий says:

      Я тоже присоединяюсь к этому вопросу. Вячеслав подскажите как сделать кеширование для этого скрипта на JS

    2. Может быть я что то не так делаю, но у меня не показываются картинки. Помогите. Скрин на строчку в скрипте, где я поменял адрес картинок. http://joxi.ru/p27BXeLT0P9pYm Что не так? Жаль удалять такой прекрасный скрипт, от такого прекрасного программиста.

      1. Вячеслав Скоблей says:

        Вы не поставили слеш - / после /Bitcoin
        должно быть так: /Bitcoin/

        1. Сразу видна рука мастера. Спасибо все работает.

  23. Дмитрий says:

    Добрый день. Как можно достать статистику изменения цены криптовалюты по дням за последний месяц?

  24. Алексей says:

    Всем спасибо! Проблему решил дописав PHP код. Теперь при смене рейтинга валют на источнике все отображается правильно.

    1. Александр says:

      А как сделать чтоб список был не вертикально, а горизонтально???

      1. Вячеслав Скоблей says:

        Поместите весь код в div, в свойствах которого укажите:

        display: flex;
        1. Олег_К says:

          Далек от веб-программирования, но по вашей инструкции получилось сделать информер на JS. Но как сделать список горизонтально, а лучше в две колонки или три я не смог. Куда прописать нужно [display: flex;]?

  25. Олег says:

    Благодарим вас за информацию, воспользовались, получилось. Нам пришлось скопировать данные из https://seo-zona.ru/files/currency.js , чтобы всё заработало от нас. Скажите, пожалуйста, а где вы брали данные, которые находятся здесь https://seo-zona.ru/files/currency.js ?

    1. Вячеслав Скоблей says:

      Нет никакой нужды разглашать эту информацию

      1. Алексей says:

        Вообще это нужда есть, особенно когда меняется рейтинг криптовалют на сайте поставщика котировок. если изменился список валют на их сайте, то на моем все котировки изменяются по отношению к названиям в скрипте

        1. Вячеслав Скоблей says:

          Это не относится к коду currency.js. Там все официально, прозрачно и надежно

  26. Алексей says:

    Добрый день! А какая команда отвечает за название криптовалюты? В том плане, чтоб не надо было вручную подписывать валюты в теге , а просто вставить соответствующий код

  27. Михаил says:

    Разобрался..

  28. Михаил says:

    Вячеслав, а как помимо самого курса валюты вывести изменение за 24 часа?

  29. Дмитрий says:

    Когда на coinmarketcap криптовалюта перемещается на другую позицию, то в коде нужно каждый раз менять порядковый номер. Можно ли решить эту проблему?

    1. Вячеслав Скоблей says:

      Если Вас интересует отдельно взятая криптовалюта, то обращайтесь к ней по имени, например:
      https://api.coinmarketcap.com/v1/ticker/ethereum/

      1. alex says:

        Если уж пишите такой подробный гайд, можно для нубов дописать детали?
        При обращении по имени все равно учитываются значения номера в списке. Если делать информмр на 10 валют чтобы они не перескакивали после смены позиций, обращаться по имени ко всем10-ти? Тогда что указывать в поле $data[0] Сделайте пример вышеуказанного php информера на 3 валюты с обралением к каждой по имени. Иначе какой смысл показывать как делать информер через лимит если позиции прыгают постоянно.

  30. Иван says:

    а как можно обновлять курс валют без обновления сайта, например с интервалом 15-20 сек ?

    1. Вячеслав Скоблей says:

      Без обновления страницы можно сделать используя технологию ajax. Возможно прикрутить описанный здесь скрипт на PHP.

  31. says:

    Сможете ли вы создать подробный мануал для создания информеров по криптовалютам для сайта на Ucoz/
    Я знаю нелюбовь профессионалов к этой CSM. но я 10 лет держу сайт на ней и привык как то.
    Подскажете? Научите?
    Договоримся?

    1. Вячеслав Скоблей says:

      Для Ucoz можно реализовать на js. Напишите мне

      1. says:

        Я вам пишу, чего же боле...
        Но вы, к моей несчастной доле
        Хоть каплю жалости храня,
        Вы не оставите меня? :-)))

        1. Вячеслав Скоблей says:

          Здесь на каждой странице есть форма обратной связи, чтобы написать. Ну и СПАМ (папку) проверьте, так как на мои письма никто не отвечает.

      2. says:

        Информер у меня прекрасно работает уже неделю. Вот только после того как я его поместил в боковую колонку, картинки криптовалют стали отображаться ниже информации о стоимости оных. Как исправить что бы они у меня на сайте были рядом, но помещались в отведенную область. При просмотре на мобильном, они также под информацией.

        Еще вопрос, может не по теме. Я установил информер в блок свернуть - развернуть. Подскажите как сделать чтобы при открытии сайта этот блок был свернут и его можно открыть при нажатии на свернут - развернуть.

  32. а можно показать как это выглядит на сайте?

    1. Вячеслав Скоблей says:

      В данном коде не предусмотрены стили для оформления, в итоге вы лишь получаете данные. Оформить вы можете для себя на свое усмотрение.

      1. все работает - спасибо!

      2. Вячеслав а можно сделать так чтобы курс обновлялся через заданное время, но без обновления всей страницы?

        1. Вячеслав Скоблей says:

          Можно. Для этого надо использовать ajax.

          1. ок - спс

            надо будет погуглить....

  33. А как вставить такой php в виджеn wordpress чтобы он корректно отображался? Спасибо.

    1. Вячеслав Скоблей says:

      Можно поставить плагин PHP Code Widget. Теперь в виджетах появится возможность использовать PHP код - посредством вкладки "PHP Code"

      1. Спасибо большое. Всё работает ))
        P.S. Загляните на ЯД.

        1. Вячеслав Скоблей says:

          Спасибо. В названии виджета лучше написать что-то типа: "Курс криптовалют на сегодня".

          1. Да, так лучше, спасибо. Кстати я вам писал вопрос через форму обратной связи по вопросу наполнения сайта. Ответ пока не получил. Может не дошло сообщение...

            1. Вячеслав Скоблей says:

              Скорее всего нет (не получил).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *