Consumindo APIs no PowerShell Core

Aprenda a chamar APIs públicas brasileiras (ViaCEP, IBGE e Banco Central) com PowerShell Core (pwsh) neste post direto ao ponto, que inclui um guia prático de autenticação.

Primerio GET – ViaCEP

A API do ViaCEP permite consultar um endereço a partir de um CEP (8 dígitos) e retornar o resultado em JSON. É perfeita para treinar porque não exige autenticação.

Exemplo: buscar endereço pelo CEP (01001000):

$cep = '01001000'
$url = "https://viacep.com.br/ws/$cep/json/"

$dados = Invoke-RestMethod -Uri $url -Method Get
$dados.Content | ConvertFrom-Json

Pegando só alguns campos do retorno:

"{0}, {1} - {2}/{3}" -f $dados.logradouro, $dados.bairro, $dados.localidade, $dados.uf

Consultando dados do IBGE

O IBGE publica uma API de Localidades que permite consultar regiões, estados e municípios. É uma forma muito boa de praticar consumo de JSON e filtros no PowerShell.

Listando UFs (estados):

$url = "https://servicodados.ibge.gov.br/api/v1/localidades/estados"
$ufs = Invoke-RestMethod -Uri $url -Method Get

$ufs | Select-Object id, sigla, nome | Sort-Object nome

Encontrando o RS e listando municípios do RS:

$ufs = Invoke-RestMethod "https://servicodados.ibge.gov.br/api/v1/localidades/estados"
$rs  = $ufs | Where-Object sigla -eq 'RS'

$ufId = $rs.id
$url  = "https://servicodados.ibge.gov.br/api/v1/localidades/estados/$ufId/municipios"

$municipios = Invoke-RestMethod $url
$municipios | Select-Object id, nome | Sort-Object nome | Select-Object -First 20

Série temporal do Banco Central: Selic via SGS/BCData

O Banco Central do Brasil disponibiliza dados de séries temporais via API. Você pode consultar a série 11 (Selic) em um intervalo de datas e receber JSON.

Exemplo: Selic em 2025:

$serie = 11
$dataInicial = "01/01/2025"
$dataFinal   = "31/12/2025"

$url = "https://api.bcb.gov.br/dados/serie/bcdata.sgs.$serie/dados?formato=json&dataInicial=$dataInicial&dataFinal=$dataFinal"

$selic = Invoke-RestMethod -Uri $url -Method Get
$selic | Select-Object -First 5

Conclusão

Se você aprendeu a chamar APIs com GET, ler JSON e aplicar autenticação via headers, você já está no caminho certo para automatizar integrações reais com PowerShell. A partir daqui, os próximos passos naturais são: POST/PUT com JSON, paginação e logs/retry em scripts de produção.

Referências (links citados)

·       ViaCEP (documentação e exemplos): https://viacep.com.br/

·       IBGE – API de serviço de dados (Localidades): https://servicodados.ibge.gov.br/api/docs/localidades

·       IBGE – endpoint estados: https://servicodados.ibge.gov.br/api/v1/localidades/estados

·       BCB – exemplo de consulta SGS/BCData (Série 11 – Selic): https://api.bcb.gov.br/dados/serie/bcdata.sgs.11/dados?formato=json

·       PowerShell – Invoke-RestMethod: https://learn.microsoft.com/powershell/module/microsoft.powershell.utility/invoke-restmethod

Deixe uma resposta

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.