Download the PHP package andmarruda/laravel-ibge without Composer
On this page you can find all versions of the php package andmarruda/laravel-ibge. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download andmarruda/laravel-ibge
More information about andmarruda/laravel-ibge
Files in andmarruda/laravel-ibge
Package laravel-ibge
Short Description Cliente Laravel para a API de Metadados do IBGE
License MIT
Informations about the package laravel-ibge
Laravel IBGE
Package Laravel para consumir e sincronizar dados da API de Metadados do IBGE.
Inclui cache configurável, persistência em banco de dados, migrations publicáveis, modelos Eloquent e jobs para atualização mensal.
Instalação via Composer
Instale o package diretamente pelo Composer:
O Laravel descobre automaticamente o service provider e a facade do package.
Para publicar a configuração:
As migrations são carregadas automaticamente. Para publicá-las no projeto e poder customizá-las:
Caso não queira customizar as migrations, basta executar:
Início rápido
Consulte a API usando a facade:
Uso
Os resultados são arrays iguais aos retornados pelo IBGE. Assim, novos campos adicionados pela API ficam imediatamente disponíveis sem exigir uma nova versão do package.
Endpoints mapeados
| Método do package | Endpoint IBGE |
|---|---|
pesquisas() |
GET /api/Pesquisa |
ocorrencias($codigo) |
GET /api/ocorrenciaPesquisa/{codigo} |
ocorrencia($codigo, $ano, $mes, $ordem) |
GET /api/ocorrenciaPesquisa/{codigo}/{ano}/{mes}/{ordem} |
metas($objetivo) |
GET /api/ODS/Metas/{objetivo} |
fichaMetodologica($indicador) |
GET /api/ODS/FichaMetodologica/{indicador} |
Cache
O cache é aplicado pelo decorator CachedMetadataGateway, sem acoplar essa responsabilidade ao cliente HTTP.
Formato das chaves:
Exemplos:
O schema_version permite invalidar todo o formato anterior quando a estrutura interna do cache mudar. Os TTLs são separados por recurso em config/ibge.php, pois catálogos e ocorrências podem ter ritmos de atualização diferentes.
Variáveis disponíveis:
O padrão é de 7.776.000 segundos, equivalente a 90 dias. A sincronização mensal força a substituição dos valores mesmo quando o cache ainda está válido.
Sincronização mensal
O comando abaixo enfileira a atualização completa:
Fluxo dos jobs:
Configure um worker de filas e agende o comando mensalmente:
Fila e conexão podem ser configuradas:
Banco de dados
A sincronização salva os dados em quatro tabelas:
| Tabela | Conteúdo |
|---|---|
ibge_pesquisas |
Catálogo de pesquisas |
ibge_pesquisa_ocorrencias |
Lista e detalhes das ocorrências |
ibge_ods_metas |
Metas dos objetivos ODS |
ibge_ods_indicadores |
Indicadores e fichas metodológicas |
Cada tabela mantém campos úteis para consulta e um payload JSON com a resposta completa da API.
Modelos Eloquent disponíveis:
Arquitetura evolutiva
Ibgemantém a API pública do package pequena e estável.MetadataGatewayé o ponto de substituição para uma API v2, fixtures ou outra fonte.HttpMetadataGatewayconcentra rotas, retry, timeout e tradução de erros.CachedMetadataGatewaypode evoluir independentemente para stale-while-revalidate ou locks.CacheKeyFactoryversiona o schema e pode ser substituído por aplicações consumidoras.- Respostas brutas evitam perda de dados quando o IBGE acrescentar campos. DTOs tipados podem ser adicionados no futuro como uma API opt-in.
As etapas de evolução, decisões e o schema completo estão em docs/architecture.md.
Para substituir a fonte de dados, registre outra implementação no container:
Testes
All versions of laravel-ibge with dependencies
illuminate/bus Version ^10.0|^11.0|^12.0
illuminate/cache Version ^10.0|^11.0|^12.0
illuminate/console Version ^10.0|^11.0|^12.0
illuminate/database Version ^10.0|^11.0|^12.0
illuminate/http Version ^10.0|^11.0|^12.0
illuminate/queue Version ^10.0|^11.0|^12.0
illuminate/support Version ^10.0|^11.0|^12.0