Skip to content

@fc/cliente-sidra ​

Cliente HTTP tipado para a API SIDRA (Sistema IBGE de Recuperação Automática), do Instituto Brasileiro de Geografia e Estatística. É consumido pelo job de atualização automática de índices do backoffice para obter INPC e IPCA.

Endpoint ​

A URL base é fixa no pacote — https://apisidra.ibge.gov.br/values — e não depende de variável de ambiente.

Tabelas consultadas ​

Tabela SIDRAVariávelConteúdo
173644INPC — variação mensal percentual
173763IPCA — variação mensal percentual

API ​

ts
import { CodigoSidra } from '@fc/cliente-sidra/CodigoSidra'
import { consultarSidra } from '@fc/cliente-sidra/consultarSidra'

const controlador = new AbortController()

const { dados, erros } = await consultarSidra({
  consultas: [CodigoSidra.Inpc, CodigoSidra.Ipca],
  dataInicial: '2024-01-01',
  dataFinal: '2024-12-31',
  signal: controlador.signal, // opcional
})

Marcadores oficiais e linhas ilegíveis são omitidos e registrados em erros; o zero numérico legítimo é preservado. Falhas transitórias usam até três tentativas dentro de um orçamento total de 30 segundos, respeitando Retry-After. O corpo de resposta é limitado a 2 MiB.

Como consumir ​

O pacote não tem barrel raiz: @fc/cliente-sidra não resolve. Cada módulo é publicado por subpath, e o consumidor importa o arquivo que declara o símbolo.

SubpathO que exporta
@fc/cliente-sidra/consultarSidraconsultarSidra
@fc/cliente-sidra/CodigoSidraCodigoSidra
@fc/cliente-sidra/tiposDadoSerieSidra, ErroConsultaSidra, ParametrosConsultaSidra, ResultadoConsultaSidra, TipoErroConsulta

constantes, consultar, formatarData e gerarUrl são detalhe de implementação e não são publicados.

Desenvolvimento ​

bash
pnpm test:run
pnpm test:cov

Os testes usam respostas locais controladas e não acessam a internet.

Instalação (monorepo) ​

jsonc
// package.json
{ "dependencies": { "@fc/cliente-sidra": "workspace:*" } }