Pular para o conteúdo principal

Serviço Bacen

Veja também

Confira a documentação do Sisbajud no Docs PDPJ.

Introdução

Em dezembro de 2019, foi firmado o Acordo de Cooperação Técnica nº 41/2019 entre o Conselho Nacional de Justiça (CNJ), o Banco Central e a Procuradoria da Fazenda Nacional (PGFN), visando o desenvolvimento de novo sistema para substituir o BacenJud e aprimorar a forma do Poder Judiciário transmitir suas ordens às instituições financeiras.

Visando cumprir os comandos constitucionais de razoabilidade duração do processo e eficiência da prestação jurisdicional, bem como reduzir os riscos na tramitação física de documentos contendo informações sigilosas, foi desenvolvido o Sistema de Busca de Ativos do Poder Judiciário (SISBAJUD).

Integração

O bacen-service foi criado com o objetivo de abstrair toda complexidade de comunicação com a API do SISBAJUD, além de realizar o processo de desdobramento (envio de ações de desbloqueio e/ou transferência de valores bloqueados) e notificar o processo judicial (por meio do mni-client-service) de maneira automática.

Diagrama de integração

Imagem de integração do serviço bacen

Como funciona

Por meio de sua API é possível executar diversas operações relacionadas a ordem judicial de bloqueio de valores, como abertura / fechamento de ordem de bloqueio, transferência / desbloqueio de valores bloqueados, entrega de documento (certidão) e solicitação de logs.

Primeiramente, é necessário configurar o serviço. Essa configuração é específica para cada pessoa (CPF) e permite o cadastro da senha de acesso ao CNJ Corporativo, dos dados para realização do desdobramento e do mapeamento de varas.

Após abertura da ordem de bloqueio e posterior identificação, pelo bacen-service, das respostas, será realizado o desdobramento e o envio de uma certidão. Esta certidão pode ser do tipo:

  • Resposta negativa: Não houve resposta ou não há saldo positivo.
  • Desbloqueado: O valor bloqueado não atingiu o valor mínimo de acordo com os critérios previamente configurados.
  • Transferido parcialmente: O valor bloqueado não atingiu o valor solicitado.
  • Transferido: O valor bloqueado atingiu (ou ultrapassou) o valor solicitado. Caso o valor bloqueado supere o valor solicitado, o bacen-service enviará ações de desbloqueio dos valores excedentes.

PJe

O PJe tem como dependência a biblioteca api-client. Esta contém o Seam component BacenRestClient, o qual disponibiliza métodos para comunicação com a API do bacen-service.

Configuração

Cadastrar fluxo processual

Um exemplo de fluxo pode ser obtido aqui. Neste exemplo existem um fluxo principal (Bacen) e fluxos auxiliares (Bacen Resposta Negativa, Bacen Desbloqueado, Bacen Transferido Parcialmente, Bacen Transferido, Bacen Recibo, Bacen Aguardando Transferência e Bacen Desbloqueado Usuário) responsáveis por sinalizar o fluxo principal quando do recebimento de uma certidão.

Associar fluxo aos novos documentos

Foram criados 7 tipos de documentos processuais. Cada um corresponde a uma certidão que o serviço bacen irá enviar ao PJe. Para cada um desses tipos de documento deve-se associar um fluxo, da seguinte forma:

  • Documento de código 99801 → Fluxo Bacen Resposta Negativa;
  • Documento de código 99802 → Fluxo Bacen Desbloqueado;
  • Documento de código 99803 → Fluxo Bacen Transferido Parcialmente;
  • Documento de código 99804 → Fluxo Bacen Transferido;
  • Documento de código 99806 → Fluxo Bacen Recibo;
  • Documento de código 99807 → Fluxo Bacen Aguardando Transferência;
  • Documento de código 99808 → Fluxo Bacen Desbloqueado Usuário.

Configurar o serviço

A tela de configuração está disponível em ConfiguraçãoServiçosBacenConfiguração.

Execução

ATENÇÃO!

Somente será dado acesso ao código fonte deste projeto àqueles que efetivamente irão contribuir com o seu desenvolvimento. Portanto, é necessário haver pelo menos uma demanda aberta no sistema de controle de demandas (Jira) para o projeto PJEBCN.

Configuração da aplicação

O bacen-service pode ser configurado de acordo com as seguintes variáveis de ambiente:

VariávelValor padrãoDescrição
CRON_EXPRESSION-Indica a periodicidade com a qual o sistema irá verificar a resposta da ordem judicial no sistema SISBAJUD.
DB_DRIVERorg.h2.DriverDriver do banco de dados.
DB_PASSWORDSenha do usuário do banco de dados.
DB_URLjdbc:h2:mem:bacen;DB_CLOSE_ON_EXIT=FALSEURL do banco de dados.
DB_USERsaUsuário do banco de dados.
EUREKA_CLIENT_ENABLEDtrueIndicativo de que o serviço deve ou não se registrar no service discovery.
EUREKA_SERVER_DEFAULT_ZONEhttp://localhost:8761/eurekaURL do service discovery.
GATEWAY_URLhttp://localhost:8180URL do gateway.
HOST_SISBAJUDHost da API de serviços do SISBAJUD.
PASSWORD_CRYPTO_KEYChave de 128 bits codificada em Base64 para encriptar a senha do usuário.
SERVICE_PORT8585Porta do serviço.
SSO_AUTH_SERVER_URLhttp://localhost:9180/authURL de autenticação do serviço de SSO (keycloak).
SSO_CLIENT_ID_SISBAJUDIdentificador da aplicação sisbajud-api no serviço de SSO (keycloak).
SSO_CLIENT_SECRET_SISBAJUDChave da aplicação sisbajud-api no serviço de SSO (keycloak).
SSO_REALMpjeDomínio da política de segurança configurado no serviço de SSO (keycloak).
SSO_RESOURCEbacen-serviceO identificador do cliente (client_id) no serviço de SSO (keycloak).

Docker

Antes de começar

Necessário ter o Docker instalado.

Inicialize a aplicação

docker container run --rm --name bacen -it -p 8585:8585 \
-e EUREKA_CLIENT_ENABLED=false \
-e HOST_SISBAJUD=https://sisbajudh.cnj.jus.br \
-e LOGGING_LEVEL_BR_JUS_PJE=DEBUG \
registry.cnj.jus.br/pje2/pje2-servicos/bacen:latest

Principais tecnologias utilizadas

Linguagem de programação

Java versão 8

Framework

SpringBoot 2

Armazenamento dos dados

Banco relacional H2 ou PostgreSQL com enconding UTF-8.

Comunidade

Dúvidas

Faça parte da nossa comunidade no RocketChat! Acesse https://rocketchat.cloud.pje.jus.br/channel/bacen.

Requisição de melhorias e correções de defeitos

Pode-se abrir uma demanda no sistema Jira para o projeto PJEBCN.