1. 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).

2. 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
Figure 1. Diagrama de integração

3. 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.

4. 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.

4.1. Configuração

  1. 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.

  2. 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

  3. Configurar o serviço

    A tela de configuração está disponível em Configuração → Serviços → Bacen → Configuração.

5. Execução

5.1. Configuração da aplicação

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

Variável Descrição Valor padrão

CRON_EXPRESSION

Indica a periodicidade com a qual o sistema irá verificar a resposta da ordem judicial no sistema SISBAJUD

-

DB_DRIVER

Driver do banco de dados

org.h2.Driver

DB_PASSWORD

Senha do usuário do banco de dados

DB_URL

URL do banco de dados

jdbc:h2:mem:bacen;DB_CLOSE_ON_EXIT=FALSE

DB_USER

Usuário do banco de dados

sa

EUREKA_CLIENT_ENABLED

Indicativo de que o serviço deve ou não se registrar no service discovery

true

EUREKA_SERVER_DEFAULT_ZONE

URL do service discovery

http://localhost:8761/eureka

GATEWAY_URL

URL do gateway

http://localhost:8180

HOST_SISBAJUD

Host da API de serviços do Sisbajud

PASSWORD_CRYPTO_KEY

Chave de 128 bits codificada em Base64 para encriptar a senha do usuário

SERVICE_PORT

Porta do serviço

8585

SSO_AUTH_SERVER_URL

URL de autenticação do serviço de SSO (keycloak)

http://localhost:9180/auth

SSO_CLIENT_ID_SISBAJUD

Identificador da aplicação sisbajud-api no serviço de SSO (keycloak)

SSO_CLIENT_SECRET_SISBAJUD

Chave da aplicação sisbajud-api no serviço de SSO (keycloak)

SSO_REALM

Domínio da política de segurança configurado no serviço de SSO (keycloak)

pje

SSO_RESOURCE

O identificador do cliente (client-id) no serviço de SSO (keycloak)

bacen-service

5.2. Docker

Antes de começar

Necessário ter o Docker instalado.

Inicie a aplicação
$ docker container run --rm --name bacen -it -p 8585:8585 \
-e HOST_SISBAJUD=https://sisbajudh.cnj.jus.br \
-e LOGGING_LEVEL_BR_JUS_PJE=DEBUG \
registry.cnj.jus.br/pje2/pje2-servicos/bacen:latest
Acesso à base de dados H2
http://localhost:8585/h2-console

6. Principais tecnologias utilizadas

6.1. Linguagem de programação

Java versão 8

6.2. Framework(s)

SpringBoot 2

6.3. Armazenamento dos dados

Banco relacional H2 ou PostgreSQL enconding UTF-8

7. Comunidade

7.1. Dúvidas

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

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

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