1
resposta

Exchange Rate API - Challenge Back End ONE

Ola,

Estou com uma duvida no desafio, estou usando a chave para que segundo a documentaçao me retorna:

Alternativamente, você também pode fornecer uma variável QUANTITY opcional (formato decimal xxxx.xxxx).

OBTER https://v6.exchangerate-api.com/v6/SUA CHAVE-API/par/EUR/GBP/QUANTIDADE Isso retornará a taxa de câmbio do seu código base para a moeda de destino que você forneceu, bem como uma conversão do valor que você forneceu:


{
    "result": "success",
    "documentation": "https://www.exchangerate-api.com/docs",
    "terms_of_use": "https://www.exchangerate-api.com/terms",
    "time_last_update_unix": 1585267200,
    "time_last_update_utc": "Fri, 27 Mar 2020 00:00:00 +0000",
    "time_next_update_unix": 1585270800,
    "time_next_update_utc": "Sat, 28 Mar 2020 01:00:00 +0000",
    "base_code": "EUR",
    "target_code": "GBP",
    "conversion_rate": 0.8412,
    "conversion_result": 5.8884
}

nas opções estou colocando base_code = BRL target_code = USD QUANTITY = 100

se o rate é de 0.1951 o conversion_result deveria ser = 19.50, ok?

porem ele esta me retornando ;


ConverseRate{base_code='BRL', target_code='USD', conversion_rate='0.1951', conversion_result='1.1706'}

Se alguem puder me ajudar a entender

1 resposta

Olá Alexandre, tudo bem com você?

Se o valor de conversion_rate é 0.1951 e você está fornecendo uma quantity de 100, o resultado esperado para conversion_result realmente deveria ser 19.51 (100 * 0.1951), como você mencionou.

Todavia, realizei o teste na API e o resultado foi calculado corretamente, utilizei o seguinte endpoint:

https://v6.exchangerate-api.com/v6/CHAVE-API-AQUI/pair/BRL/USD/100

Resultado:

Imagem do resultado da API, que mostra o valor de 0.1911 e 19.11 como resultado

  • Neste caso acima, o conversion_rate foi de 0.1911 e a quantidade de 100. Ou seja, o conversion_result teria que ser 19.11 (100 * 0.1911), que foi o que ocorreu.

  • O que recomendo é que você verifique se está fazendo a chamada correta a URL de requisição à API, conforme mostrei acima. E também, se certifique que os parâmetros estão sendo passados corretamente no código. Mas, se tudo estiver correto e o erro de cálculo persistir, pode ser alguma limitação da própria API e como é uma API de terceiros, ficamos litados a corrigir.

  • Caso o resultado continue sendo calculado de forma equivocada, uma forma de contornar seria você capturar o campo conversion_rate retornado pela API e fazer uma multiplicação simples no próprio código, sem depender do endpoint te retornar o resultado.

Existem vários caminhos possíveis, alguns mais simples e outros mais onerosos, mas todos podem ajudá-lo a contornar esse erro de cálculo.

Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!