Appearance
@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 SIDRA | Variável | Conteúdo |
|---|---|---|
| 1736 | 44 | INPC — variação mensal percentual |
| 1737 | 63 | IPCA — 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.
| Subpath | O que exporta |
|---|---|
@fc/cliente-sidra/consultarSidra | consultarSidra |
@fc/cliente-sidra/CodigoSidra | CodigoSidra |
@fc/cliente-sidra/tipos | DadoSerieSidra, 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:covOs testes usam respostas locais controladas e não acessam a internet.
Instalação (monorepo)
jsonc
// package.json
{ "dependencies": { "@fc/cliente-sidra": "workspace:*" } }