Banco Central do Brasil: Referência Técnica
Referência técnica
Esta página é a especificação de interface da integração com o Banco Central do Brasil: componentes, fluxo, formato do boletim e configuração. Destina-se à equipa que implementa a troca de dados.
Para saber o que esta integração faz e como é configurada, consulte Banco Central do Brasil.
Componentes
| Nome | Tipo | Versão | Estado | Função |
|---|---|---|---|---|
| BancoCentralBrazil-ExchangeRates | Automação | 4 | Ativa | Diariamente às 20:00 UTC: descarrega o boletim de fecho do BCB e atualiza a taxa de compra e a taxa de venda de cada moeda correspondente |
A automação tem um subfluxo, UpdateCurrencyRateSW, executado uma vez por cada moeda correspondente.
Origem: BancoCentralBrazil-ExchangeRates - (Automation v4).json.
Como Funciona
RateDatelê odateopcional do corpo do pedido (#HttpRequest), remove os hífenes e usa-o quando tem 8 carateres. Caso contrário, usa a data UTC atual no formatoyyyyMMdd.GetBcbRatesdescarrega do BCB o boletim dessa data, um ficheiro CSV com o nome da data (yyyyMMdd). É uma chamada externa sem autenticação.BcbBulletinAvailableramifica pelo estado HTTP.200continua.404segue paraExitNoBulletin, que devolve200e deixa as taxas inalteradas. Qualquer outro estado segue paraExitBcbUnavailable, que devolve502.ParseBcbRates(CsvMap) lê o ficheiro com;como delimitador e sem linha de cabeçalho.GetCurrencieschamaGET /api/v3/currencies.BuildUpdates(ApplyTemplate) percorre as moedas, ignora a moeda por defeito, obtém o código ISO deIsoCodeou deExternalIde procura uma linha do boletim com o mesmo código. As vírgulas decimais passam a pontos. O resultado é um array JSON de{ id, isoCode, buy, sell }.UpdateCurrenciespercorre esse array e executaUpdateCurrencyRateSWpara cada item. ChamaPATCH /api/v3/currencies/{id}com{"buy":{"value":…},"sell":{"value":…}}.
Formato do Boletim
O ficheiro CSV não tem linha de cabeçalho e usa ; como separador de campos. A automação lê estas colunas:
| Coluna | Conteúdo | Utilizada para |
|---|---|---|
Field4 | Símbolo da moeda (código ISO) | Correspondência com o código ISO da moeda |
Field5 | Taxa de compra (taxa de compra), em BRL | Taxa de compra da moeda |
Field6 | Taxa de venda (taxa de venda), em BRL | Taxa de venda da moeda |
As restantes colunas (data, código de moeda do BCB, tipo e as duas paridades) não são utilizadas.
Pontos de Contacto com Sistemas Externos
- BCB: a descarga pública do boletim de fecho, um CSV por data. O conjunto de dados é publicado como dados abertos com o nome Taxas de câmbio - todos os boletins diários.
- API do Skills Workflow:
GET /api/v3/currenciesePATCH /api/v3/currencies/{id}.
Configuração
- Calendarização:
Daily, a cada 1 dia, às 20:00 UTC. - Corpo do pedido, apenas em execuções manuais:
dateopcional, comoyyyyMMddouyyyy-MM-dd. - Não são usadas chaves de configuração, parâmetros de sistema, queries nomeadas nem webhooks.
- Ao importar a automação para um ambiente, defina o
tenantIdda definição com o tenant desse ambiente e atribua ao agendador umuserIdválido nesse tenant.