Skip to main content

Esquema

CampoTipoDescrição
exchangeRateIdUUIDv7Identificador único
providerenumEXCHANGE_RATE_API, PTAX_API, MANUAL
datedateData da taxa
sourceenumMoeda de origem
targetenumMoeda de destino (padrão BRL)
valuedecimalValor da taxa de câmbio
fetchedAtdatetimeQuando a taxa foi coletada
createdAtdatetimeCriação
updatedAtdatetimeÚltima atualização
O sistema usa dois provedores em paralelo: PTAX API (Banco Central do Brasil) como fonte oficial para USD/BRL, e ExchangeRateAPI como fonte secundária para outros pares de moeda. Se ambos falharem, existe o fallback MANUAL para inserção administrativa.

Regras de Negócio

  • Constraint único: (date, source, target)
  • Sistema dual-provider: PTAX API (Banco Central do Brasil) + ExchangeRateAPI
  • Opção de fallback manual
  • Usado nos cálculos de Cost para conversão de moeda
A constraint única por (date, source, target) garante que existe apenas uma taxa oficial por dia por par de moedas. Se provedores retornarem valores diferentes, o PTAX tem prioridade para pares envolvendo BRL.
Taxas são coletadas diariamente em horário programado. Para operações que acontecem em finais de semana ou feriados, o sistema usa a última taxa disponível. O campo fetchedAt registra o momento exato da coleta, não a data de vigência da taxa.

Exemplo

{
  "exchangeRateId": "01952b08-0db2-7a2e-c1f9-5b7d3f1a9c4e",
  "provider": "PTAX_API",
  "date": "2026-03-14",
  "source": "USD",
  "target": "BRL",
  "value": 5.7842,
  "fetchedAt": "2026-03-14T18:05:32Z",
  "createdAt": "2026-03-14T18:05:32Z",
  "updatedAt": "2026-03-14T18:05:32Z"
}