alteradas chamadas 'consultar_preco()' e 'consultar_preco_token()' para devolverem multiplos resultados

This commit is contained in:
2024-06-05 09:42:23 +01:00
parent 1140aca4a3
commit 4d24e5c83c
3 changed files with 105 additions and 16 deletions

View File

@ -65,9 +65,9 @@ esta é a minha tentativa! :D
> ✅ check api server status > ✅ check api server status
- **simple** - **simple**
> ⚠️ coin price by ids (só retorna dados para um ID) > ✅ coin price by ids
> ⚠️ coin price by token addresses (só retorna dados para um contracto) > ✅ coin price by token addresses
> ❌⬛ supported currencies list > ❌⬛ supported currencies list
- **coins** - **coins**

View File

@ -41,6 +41,11 @@ def consultar_preco(id_criptomoeda: str = '',
flag_include_last_updated_at: bool = False, flag_include_last_updated_at: bool = False,
precisao: int | str = 'full' precisao: int | str = 'full'
) -> tuple: ) -> tuple:
'''
consultar preço de um ou mais moedas usando o seu ID de Moeda
podem ser passadas multiplos IDs de moedas separadas por virgula, como objecto de tipo 'str'
'''
# validacao de parametros # validacao de parametros
if not isinstance(id_criptomoeda, str): if not isinstance(id_criptomoeda, str):
raise TypeError('\'id_criptomoeda\' não é do tipo \'str\'') raise TypeError('\'id_criptomoeda\' não é do tipo \'str\'')
@ -78,11 +83,13 @@ def consultar_preco(id_criptomoeda: str = '',
resposta = requests.get(url_pedido, headers=headers) resposta = requests.get(url_pedido, headers=headers)
return resposta.status_code, resposta.json() return resposta.status_code, resposta.json()
# debug (decomentar linhas seguintes para testar funcao) # debug (decomentar linhas seguintes para testar funcao)
# codigo, dados_dict = consultar_preco('bitcoin', 'eur', precisao=0) # codigo, dados_dict = consultar_preco('bitcoin,dogecoin,ethereum,0chain', 'eur')
# print(f'codigo: {codigo}') # if codigo == 200:
# for item in dados_dict: # print(f'codigo: {codigo}')
# print(f'{dados_dict[item]}') # for moeda in dados_dict:
# print(dados) # print(f'{moeda}')
# for vs_currency in dados_dict[moeda]:
# print(f'\t{vs_currency}: {dados_dict[moeda][vs_currency]:.2f}')
# https://docs.coingecko.com/v3.0.1/reference/simple-supported-currencies # https://docs.coingecko.com/v3.0.1/reference/simple-supported-currencies
# obter lista de todas as moedas suportadas por CoinGecko que podem ser usados como 'vs_currencies' # obter lista de todas as moedas suportadas por CoinGecko que podem ser usados como 'vs_currencies'
@ -93,8 +100,9 @@ def obter_lista_moedas_vs_currencies() -> tuple:
return resposta.status_code, resposta.json() return resposta.status_code, resposta.json()
# debug (decomentar linhas seguintes para testar funcao) # debug (decomentar linhas seguintes para testar funcao)
# codigo, dados = obter_lista_moedas_vs_currencies() # codigo, dados = obter_lista_moedas_vs_currencies()
# for item in dados: # if codigo == 200:
# print(item) # for item in dados:
# print(item)
# https://docs.coingecko.com/v3.0.1/reference/simple-token-price # https://docs.coingecko.com/v3.0.1/reference/simple-token-price
# consultar preco de token usando o endereco de contrato do token # consultar preco de token usando o endereco de contrato do token
@ -151,12 +159,14 @@ def consultar_preco_token(
return resposta.status_code, resposta.json() return resposta.status_code, resposta.json()
# debug (decomentar linhas seguintes para testar funcao) # debug (decomentar linhas seguintes para testar funcao)
# id_plataforma = 'ethereum' # id_plataforma = 'ethereum'
# endereco_contracto = '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599' # enderecos_contracto = '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599,0x4594cffbfc09bc5e7ecf1c2e1c1e24f0f7d29036'
# codigo, dados = consultar_preco_token(id_plataforma, endereco_contracto, 'eur') # codigo, dados = consultar_preco_token(id_plataforma, enderecos_contracto, 'eur')
# print(f'codigo: {codigo}') # print(f'codigo: {codigo}')
# if codigo == 200: # if codigo == 200:
# for item in dados: # for contrato in dados:
# print(f'{dados[item]}') # print(f'{contrato}')
# for vs_currency in dados[contrato]:
# print(f'\t{vs_currency}: {dados[contrato][vs_currency]:0.2f}')
# https://api.coingecko.com/api/v3/coins/list # https://api.coingecko.com/api/v3/coins/list
# obter todas as moedas suportadas em CoinGecko com IDs, nome, simbolo e (no caso de contractos) endereco na plataforma das moedas # obter todas as moedas suportadas em CoinGecko com IDs, nome, simbolo e (no caso de contractos) endereco na plataforma das moedas
@ -203,6 +213,7 @@ def consulta_ohcl(criptomoeda: str = '',
return resposta.status_code, resposta.json() return resposta.status_code, resposta.json()
# debug (decomentar linhas seguintes para testar funcao) # debug (decomentar linhas seguintes para testar funcao)
# codigo, dados = consulta_ohcl('dogecoin', 'eur', precisao=5) # codigo, dados = consulta_ohcl('dogecoin', 'eur', precisao=5)
# print(f'codigo: {codigo}') # if codigo == 200:
# for item in dados: # print(f'codigo: {codigo}')
# print(item) # for item in dados:
# print(item)

View File

@ -182,3 +182,81 @@ data_unix,criptomoeda,vs_currency,preco_abertura,preco_maximo,preco_minimo,preco
1716436800000,bitcoin,eur,63859.939,64250.165,63859.939,64010.364 1716436800000,bitcoin,eur,63859.939,64250.165,63859.939,64010.364
1716451200000,bitcoin,eur,64082.909,64493.094,64024.978,64328.023 1716451200000,bitcoin,eur,64082.909,64493.094,64024.978,64328.023
1716163200000,bitcoin,eur,60788.937,61088.408,60761.301,60924.868 1716163200000,bitcoin,eur,60788.937,61088.408,60761.301,60924.868
1716465600000,bitcoin,eur,64373.908,64552.559,64101.853,64552.559
1716480000000,bitcoin,eur,64483.015,64510.68,62482.214,62810.554
1716494400000,bitcoin,eur,62849.4,62919.692,61920.421,62253.333
1716508800000,bitcoin,eur,62050.284,63078.264,61724.461,62795.078
1716523200000,bitcoin,eur,62838.651,62896.058,62569.424,62734.548
1716537600000,bitcoin,eur,62772.152,62791.499,61866.426,61918.83
1716552000000,bitcoin,eur,62062.624,62275.889,61608.017,62077.713
1716566400000,bitcoin,eur,62085.254,62982.436,61753.541,62849.001
1716580800000,bitcoin,eur,62967.745,63747.426,62678.234,63582.099
1716595200000,bitcoin,eur,63686.28,63731.468,63150.075,63150.075
1716609600000,bitcoin,eur,63128.79,63455.249,63125.737,63310.32
1716624000000,bitcoin,eur,63321.653,63388.372,63208.915,63345.846
1716638400000,bitcoin,eur,63351.918,64130.464,63349.562,63784.235
1716652800000,bitcoin,eur,63659.059,63869.557,63498.907,63582.399
1716667200000,bitcoin,eur,63492.472,63806.962,63492.472,63765.151
1716681600000,bitcoin,eur,63739.805,63921.864,63649.661,63850.683
1716696000000,bitcoin,eur,63883.978,63883.978,63460.704,63689.073
1716710400000,bitcoin,eur,63644.014,63955.778,63525.665,63866.905
1716724800000,bitcoin,eur,63892.087,64009.46,63597.751,63662.431
1716739200000,bitcoin,eur,63715.511,63919.836,63323.706,63339.559
1716753600000,bitcoin,eur,63441.323,63539.455,63329.628,63446.614
1716768000000,bitcoin,eur,63476.756,63476.756,62983.895,63150.481
1716782400000,bitcoin,eur,63148.063,63796.916,63132.923,63410.904
1716796800000,bitcoin,eur,63443.422,63459.378,63006.23,63247.071
1716811200000,bitcoin,eur,63233.066,63470.008,62855.157,62998.658
1716825600000,bitcoin,eur,63015.668,64774.106,62984.625,64692.033
1716840000000,bitcoin,eur,64787.14,65010.319,63517.197,63860.772
1716854400000,bitcoin,eur,63754.723,64235.61,63754.723,63871.134
1716868800000,bitcoin,eur,63902.723,63906.81,62250.644,62465.101
1716883200000,bitcoin,eur,62512.366,62517.493,62098.184,62169.212
1716897600000,bitcoin,eur,62171.989,63316.295,62101.904,62795.589
1716912000000,bitcoin,eur,62761.64,62969.527,62198.784,62855.978
1716926400000,bitcoin,eur,62787.085,63061.339,61896.282,63061.339
1716940800000,bitcoin,eur,62874.453,63164.239,62717.385,62950.706
1716955200000,bitcoin,eur,62936.943,63412.409,62881.977,63398.604
1716969600000,bitcoin,eur,63350.653,63463.515,62661.615,62694.057
1716984000000,bitcoin,eur,62595.922,62677.65,62360.234,62410.175
1716998400000,bitcoin,eur,62390.391,62700.556,62227.575,62354.12
1717012800000,bitcoin,eur,62258.282,62675.437,62114.032,62238.786
1717027200000,bitcoin,eur,62295.781,62700.701,62136.529,62561.005
1717041600000,bitcoin,eur,62555.026,63057.905,62444.456,63024.915
1717056000000,bitcoin,eur,62998.344,63287.336,62535.111,62535.111
1717070400000,bitcoin,eur,62485.402,62867.9,62102.933,62649.103
1717084800000,bitcoin,eur,62616.63,63571.039,62616.63,63216.194
1717099200000,bitcoin,eur,63226.6,64082.556,63068.849,63306.865
1717113600000,bitcoin,eur,63350.944,63350.944,62883.036,63123.742
1717128000000,bitcoin,eur,63109.591,63454.912,63027.977,63385.469
1717142400000,bitcoin,eur,63315.755,63436.901,62903.438,62903.438
1717156800000,bitcoin,eur,62987.273,63073.731,62592.328,62979.21
1717171200000,bitcoin,eur,62958.817,63586.251,61961.018,61971.494
1717185600000,bitcoin,eur,61885.436,62559.732,61533.66,62559.732
1717200000000,bitcoin,eur,62321.773,62383.841,61817.314,62145.918
1717214400000,bitcoin,eur,62151.671,62341.972,62085.422,62322.684
1717228800000,bitcoin,eur,62313.876,62353.003,62186.246,62292.207
1717243200000,bitcoin,eur,62236.357,62348.817,62236.315,62282.893
1717257600000,bitcoin,eur,62274.039,62467.001,62261.585,62372.756
1717272000000,bitcoin,eur,62273.685,62411.629,62205.718,62365.248
1717286400000,bitcoin,eur,62343.209,62441.054,62307.145,62362.929
1717300800000,bitcoin,eur,62385.276,62492.655,62246.686,62385.939
1717315200000,bitcoin,eur,62389.349,62465.702,62335.215,62370.506
1717329600000,bitcoin,eur,62367.658,62773.257,62058.855,62773.257
1717344000000,bitcoin,eur,62828.173,62960.339,62495.291,62697.381
1717358400000,bitcoin,eur,62715.837,62753.545,62174.803,62479.478
1717372800000,bitcoin,eur,62451.12,62626.495,62303.029,62419.716
1717387200000,bitcoin,eur,62416.452,63352.934,62253.197,62999.219
1717401600000,bitcoin,eur,63016.812,63704.448,62902.927,63454.384
1717416000000,bitcoin,eur,63510.073,63933.004,63505.699,63768.494
1717430400000,bitcoin,eur,63704.799,64676.378,63238.484,63661.475
1717444800000,bitcoin,eur,64056.28,64056.28,63283.019,63366.996
1717459200000,bitcoin,eur,63392.859,63728.109,63015.926,63083.788
1717473600000,bitcoin,eur,63085.155,63573.748,62995.939,63389.793
1717488000000,bitcoin,eur,63396.298,63466.523,63038.609,63421.245
1717502400000,bitcoin,eur,63333.322,63500.437,63016.392,63446.638
1717516800000,bitcoin,eur,63490.903,64867.358,63366.685,64867.358
1717531200000,bitcoin,eur,64716.645,65243.555,64391.74,64576.01
1717545600000,bitcoin,eur,64716.365,64990.297,64519.516,64881.834
1717560000000,bitcoin,eur,64832.495,65455.914,64739.747,65140.303
1717574400000,bitcoin,eur,65263.876,65563.725,65146.737,65495.129

1 data_unix criptomoeda vs_currency preco_abertura preco_maximo preco_minimo preco_fecho
182 1716436800000 bitcoin eur 63859.939 64250.165 63859.939 64010.364
183 1716451200000 bitcoin eur 64082.909 64493.094 64024.978 64328.023
184 1716163200000 bitcoin eur 60788.937 61088.408 60761.301 60924.868
185 1716465600000 bitcoin eur 64373.908 64552.559 64101.853 64552.559
186 1716480000000 bitcoin eur 64483.015 64510.68 62482.214 62810.554
187 1716494400000 bitcoin eur 62849.4 62919.692 61920.421 62253.333
188 1716508800000 bitcoin eur 62050.284 63078.264 61724.461 62795.078
189 1716523200000 bitcoin eur 62838.651 62896.058 62569.424 62734.548
190 1716537600000 bitcoin eur 62772.152 62791.499 61866.426 61918.83
191 1716552000000 bitcoin eur 62062.624 62275.889 61608.017 62077.713
192 1716566400000 bitcoin eur 62085.254 62982.436 61753.541 62849.001
193 1716580800000 bitcoin eur 62967.745 63747.426 62678.234 63582.099
194 1716595200000 bitcoin eur 63686.28 63731.468 63150.075 63150.075
195 1716609600000 bitcoin eur 63128.79 63455.249 63125.737 63310.32
196 1716624000000 bitcoin eur 63321.653 63388.372 63208.915 63345.846
197 1716638400000 bitcoin eur 63351.918 64130.464 63349.562 63784.235
198 1716652800000 bitcoin eur 63659.059 63869.557 63498.907 63582.399
199 1716667200000 bitcoin eur 63492.472 63806.962 63492.472 63765.151
200 1716681600000 bitcoin eur 63739.805 63921.864 63649.661 63850.683
201 1716696000000 bitcoin eur 63883.978 63883.978 63460.704 63689.073
202 1716710400000 bitcoin eur 63644.014 63955.778 63525.665 63866.905
203 1716724800000 bitcoin eur 63892.087 64009.46 63597.751 63662.431
204 1716739200000 bitcoin eur 63715.511 63919.836 63323.706 63339.559
205 1716753600000 bitcoin eur 63441.323 63539.455 63329.628 63446.614
206 1716768000000 bitcoin eur 63476.756 63476.756 62983.895 63150.481
207 1716782400000 bitcoin eur 63148.063 63796.916 63132.923 63410.904
208 1716796800000 bitcoin eur 63443.422 63459.378 63006.23 63247.071
209 1716811200000 bitcoin eur 63233.066 63470.008 62855.157 62998.658
210 1716825600000 bitcoin eur 63015.668 64774.106 62984.625 64692.033
211 1716840000000 bitcoin eur 64787.14 65010.319 63517.197 63860.772
212 1716854400000 bitcoin eur 63754.723 64235.61 63754.723 63871.134
213 1716868800000 bitcoin eur 63902.723 63906.81 62250.644 62465.101
214 1716883200000 bitcoin eur 62512.366 62517.493 62098.184 62169.212
215 1716897600000 bitcoin eur 62171.989 63316.295 62101.904 62795.589
216 1716912000000 bitcoin eur 62761.64 62969.527 62198.784 62855.978
217 1716926400000 bitcoin eur 62787.085 63061.339 61896.282 63061.339
218 1716940800000 bitcoin eur 62874.453 63164.239 62717.385 62950.706
219 1716955200000 bitcoin eur 62936.943 63412.409 62881.977 63398.604
220 1716969600000 bitcoin eur 63350.653 63463.515 62661.615 62694.057
221 1716984000000 bitcoin eur 62595.922 62677.65 62360.234 62410.175
222 1716998400000 bitcoin eur 62390.391 62700.556 62227.575 62354.12
223 1717012800000 bitcoin eur 62258.282 62675.437 62114.032 62238.786
224 1717027200000 bitcoin eur 62295.781 62700.701 62136.529 62561.005
225 1717041600000 bitcoin eur 62555.026 63057.905 62444.456 63024.915
226 1717056000000 bitcoin eur 62998.344 63287.336 62535.111 62535.111
227 1717070400000 bitcoin eur 62485.402 62867.9 62102.933 62649.103
228 1717084800000 bitcoin eur 62616.63 63571.039 62616.63 63216.194
229 1717099200000 bitcoin eur 63226.6 64082.556 63068.849 63306.865
230 1717113600000 bitcoin eur 63350.944 63350.944 62883.036 63123.742
231 1717128000000 bitcoin eur 63109.591 63454.912 63027.977 63385.469
232 1717142400000 bitcoin eur 63315.755 63436.901 62903.438 62903.438
233 1717156800000 bitcoin eur 62987.273 63073.731 62592.328 62979.21
234 1717171200000 bitcoin eur 62958.817 63586.251 61961.018 61971.494
235 1717185600000 bitcoin eur 61885.436 62559.732 61533.66 62559.732
236 1717200000000 bitcoin eur 62321.773 62383.841 61817.314 62145.918
237 1717214400000 bitcoin eur 62151.671 62341.972 62085.422 62322.684
238 1717228800000 bitcoin eur 62313.876 62353.003 62186.246 62292.207
239 1717243200000 bitcoin eur 62236.357 62348.817 62236.315 62282.893
240 1717257600000 bitcoin eur 62274.039 62467.001 62261.585 62372.756
241 1717272000000 bitcoin eur 62273.685 62411.629 62205.718 62365.248
242 1717286400000 bitcoin eur 62343.209 62441.054 62307.145 62362.929
243 1717300800000 bitcoin eur 62385.276 62492.655 62246.686 62385.939
244 1717315200000 bitcoin eur 62389.349 62465.702 62335.215 62370.506
245 1717329600000 bitcoin eur 62367.658 62773.257 62058.855 62773.257
246 1717344000000 bitcoin eur 62828.173 62960.339 62495.291 62697.381
247 1717358400000 bitcoin eur 62715.837 62753.545 62174.803 62479.478
248 1717372800000 bitcoin eur 62451.12 62626.495 62303.029 62419.716
249 1717387200000 bitcoin eur 62416.452 63352.934 62253.197 62999.219
250 1717401600000 bitcoin eur 63016.812 63704.448 62902.927 63454.384
251 1717416000000 bitcoin eur 63510.073 63933.004 63505.699 63768.494
252 1717430400000 bitcoin eur 63704.799 64676.378 63238.484 63661.475
253 1717444800000 bitcoin eur 64056.28 64056.28 63283.019 63366.996
254 1717459200000 bitcoin eur 63392.859 63728.109 63015.926 63083.788
255 1717473600000 bitcoin eur 63085.155 63573.748 62995.939 63389.793
256 1717488000000 bitcoin eur 63396.298 63466.523 63038.609 63421.245
257 1717502400000 bitcoin eur 63333.322 63500.437 63016.392 63446.638
258 1717516800000 bitcoin eur 63490.903 64867.358 63366.685 64867.358
259 1717531200000 bitcoin eur 64716.645 65243.555 64391.74 64576.01
260 1717545600000 bitcoin eur 64716.365 64990.297 64519.516 64881.834
261 1717560000000 bitcoin eur 64832.495 65455.914 64739.747 65140.303
262 1717574400000 bitcoin eur 65263.876 65563.725 65146.737 65495.129