Documentação da API
O egenio FX oferece as taxas de câmbio oficiais diárias de bancos centrais e autoridades fiscais da América Latina, e do BCE, por meio de uma única API HTTPS com JSON consistente.
| URL base | https://api.egenio.net |
|---|---|
| Formato | JSON (UTF-8); CSV sob pedido no endpoint do F&O |
| Datas | AAAA-MM-DD |
| Taxas | Texto, exatamente como publicadas (ex.: "17.7100"), nunca arredondadas, com ponto decimal. Cada taxa é a quantidade da moeda por 1 unidade da base. |
Autenticação
Toda requisição a /v1 precisa de uma chave de API. Envie sua chave no cabeçalho X-API-Key:
curl -H "X-API-Key: fx_sua_chave_aqui" https://api.egenio.net/v1/rates
Para um teste rápido no navegador, você pode adicionar ?api_key=… ao endereço; em integrações, prefira o cabeçalho, porque endereços podem acabar em logs e no histórico do navegador. Mantenha as chaves em segredo: quem tiver a sua chave pode usar a sua cota. Precisa de uma chave? Obtenha uma chave de teste grátis; perdeu uma? É só criar outra. As novas chaves de teste grátis estão pausadas por enquanto; as chaves que você já tem continuam funcionando.
no-key): até 250 requisições por dia (UTC) de cada endereço IP, e os últimos 7 dias de histórico. Essas respostas trazem o cabeçalho X-API-Plan: no-key, e X-API-Key-Warning se você enviou uma chave que não reconhecemos. Uma chave revogada é sempre recusada com 401. Várias pessoas na mesma rede de escritório compartilham um endereço e o seu limite diário, então use uma chave para qualquer uso regular.
curl https://api.egenio.net/v1/rates?currencies=MXN,BRL
Experimente
Digite sua chave de API, escolha um endpoint e as opções e envie uma requisição real. Sua chave fica nesta página: é enviada apenas para api.egenio.net no cabeçalho X-API-Key e não é salva em lugar nenhum. Cada requisição conta para o seu limite. Não tem chave? Deixe o campo vazio para usar o acesso sem chave.
Taxas do dia e últimas
Todas as taxas de um dia: para cada moeda, a taxa oficial mais recente em ou antes de date.
| Parâmetro | Padrão | Descrição |
|---|---|---|
date | o dia mais recente | O dia para o qual você precisa das taxas. |
currencies | todas | Apenas estas moedas: um código, ou vários separados por vírgulas, ex.: MXN ou MXN,BRL,COP. |
base | USD | USD para moedas latino-americanas, EUR para as taxas de referência do BCE. |
GET /v1/rates?date=2026-09-28
{
"date": "2026-09-28",
"base": "USD",
"rates": [
{ "currency": "BRL", "rate": "5.30160", "rate_date": "2026-09-28", "source": "BCB" },
{ "currency": "MXN", "rate": "17.7100", "rate_date": "2026-09-28", "source": "Banxico" }
]
}
rate_date é o dia para o qual a taxa foi publicada. Pode ser anterior a date em fins de semana e feriados (veja abaixo).
Algumas moedas: última taxa ou uma data específica
Adicione currencies com um código, ou vários separados por vírgulas (currencies=MXN,BRL,COP). Deixe date de fora para a última taxa, ou inclua para a taxa vigente naquele dia (em fim de semana ou feriado, a do dia útil anterior).
# Última taxa USD→BRL curl -H "X-API-Key: fx_sua_chave_aqui" \ "https://api.egenio.net/v1/rates?currencies=BRL" # Taxa USD→MXN de 28 de setembro de 2026 curl -H "X-API-Key: fx_sua_chave_aqui" \ "https://api.egenio.net/v1/rates?currencies=MXN&date=2026-09-28" # Peso mexicano, real e peso colombiano de 28 de setembro de 2026 curl -H "X-API-Key: fx_sua_chave_aqui" \ "https://api.egenio.net/v1/rates?currencies=MXN,BRL,COP&date=2026-09-28"
{
"date": "2026-09-28",
"base": "USD",
"rates": [
{ "currency": "MXN", "rate": "17.7100", "rate_date": "2026-09-28", "source": "Banxico" }
]
}
Com uma moeda, a taxa está em rates[0].rate; com várias, rates tem uma entrada por moeda, em ordem alfabética. Outros exemplos: euro para real com base=EUR¤cies=BRL; para ver rapidamente no navegador, https://api.egenio.net/v1/rates?currencies=BRL&api_key=fx_sua_chave_aqui.
No Power Automate: uma ação HTTP com método GET, o endereço acima e o cabeçalho X-API-Key; depois use a expressão body('HTTP')?['rates']?[0]?['rate'] onde precisar da taxa (envolva em float(…) para cálculos).
No Excel: Dados → Da Web → Avançado, digite o endereço e adicione o cabeçalho X-API-Key; o Power Query transforma a resposta em uma tabela.
Histórico
Uma moeda, uma taxa por dia publicado, da mais antiga para a mais recente.
| Parâmetro | Padrão | Descrição |
|---|---|---|
from | 30 dias antes de to | Primeiro dia. |
to | o dia mais recente | Último dia. No máximo 1.830 dias por requisição. |
base | USD | Moeda base. |
GET /v1/rates/MXN?from=2026-09-24&to=2026-09-30
{
"base": "USD", "currency": "MXN", "from": "2026-09-24", "to": "2026-09-30",
"rates": [
{ "date": "2026-09-24", "rate": "17.5030", "source": "Banxico" },
…
]
}
Dynamics 365 Finance & Operations
Linhas com os nomes da entidade de dados Taxas de câmbio (ExchangeRates). EndDate é omitido: o F&O o calcula a partir da data de início da taxa seguinte.
| Parâmetro | Padrão | Descrição |
|---|---|---|
from, to | apenas o dia mais recente | Intervalo de datas. |
currencies | todas | Separadas por vírgulas, ex.: MXN,BRL. |
base | USD | Vira FromCurrency. |
rate_type | Default | O seu tipo de taxa de câmbio do F&O (até 20 letras, dígitos, espaços ou . - _ / & ( )). |
format | json | json (estilo OData) ou csv (download de arquivo). |
GET /v1/fo/exchange-rates?from=2026-09-28&to=2026-09-28¤cies=MXN&rate_type=Default
{
"value": [{
"RateTypeName": "Default", "FromCurrency": "USD", "ToCurrency": "MXN",
"StartDate": "2026-09-28T00:00:00Z", "Rate": "17.7100", "ConversionFactor": "One"
}]
}
Com o Power Automate
Baixe a nossa solução de exemplo e importe-a no ambiente do Power Platform vinculado ao F&O. Ela contém um fluxo de nuvem que roda duas vezes por dia, lê as taxas dos últimos 7 dias no egenio FX, ignora as que o F&O já tem e cria o restante na entidade ExchangeRates. Ele entra no F&O com o conector padrão Fin & Ops Apps, então não é preciso um registro de aplicativo no Azure. Se uma execução falhar, ele envia um e-mail dizendo qual etapa falhou e por quê; durante os testes, também pode enviar um resumo após cada execução bem-sucedida.
Baixar solução de exemplo (.zip)
Detalhes técnicos: o que o fluxo faz
A solução egenioFXRates 1.2.2.0 é não gerenciada, com o prefixo de editor egfx. Ela contém um fluxo de nuvem, egenio FX - Import exchange rates into FO, 6 variáveis de ambiente e duas referências de conexão (Fin & Ops Apps (Dynamics 365) e Office 365 Outlook). Não adiciona tabelas nem funções de segurança.
Etapas
- Gatilho: duas vezes por dia, às 13:00 e 20:00 UTC. Cada execução olha os últimos 7 dias, para não perder taxas publicadas com atraso.
- Try (escopo):
- FO_address: o nome de host do F&O como o conector espera (
https://, a/final e o que vier depois são removidos, então uma URL copiada do navegador funciona). - Get_rates_from_egenio_FX (HTTP):
GET /v1/fo/exchange-ratesdos últimos 7 dias, com suas moedas e o cabeçalhoX-API-Key. - Parse_rates: lê as linhas (
FromCurrency,ToCurrency,StartDate,Rate). - Get_existing_rates_from_FO (Fin & Ops Apps, Listar itens presentes na tabela): as
ExchangeRatesdo seu tipo de taxa, a partir de USD, dos últimos 8 dias. - Existing_keys e New_rates: mantêm só as taxas que o F&O ainda não tem (chave
MOEDA|AAAA-MM-DD), então rodar de novo nunca cria duplicatas. - For_each_new_rate (Fin & Ops Apps, Criar registro): adiciona cada taxa nova em
ExchangeRates, uma por vez, com o seu tipo de taxa eConversionFactorOne. - Summary: “Rates received: X. Already in F&O: Y. Created: Z.”
- FO_address: o nome de host do F&O como o conector espera (
- Catch (escopo, só roda se uma etapa do Try falhou ou expirou): lista as etapas com falha, com o status e a mensagem de erro, envia por e-mail ao endereço de notificação com um link para a execução e encerra a execução como Falha, para que continue vermelha no histórico.
- Email_on_success: se Email on success for Sim, envia o resumo após uma execução bem-sucedida.
A chamada ao egenio FX é repetida até 4 vezes com esperas crescentes (a partir de 30 segundos), e suas entradas, incluindo a chave de API, ficam ocultas no histórico de execuções.
Variáveis de ambiente
| Nome do esquema | Tipo | Padrão | Uso |
|---|---|---|---|
egfx_ApiKey | Texto | Chave de API do egenio FX | |
egfx_FinOpsUrl | Texto | URL do ambiente do F&O | |
egfx_RateType | Texto | Default | Tipo de taxa de câmbio do F&O a preencher |
egfx_Currencies | Texto | MXN,BRL,ARS,CLP,COP,PEN | Moedas a importar contra USD |
egfx_NotifyEmail | Texto | Quem recebe os e-mails | |
egfx_NotifyOnSuccess | Sim/Não | Sim | Enviar e-mail também após execuções bem-sucedidas |
Bom saber
- As taxas são criadas como o usuário da conexão do Fin & Ops Apps; o F&O mostra esse usuário como quem as criou.
- Só taxas a partir de USD são importadas e verificadas contra duplicatas.
- Uma taxa que já está no F&O nunca é alterada, mesmo que a fonte a corrija depois.
- Se a própria conexão do Outlook falhar, a execução ainda termina como Falha e aparece no histórico.
Antes de importar
- Obtenha uma chave de API do egenio FX (para começar, uma chave de teste grátis serve).
- Escolha a conta do F&O com a qual o fluxo vai trabalhar: um usuário (de preferência uma conta de serviço) que possa manter taxas de câmbio.
- Garanta que o tipo de taxa de câmbio (ex.:
Default) e as moedas existam no F&O. - Escolha a caixa de correio do Office 365 que enviará os e-mails do fluxo (uma caixa compartilhada ou de serviço funciona bem).
Importar
- Em Power Apps → Soluções → Importar solução, escolha o zip baixado.
- Quando forem pedidas as conexões, crie ou escolha uma conexão do Fin & Ops Apps (Dynamics 365), entrando com essa conta do F&O, e uma conexão do Office 365 Outlook para essa caixa de correio.
- Preencha as variáveis de ambiente quando solicitado:
Variável Exemplo egenio FX API key fx_…FO environment URL https://contoso.operations.dynamics.comExchange rate type DefaultCurrencies MXN,BRL,ARS,CLP,COP,PENNotification email [email protected](vários: separe com;)Email on success Sim durante os testes, Não depois (falhas são sempre enviadas) - Abra o fluxo egenio FX - Import exchange rates into FO, execute-o uma vez com Testar → Manualmente e depois ative-o. Ele é importado desativado.
O fluxo usa a ação premium HTTP e o conector premium Fin & Ops Apps, então o proprietário precisa de uma licença premium do Power Automate. Prefere montar você mesmo? Os passos são: Recorrência → HTTP GET /v1/fo/exchange-rates com o cabeçalho X-API-Key → Analisar JSON → Aplicar a cada sobre value → Criar registro do Fin & Ops Apps em ExchangeRates.
Com o Gerenciamento de dados (CSV)
- Baixe
/v1/fo/exchange-rates?from=…&to=…&format=csv. - No F&O: Gerenciamento de dados → Importar, entidade Taxas de câmbio, formato de origem CSV. As colunas são mapeadas automaticamente.
- As datas são
AAAA-MM-DD; se o seu formato de dados de origem espera outro formato de data, ajuste-o lá.
Sempre teste a importação primeiro em um sandbox.
Fontes e convenções
| País | Par | Fonte e taxa | Data |
|---|---|---|---|
| 🇲🇽 México | USD/MXN | FIX do Banxico | No dia da publicação no DOF (o dia útil seguinte à determinação pelo Banxico): o FIX de sexta-feira é a taxa de segunda-feira. |
| 🇧🇷 Brasil | USD/BRL | PTAX do BCB, taxa de venda, boletim de fechamento | Dias úteis no Brasil. |
| 🇦🇷 Argentina | USD/ARS | BCRA, Estadísticas Cambiarias | Dias úteis na Argentina. |
| 🇨🇱 Chile | USD/CLP | Banco Central de Chile, dólar observado | Dias úteis no Chile. |
| 🇨🇴 Colômbia | USD/COP | TRM (Superintendencia Financiera) | Cada dia do calendário em que vale, incluindo fins de semana. |
| 🇵🇪 Peru | USD/PEN | Taxa oficial da SUNAT, venda | A data da SUNAT. Histórico desde outubro de 2026. |
| 🇵🇾 Paraguai | USD/PYG, EUR/PYG | Banco Central del Paraguay (BCP), taxa referencial interbancária | Dias úteis do Paraguai. |
| 🇺🇾 Uruguai | USD/UYU, EUR/UYU | Banco Central del Uruguay (BCU): "dólar billete" e o euro do BCU, venda | A data do BCU (o dia do fechamento), dias úteis do Uruguai. |
| 🇨🇷 Costa Rica | USD/CRC | Banco Central de Costa Rica (BCCR), taxa de referência, venda | Cada dia do calendário que o BCCR publica, fins de semana incluídos. |
| 🇧🇴 Bolívia | USD/BOB | Banco Central de Bolivia (fonte BCBO), taxa oficial; antes de julho de 2026, a oficial de venda | Dias úteis da Bolívia. |
| 🇪🇺 Euro | EUR/USD, EUR/MXN, EUR/BRL… | Taxas de referência do euro do BCE (base EUR, ~30 moedas) | Dias úteis TARGET. |
As fontes são consultadas a cada hora; os dias recentes são verificados de novo para incorporar correções. As taxas nunca são calculadas nem invertidas: você recebe exatamente o que a autoridade publicou.
Fins de semana e feriados
A maioria das autoridades não publica em fins de semana e feriados. /v1/rates então devolve a taxa mais recente de cada moeda (com no máximo 10 dias) e mostra a sua rate_date. Isso segue a regra usual (ex.: a da SUNAT) de usar a taxa do dia útil anterior. Os endpoints de histórico e do F&O listam apenas os dias publicados; o F&O mantém cada taxa em vigor até a próxima.
Endereços do serviço
Dois endereços públicos que não precisam de chave de API, ambos em texto ou JSON para ferramentas, não páginas para leitura:
| Endereço | O que é |
|---|---|
/health | Status do serviço para monitores de disponibilidade: {"status": "ok", "version": "…"}. |
/.well-known/security.txt | Como reportar um problema de segurança de forma privada (o padrão security.txt). |
Erros
Os erros devolvem JSON: {"error": "explicação"}. A explicação vem em inglês.
| Código | Significado |
|---|---|
400 | Um parâmetro é inválido (formato de data, código de moeda, intervalo longo demais…). |
401 | Chave de API revogada. Quando o acesso sem chave está desligado, também uma chave ausente ou desconhecida. |
403 | A data está fora do histórico que a sua chave permite. |
404 | Não há taxas guardadas para essa requisição. |
429 | Requisições demais: o limite mensal da sua chave, o limite diário sem chave, ou requisições demais por minuto (veja Retry-After). |
500 | Algo deu errado do nosso lado. Tente novamente mais tarde. |
Limites
O acesso é gratuito durante os testes. Cada chave tem um nível de acesso com um limite mensal de requisições e uma janela de histórico:
| Nível de acesso | Requisições / mês | Histórico via date / from |
|---|---|---|
| free | 500 | últimos 7 dias |
| starter | 5.000 | últimos 730 dias |
| business | 50.000 | ilimitado |
| partner | 250.000 | ilimitado |
| Sem chave | 250 por dia, por endereço IP | últimos 7 dias |
Toda resposta inclui X-RateLimit-Limit e X-RateLimit-Remaining para o mês (para o dia, sem chave). Além disso, cada endereço cliente pode fazer até 300 requisições por minuto, e endereços que enviam muitas chaves inválidas ficam pausados por um minuto.
Perguntas frequentes
Por que rate_date é diferente de date?
Em fins de semana e feriados nenhuma taxa nova é publicada, então você recebe a última publicada, e rate_date diz de que dia ela é.
Por que as taxas têm quantidades diferentes de casas decimais?
Cada autoridade publica com a sua própria precisão (Banxico 4, PTAX 4–5, SUNAT 3…). Nós a mantemos exatamente. Arredonde no seu sistema se precisar.
Como obtenho USD→EUR?
O BCE publica EUR→USD. Use base=EUR. A maioria dos ERPs, incluindo o F&O, consegue usar uma taxa no sentido inverso.
Posso usar em produção?
Ainda não: é um serviço de teste sem garantias. Use para avaliação e confira com as fontes oficiais.
Como reporto um problema de segurança?
Veja o security.txt para o canal de reporte privado.