diff --git a/modulos/coingecko_api.py b/modulos/coingecko_api.py index dbbd528..05a69e2 100644 --- a/modulos/coingecko_api.py +++ b/modulos/coingecko_api.py @@ -1490,7 +1490,7 @@ def nfts_collection_data_by_id(id_nft: str = '') -> tuple[str, int, dict]: ''' # dicionario de parametros api_parameters: dict = { - 'id': '' + 'id': '', } # validacao de parametros # id_nft ( como 'id' é um nome reservado, foi usado outro nome) @@ -1512,16 +1512,43 @@ def nfts_collection_data_by_id(id_nft: str = '') -> tuple[str, int, dict]: # else: # print(f'erro {codigo}: {dados}') -def nfts_collection_data_by_contrat_address() -> tuple[str, int, dict]: - pass +def nfts_collection_data_by_contract_address( + asset_platform_id: str = '', + contract_address: str = '' +) -> tuple[str, int, dict]: + '''https://docs.coingecko.com/v3.0.1/reference/nfts-contract-address + + este endpoint permite obter toda a informação do NFT (nome, preco minimo, volume 24hrs, etc) + a partir do endereco de contracto da colecao NFT e respectiva plataforma de activo + ''' + # dicionario parametros + api_parameters: dict = { + 'asset_platform_id': '', + 'contract_address': '', + } + # validacao de parametros + # asset_platform_id + if not isinstance(asset_platform_id, str): + raise TypeError('\'asset_platform_id\' tem de ser do tipo \'str\'') + if asset_platform_id == '': + raise ValueError('\'asset_platform_id\' tem de ser definido') + api_parameters['asset_platform_id'] = asset_platform_id + # contract_address + if not isinstance(contract_address, str): + raise TypeError('\'contract_address\' tem de ser do tipo \'str\'') + if contract_address == '': + raise ValueError('\'contract_address\' tem de ser definido') + api_parameters['contract_address'] = contract_address + + return API(f'nfts/{api_parameters['asset_platform_id']}/contract/{api_parameters['contract_address']}', api_parameters) # debug (decomentar linhas seguintes para testar funcao) -# url, codigo, dados = +# url, codigo, dados = nfts_collection_data_by_contract_address('ethereum', '0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d') # print(f'url: {url}') # if codigo == 200: # for item in dados: -# print(item) +# print(f'{item}: {dados[item]}') # else: # print(f'erro {codigo}: {dados}')