
💰 PHP API Bitcoini hetkehinna saamiseks 2026. aastal: lihtsast skriptist tootmislahenduseni
Sait aktsepteerib krüptovaluutat ja vahetuskurss kõigub poole tunni jooksul mõne protsendi võrra. Klient soovib näha liideses otse Bitcoini hetkehinda fiat-valuutas, mitte ekraanipilti börsilt, vaid reaalajas numbrit API kaudu.
Kursi käsitsi jälgimine CoinMarketCapi vahelehe kaudu võtab aega ja annab hilinenud andmeid. Samas on valmis krüptopluginad sageli ülepaisutatud: reklaamid, tarbetud päringud, lukustatud ühele allikale.
Allpool on kaks võimalust Bitcoini hetkehinna saamiseks PHP abil: alates lihtsast 10-realisest skriptist kuni tootmisvalmis lahenduseni koos puhverdamise ja allika valikuga. Ei mingeid tasulisi pakette ega 40-megabaidist SDK-d.
💡 Kiire ülevaade:
- API allika valimine: Bitpay (tasuta, võtit pole vaja) või CoinGecko (rohkem andmeid, samuti tasuta)
- PHP skripti kirjutamine faili_sisu_hankimise või cURL abil, mõlemad lähenemised on selgitatud
- Veakäsitluse ja failipuhvri lisamine 5 minutiks, et vältida API poole pöördumist igal lehe laadimisel
Mis on krüptohinna API ja miks PHP arendajal seda vaja on
Krüptobörside ja koondajate API-d tagastavad hetkekursi HTTP kaudu: teete GET-päringu ja saate JSON-i, mis sisaldab paari „BTC/USD" ja numbrit. Pole vaja WebSocketi ega tellimust: tavaline PHP skript odaval hostimisel saab sellega suurepäraselt hakkama.
Tüüpilised stsenaariumid, kus see on kasulik:
- Makselüüs. Näidake kasutajale: „Tasumisele kuuluv summa: 0,00031 BTC," kus kurss on võetud API-st, mitte suvaliselt välja mõeldud.
- Töölaud. Veebipoe administraatori paneel plokiga „Krüptovaluutade kursid".
- Portfelli jälgija. Teil on 5 münti ja skript uuendab nende koguväärtust kord minutis.
Selle artikli jaoks valiti kaks tasuta ja registreerimist mitte nõudvat allikat: Bitpay ja CoinGecko. Mõlemad töötavad üle HTTPS-i, tagastavad JSON-i ega vaja algtasemel API võtit.

