Pular para o conteúdo
PHP

PHP — API para Obter Dados de Criptomoedas

Capa do artigo: PHP — API para Obter Dados de Criptomoedas

Olá Gente!


Ober a cotação de criptomoedas parece super simples, mas é dificil achar uma API boa e gratuita.


Para isto, iremos utilizar a API da CoinGecko:

https://www.coingecko.com/

Antes de obtemos os detalhes de uma moeda, iremos obter a listagem de todas as moedas disponíveis.


Para isto, faça um GET para:

https://api.coingecko.com/api/v3/coins/list


Exemplo:

<?php
$curl 		= curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL 				=> "https://api.coingecko.com/api/v3/coins/list",
CURLOPT_RETURNTRANSFER 		=> true,
CURLOPT_MAXREDIRS 			=> 10,
CURLOPT_TIMEOUT 			=> 30,
CURLOPT_SSL_VERIFYHOST 		=> false,
CURLOPT_SSL_VERIFYPEER 		=> false
));

$response 	= curl_exec($curl);
$response2  = json_decode($response, true);

curl_close($curl);

foreach( $response2 as $RegResponse )
{
    
    var_dump($RegResponse);
    echo "\n\r";
    echo "\n\r";
    
}
?>


Aqui iremos receber um array, onde cada elemento contem os detalhes de uma moeda:

{
  "id": "bitcoin",
  "symbol": "btc",
  "name": "Bitcoin"
}


Nestes dados, o que iremos utilizar para obter os detalhes das moedas é o “id”:

{
“id”: “bitcoin”,
“symbol”: “btc”,
“name”: “Bitcoin”
}


Agora iremos obter os detalhes da moeda “bitcoin”, para isto, faça uma GET para:

https://api.coingecko.com/api/v3/coins/bitcoin


Exemplo:

<?php
$curl 		= curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL 				=> "https://api.coingecko.com/api/v3/coins/bitcoin",
CURLOPT_RETURNTRANSFER 		=> true,
CURLOPT_MAXREDIRS 			=> 10,
CURLOPT_TIMEOUT 			=> 30,
CURLOPT_SSL_VERIFYHOST 		=> false,
CURLOPT_SSL_VERIFYPEER 		=> false
));

$response 	= curl_exec($curl);
$response2  = json_decode($response, true);

curl_close($curl);

var_dump($response2);
?>


Aqui teremos um grande objeto com os dados da Moeda, o preço fica no objeto “market_data” que contem a cotação de vários países:

{
  "market_data": {
    "current_price": {
      "aed": 159185,
      "ars": 35789264,
      "aud": 65896,
      "bch": 179.689,
      "bdt": 4756322,
      "bhd": 16341.27,
      "bmd": 43342,
      "bnb": 140.337,
      "brl": 215516,
      "btc": 1.0,
      "cad": 58214,
      "chf": 37430,
      "clp": 40516525,
      "cny": 308650,
      "czk": 992226,
      "dkk": 298217,
      "dot": 6204,
      "eos": 60667,
      "eth": 18.581298,
      "eur": 40010,
      "gbp": 34234,
      "gel": 116372,
      "hkd": 338805,
      "huf": 15461588,
      "idr": 685245413,
      "ils": 158639,
      "inr": 3602875,
      "jpy": 6408786,
      "krw": 57732883,
      "kwd": 13335.32,
      "lkr": 13742531,
      "ltc": 636.554,
      "mmk": 91007619,
      "mxn": 745332,
      "myr": 204897,
      "ngn": 39441373,
      "nok": 454437,
      "nzd": 70932,
      "php": 2442208,
      "pkr": 12112506,
      "pln": 174408,
      "rub": 3890622,
      "sar": 162538,
      "sek": 453021,
      "sgd": 58130,
      "thb": 1536002,
      "try": 1315531,
      "twd": 1350682,
      "uah": 1639204,
      "usd": 43342,
      "vef": 4339.79,
      "vnd": 1058013956,
      "xag": 1881.85,
      "xau": 21.33,
      "xdr": 32542,
      "xlm": 377712,
      "xrp": 82536,
      "yfi": 5.91368,
      "zar": 817866,
      "bits": 999702,
      "link": 2801,
      "sats": 99970208
    }
  }
}


A cotação desta moeda para o REAL fica em:

{
“brl”: 215516
}


Onde “BRL” é a Sigla para o Brasil.


Por hoje é isto, queridos desenvolvedores! 👩‍💼
Até logo! 👋

PHP

Leia também