Março
Comunicado realizado em 18/03/2026
Baixa automática de pix para emissão instantânea de certidões no Cidadão Web
Atualmente, o sistema dependia de processos manuais ou da espera pela compensação bancária tradicional para liquidar guias pagas via Pix. Essa atualização visa integrar o Cidadão Web diretamente com as notificações do Banco do Brasil, permitindo que o pagamento seja refletido de forma síncrona e rápida no status da guia.
Implementamos a integração via webhook com o Banco do Brasil. Agora, assim que o contribuinte realiza o pagamento do Pix, o sistema recebe uma confirmação imediata, permitindo a liberação de documentos que exigem a quita ção do débito, como a Certidão Negativa de Débito (CND).
- Esta funcionalidade está disponível inicialmente apenas para o Pix do Banco do Brasil referente a guias emitidas no sistema Cidadão Web.
- A baixa automática ocorre exclusivamente no Cidadão Web para agilizar o atendimento ao cidadão. No sistema Tributos (Cloud) (administrativo), a baixa oficial continuará ocorrendo através do fluxo padrão de arquivo de retorno bancário, conforme o convênio da entidade.
- Para que o recurso funcione, a equipe técnica ou revenda deve configurar a URL do webhook no portal do banco e publicar o script de integração no sistema Tributos (Cloud).
**Configurações necessárias **
Passo 1: configuração no Sistema Tributos
Antes de ir ao portal do banco, o técnico deve preparar o ambiente no sistema Tributos (Cloud) para gerar a URL de recepção:
- Acesse o sistema Tributos (Cloud).
- Navegue até o menu de Scripts e crie um novo script.
- Insira o código padrão fornecido para a integração.
json = JSON.ler(parametros.conteudo)
URL_SERVICO = 'https://e-gov.betha.com.br/cdweb-services/rest/v1/webhook/baixa-bb'
payloadFinal = null
tipoProcessamento = (json instanceof List) ? 'REGISTRADO' : 'NAO_REGISTRADO'
switch(tipoProcessamento) {
case 'REGISTRADO':
payloadFinal = tratarPixRegistrado(json)
break
case 'NAO_REGISTRADO':
payloadFinal = tratarPixNaoRegistrado(json)
break
default:
suspender "ERRO: Formato de JSON não reconhecido! Conteúdo: ${json}"
}
enviarParaBackend(payloadFinal)
Object tratarPixNaoRegistrado(json) {
pixBruto = json.pix
listaParaPercorrer = (pixBruto instanceof List) ? pixBruto : [pixBruto]
listaPixLimpa = []
listaParaPercorrer.each { item ->
def itemReal = (item instanceof List) ? item[0] : item
pixItem = [
endToEndId: itemReal.endToEndId?.toString(),
txid: itemReal.txid?.toString(),
valor: itemReal.valor?.toString(),
chave: itemReal.chave?.toString(),
horario: itemReal.horario?.toString(),
infoPagador: itemReal.infoPagador?.toString(),
componentesValor: [
original: [
valor: itemReal.componentesValor?.original?.valor?.toString()
]
],
pagador: [
cpf: itemReal.pagador?.cpf?.toString(),
nome: itemReal.pagador?.nome?.toString()
]
]
listaPixLimpa.add(pixItem)
}
return [pix: listaPixLimpa]
}
Object tratarPixRegistrado(json) {
listaBoletoLimpa = []
json.each { item ->
def itemReal = (item instanceof List) ? item[0] : item
if (itemReal && itemReal.id) {
boletoItem = [
id: itemReal.id?.toString(),
dataRegistro: itemReal.dataRegistro?.toString(),
dataVencimento: itemReal.dataVencimento?.toString(),
valorOriginal: itemReal.valorOriginal,
valorPagoSacado: itemReal.valorPagoSacado,
numeroConvenio: itemReal.numeroConvenio,
numeroOperacao: itemReal.numeroOperacao,
codigoEstadoBaixaOperacional: itemReal.codigoEstadoBaixaOperacional,
dataLiquidacao: itemReal.dataLiquidacao?.toString(),
instituicaoLiquidacao: itemReal.instituicaoLiquidacao,
canalLiquidacao: itemReal.canalLiquidacao,
codigoModalidadeBoleto: itemReal.codigoModalidadeBoleto,
formaPagamento: itemReal.formaPagamento
]
listaBoletoLimpa.add(boletoItem)
}
}
return listaBoletoLimpa
}
void enviarParaBackend(payload) {
servico = Http.servico(URL_SERVICO);
servico.cabecalho('Content-Type', 'application/json');
servico.cabecalho('Authorization', getBearerToken());
resposta = servico.POST(payload, Http.JSON);
servico.close();
}
String getBearerToken() {
return BaseCodec.padrao64().codifica("${contextoExecucao.idDatabase}#${contextoExecucao.idEntidade}".toString()).texto()
}
- Clique na flecha ao lado do botão Executar e selecione a opção Criar webhooks.
|
|---|
- Certifique-se de que a caixa de seleção de ativação esteja marcada e defina um Limite de invocações por minuto (recomenda-se o valor de 200).
|
|---|
- Após criar, vá na aba correspondente e clique em Copiar URL.
|
|---|
Passo 2: configuração no Portal do Banco do Brasil
Com a URL copiada, as configurações devem ser feitas no painel do desenvolvedor do BB:
- Acesse o portal de aplicações do Banco do Brasil (https://www.bb.com.br/site/developers/).
- Selecione a aplicação correspondente ao Pix (ex: Pix não registrado ou API de arrecadação). Localize a seção ou "caixinha" denominada Webhook e cole a URL gerada no sistema Tributos (Cloud) no campo destinado à URL do servidor.
|
|---|
- Salve a configuração para que o banco passe a enviar as notificações de pagamento para este endereço.
Em breve, será disponibilizado um relatório específico para que a gestão possa consultar todos os pagamentos registrados via webhook.
Comunicado realizado em 10/03/2026
Novos relatórios de gestão e uso do sistema Cidadão Web
Para oferecer maior transparência e facilitar a gestão administrativa das entidades, implementamos novos relatórios no módulo de administração do Cidadão Web. Essas ferramentas permitem acompanhar de perto o volume de documentos gerados, a frequência de acesso dos contribuintes e conferir configurações importantes do sistema de forma rápida e centralizada.
Foram disponibilizados cinco novos recursos de consulta e relatório:
- Consulta de scripts cadastrados: lista as automações configuradas no sistema.
- Consulta de convênios cadastrados: exibe detalhes das contas bancárias e convênios ativos.
- Relatório de quantidade de guias emitidas: consolida o volume de guias geradas no portal.
- Relatório de acessos de contribuintes: monitora a quantidade de usuários que realizaram login no sistema.
- Totalizador de documentos: o relatório de documentos emitidos agora exibe a contagem total de registros ao final da página.
- Relatório de quantidade de guias emitidas: para garantir a agilidade do sistema, o relatório de Guias Emitidas possui um limite de processamento de 1.000 registros por consulta. Caso a sua entidade tenha um volume muito alto de emissões, utilize os filtros de hora (além da data) para refinar a busca e conseguir gerar o relatório com sucesso.
- Relatório de acessos de contribuintes: o relatório de Acessos de Contribuintes contabiliza exclusivamente os usuários que realizaram login (acesso identificado). Acessos públicos que não exigem senha não são contabilizados nesta métrica.
- Totalizador de documentos: no relatório de Documentos Emitidos, o campo Total de registros aparecerá automaticamente no rodapé da última página gerada.
Para acessar as novas funcionalidades, siga os passos abaixo:
- Acesse o menu lateral do sistema no módulo administrativo.
- Navegue até a opção Consultas ou localize o relatório desejado no Menu de Serviços.
- Selecione o relatório que deseja emitir (ex: Guias Emitidas ou Acessos Contribuintes).
|
|---|
- Caso necessário, preencha os filtros de período (data inicial e data final).
- Em casos específicos, utilize filtros como Banco, Convênio ou CPF/CNPJ.
- Clique no botão Buscar para ver os dados em tela.
- Para visualizar o documento formatado, clique no ícone da Impressora.
- Verifique a central de notificações para clicar em Visualizar assim que o documento estiver pronto.