1. Samm: kursi saamine Bitpay API kaudu
Bitpay on Bitcoini maksetöötleja. Sellel on avalik lõpp-punkt /api/rates, mis tagastab BTC kursid 150+ fiat-valuuta kohta ühes JSON massiivis. Pole tokenit ega päringupiiranguid põhikasutuse jaoks.
Lihtne lähenemine: faili_sisu_hankimine
Lühim töötav kood. Lisage see faili bitcoin-rates.php oma saidi juurkaustas ja avage brauseris:
1 <?php 2 $url = "https://bitpay.com/api/rates"; 3 $json = json_decode(file_get_contents($url), true); 4 5 foreach ($json as $item) { 6 if ($item['code'] === 'USD') { 7 echo '1 BTC = $' . $item['rate'] . "\n"; 8 } 9 if ($item['code'] === 'EUR') { 10 echo '1 BTC = €' . $item['rate'] . "\n"; 11 } 12 }
Skript küsib kogu kursimassiivi, käib selle läbi ja väljastab ainult USD ja EUR. file_get_contents() HTTPS URL-iga töötab, kui php.ini-s on direktiiv allow_url_fopen = On lubatud; enamikul hostimisteenustel on see vaikimisi aktiivne.
Usaldusväärsem lähenemine: cURL
file_get_contents ei sea ajalõppe ja vaikib võrguvigade korral. Päris veebisaidi jaoks on cURL parem valik:
1 <?php 2 $ch = curl_init(); 3 curl_setopt_array($ch, [ 4 CURLOPT_URL => 'https://bitpay.com/api/rates', 5 CURLOPT_RETURNTRANSFER => true, 6 CURLOPT_TIMEOUT => 10, 7 CURLOPT_SSL_VERIFYPEER => true, 8 ]); 9 $response = curl_exec($ch); 10 $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); 11 curl_close($ch); 12 13 if ($httpCode !== 200 || !$response) { 14 echo 'API temporarily unavailable.'; 15 exit; 16 } 17 18 $data = json_decode($response, true); 19 20 foreach ($data as $item) { 21 if ($item['code'] === 'USD') { 22 echo '1 BTC = $' . number_format($item['rate'], 2) . "\n"; 23 } 24 }
10-sekundiline ajalõpp, HTTP koodi kontroll ja number_format loetava väljundi jaoks. Praktikas piisab sellisest skriptist, et kuvada kurss saidi jaluses või külgribal.
2. Samm: alternatiivne allikas, CoinGecko API
Bitpay pakub kursse ainult BTC ja BCH jaoks. Kui vajate ka Ethereumi, Solanat või mõnda muud vara 500 parima hulgast, ühendage CoinGecko API kaudu. Tasuta pakett võimaldab 10-30 päringut minutis ilma võtmeta.
Lihtne päring Bitcoini ja Ethereumi hindadele
Lõpp-punkt /api/v3/simple/price võtab parameetri vs_currencies kaudu vastu komadega eraldatud müntide ja valuutade loendi:
1 <?php 2 $url = 'https://api.coingecko.com/api/v3/simple/price' 3 . '?ids=bitcoin,ethereum' 4 . '&vs_currencies=usd,eur,rub'; 5 6 $ch = curl_init(); 7 curl_setopt_array($ch, [ 8 CURLOPT_URL => $url, 9 CURLOPT_RETURNTRANSFER => true, 10 CURLOPT_TIMEOUT => 10, 11 ]); 12 $response = curl_exec($ch); 13 curl_close($ch); 14 15 $prices = json_decode($response, true); 16 17 echo 'BTC: $' . $prices['bitcoin']['usd'] . ' / €' . $prices['bitcoin']['eur'] . "\n"; 18 echo 'ETH: $' . $prices['ethereum']['usd'] . ' / ₽' . $prices['ethereum']['rub'] . "\n";
Vastus on kompaktne, sisaldades ainult teie soovitud münte ja valuutasid. Pole vaja 150 kirjet läbi käia.
Mida CoinGecko veel suudab
- Ajaloolised andmed:
/api/v3/coins/bitcoin/history?date=01-01-2026, kurss konkreetsel kuupäeval. - Turuandmed:
/api/v3/coins/bitcoin, turukapitalisatsioon, maht, 24 tunni muutus, ringluses olev pakkumine. - Trendikad mündid:
/api/v3/search/trending, viimase päeva populaarseimad otsingupäringud.
Lihtsa „BTC/USD" kursi jaoks piisab esimesest näitest. Kui ehitate töölauda, ühendage laiendatud lõpp-punktiga.
3. Samm: puhverdamine ja kaitse API tõrke vastu
Välise API poole pöördumine igal lehe laadimisel on halb tava. Võrk võib kokutada, CoinGecko server võib minutiks maas olla ja külastaja näeb kursi asemel viga.
Robustne lahendus on failipuhverdamine. Skript salvestab API vastuse kohalikku JSON faili ja uuendab seda iga 5 minuti järel. Kõik vahepealsed päringud loevad puhvrist, koheselt ja ilma väliste pöördumisteta.
1 <?php 2 $cacheFile = __DIR__ . '/btc-cache.json'; 3 $cacheTime = 300; // 5 minutes 4 5 // If cache is fresh — read it 6 if (file_exists($cacheFile) && (time() - filemtime($cacheFile)) < $cacheTime) { 7 $data = json_decode(file_get_contents($cacheFile), true); 8 echo '1 BTC = $' . number_format($data['bitcoin']['usd'], 2); 9 echo ' (cached, updated ' . date('H:i:s', filemtime($cacheFile)) . ')'; 10 exit; 11 } 12 13 // Cache is stale or missing — request API 14 $ch = curl_init(); 15 curl_setopt_array($ch, [ 16 CURLOPT_URL => 'https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd', 17 CURLOPT_RETURNTRANSFER => true, 18 CURLOPT_TIMEOUT => 10, 19 ]); 20 $response = curl_exec($ch); 21 $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); 22 curl_close($ch); 23 24 if ($httpCode !== 200 || !$response) { 25 // API is down — serve stale cache if available 26 if (file_exists($cacheFile)) { 27 $data = json_decode(file_get_contents($cacheFile), true); 28 echo '1 BTC = $' . number_format($data['bitcoin']['usd'], 2); 29 echo ' (stale cache — API did not respond)'; 30 exit; 31 } 32 echo 'No data available. Please try again later.'; 33 exit; 34 } 35 36 // Save fresh response and output 37 file_put_contents($cacheFile, $response); 38 $data = json_decode($response, true); 39 echo '1 BTC = $' . number_format($data['bitcoin']['usd'], 2); 40 echo ' (fresh data)';
Pange tähele, et skript kontrollib kõigepealt puhvrit ja pöördub API poole ainult vajadusel. Kui API ei vasta, kuvatakse viimati salvestatud kurss märkega „aegunud puhver". Külastaja näeb numbrit, mitte tühja lehte veateatega.
Enne tootmissaidile juurutamist veenduge, et PHP-l on skripti kataloogi kirjutamisõigused. Samuti tehke täielik varukoopia, kuna skript kirjutab kettale faili.
Ülaltoodud video pakub visuaalset ülevaadet CoinGecko API-st koos reaalajas päringu ja vastuse näidetega. See sobib, kui töötate krüpto API-ga esimest korda ja soovite näha kogu tsüklit: GET-päringust kuni JSON-i parsimiseni.
⁉️🤔 Korduma kippuvad küsimused
Millise API peaksin valima, Bitpay või CoinGecko?
Kui vajate ainult Bitcoini ja dollari kurssi, valige Bitpay. See on lihtsam, tagastab vastuse ühe massiivina ilma parameetriteta ja sellel pole piiranguid. Kui plaanite töötada tosina mündiga või kuvada graafikuid, valige CoinGecko: rohkem andmeid, paindlikud lõpp-punktid ja tasuta pakett, mis katab väikese projekti vajadused.
Kas Bitpay API nõuab API võtit?
Avalik lõpp-punkt
/api/ratesei nõua võtit. See on avatud lõpp-punkt, mida rahakotid ja börsid kasutavad kursside kuvamiseks. Bitpay ärilised lõpp-punktid (arvete koostamine, maksete vastuvõtmine) nõuavad tokenit, kuid neid pole vaja lihtsalt kursside hankimiseks.
Miks mitte CoinMarketCap API?
CoinMarketCapi tasuta pakett nõuab registreerimist ja võtit. Piirang on 10 000 päringut kuus, mis on väikese projekti jaoks piisav. Kuid lähenemise „alusta nullist ilma registreerimiseta" jaoks on Bitpay ja CoinGecko mugavamad: kopeerige URL, kleepige see oma koodi ja see töötab.
Mis siis, kui minu hosting blokeerib faili_sisu_hankimise väliste URL-ide jaoks?
Minge üle cURL-ile, mis on saadaval praktiliselt igal hostimisel. Kui cURL on samuti keelatud (2026. aastal haruldane), küsige oma hostilt
curl.solubamist PHP laiendustes. Alternatiiv on kasutada WordPressi seeswp_remote_get(); see funktsioon töötab läbi tuumiku HTTP API ja valib automaatselt saadaoleva transpordi.
Kui tihti API-s kursse uuendatakse?
Bitpay uuendab kurssi iga päringuga; numbrid kajastavad hetke turuvahet. CoinGecko uuendab andmeid lihtsa hinna lõpp-punkti jaoks iga 30-60 sekundi järel. Veebisaidil kuvamise eesmärgil on uuendamissagedus „üks kord iga 5 minuti järel" enam kui piisav; krüptoturg on küll volatiilne, kuid mitte nii palju, et sekundipõhised kõikumised teabeploki jaoks olulised oleksid.
Milline API oma ülesande jaoks valida
Bitpay ja CoinGecko lahendavad erinevaid vajadusi, otseselt konkureerimata:
- Kui ehitate maksevormi konversiooniga „BTC → USD", kasutage Bitpayd: üks URL-i rida, minimaalne kood, alati värsked kursid.
- Kui ehitate töölauda graafikute ja 10 mündi portfelliga, kasutage CoinGeckot: pakett-hinnapäringud, ajaloolised andmed, turukapitalisatsioon ja maht ühe päringuga.
- Kui vajate võimalikult kiiret algust ilma väliste sõltuvusteta, kasutage Bitpayd ilma cURL-ita
file_get_contentskaudu: 10 koodirida ja kurss on teie lehel.
Alustage lihtsalt: kopeerige esimene näide sellest artiklist, asendage valuuta enda omaga ja avage see brauseris. Kui see töötab, lisage sellele puhverdamine, kasutades 3. sammu malli, ja juurutage oma tootmissaidile. Andke meile kommentaarides teada, millise API te lõpuks valisite.



