Layout SFE / CGJ-RJ

Layout SFE/Protesto v3.0.0

Contrato JSON do Selo de Fiscalizacao Eletronico para a atribuicao Protesto de Titulos. Sucessor do XML 2.03.

2026-05-07 v3.0.0 vigente JSON Schema draft-07 Lei 9.492/1997

1. Dominio e escopo

A atribuicao Protesto de Titulos opera em tabelionatos de protesto e regulamenta a Lei 9.492/1997 (Lei do Protesto). O contrato JSON v3.0.0 substitui o XML 2.03 (Schema_Protesto_2.03.xsd) e cobre 18 tipos de ato:

  • Apresentacao de titulos (cheque, duplicata, nota promissoria, letra de cambio) e documentos de divida (sentenca, contratos, debito condominial).
  • Protocolizacao do titulo, com numeracao de controle do tabelionato.
  • Lavratura do protesto apos prazo legal sem pagamento.
  • Cancelamento (Lei 9.492/1997 art. 26).
  • Certidoes individuais e em forma de relacao (CRFPT).
  • Operacoes administrativas: complemento e alteracao de emolumentos, encerramento de livro, instrumento de protesto.

2. Decisoes arquiteturais

Aplicadas conforme SPEC generica 02_SPEC_generica_layout_sfe.md §4:

001
JSON Schema draft-07. Compatibilidade com Newtonsoft, ajv e jsonschema.
002
Enums humanizados. DUPLICATA_MERCANTIL_VENDA, CHEQUE, BALCAO: nunca 1/B.
003
Monetario como string com pattern. ^\d+\.\d{2}$. Aplica-se a valorTitulo, saldo e a todos os campos de emolumentos.
004
Discriminador tipoAto + dadosAto. via oneOf + const.
005
Schema monolitico. Um unico layout_schema.json com $defs internos.
006
Idempotencia. UUID v4 em remessa.id + header X-Idempotency-Key.
007
Erros via RFC 7807. application/problem+json.
008
Cobertura completa. Os 18 atos com secao propria neste documento.
009
HTML curado. Bootstrap 5.3.3 + Inter + JetBrains Mono.
010
Invariantes nao cobertas pelo schema documentadas em §9.2 (regras servidoras).

3. Estrutura do envelope

Forma canonica em todas as atribuicoes SFE:

{
  "$schema": "https://layouts.tjrj.jus.br/sfe/protesto/v3.0.0/layout_schema.json",
  "remessa": {
    "id": "9f3a7c1b-2e88-4a55-b6c4-5d1f5b3e8a01",    // UUID v4
    "versaoLayout": "3.0.0",
    "codigoServico": "756",                       // CNS/CGJ-RJ
    "tipoOperacao": "INCLUSAO",
    "ambiente": "PRODUCAO",
    "software": { "nome": "FUNARPEN-SGF", "versao": "2026.1.0" },
    "dataGeracao": "2026-05-07T13:21:45-03:00",
    "atos": [ /* 0..5000 atos */ ],
    "justificativasAusencia": [ /* datas sem ato */ ]
  }
}

4. Categorias de ato

Cada ato tem dadosAto.categoria que dispatcha a estrutura base:

  • ATO_SELADO — usa selo SFE ^[A-Z]{4}\d{5}$. Aplica $defs/AtoBase.
  • TRANSMISSAO_NAO_SELADA — usa CCT (mesmo formato do selo). Aplica $defs/TransmissaoBase.
  • OPERACAO — operacao administrativa sobre ato existente. Aplica $defs/OperacaoBase.

5. Estruturas reutilizaveis ($defs)

Compartilhadas entre multiplos atos:

  • AtoBase — campos comuns de ato selado (selo, aleatorio, dataPratica, indicadores eletronicos).
  • TransmissaoBase — campos comuns de transmissao CCT.
  • OperacaoBase — categoria de operacao administrativa.
  • Endereco, Documento, PessoaFisica, PessoaJuridica, Participantes.
  • AtoVinculado / AtosVinculados.
  • Emolumentos / ItemEmolumento.
  • CertidaoFormaRelacao, JustificativaAusencia.

6. Catalogo de atos

18 atos. Cada secao detalha tipoAto, categoria, campos especificos e exemplo inline. Os campos herdados aparecem implicitamente via allOf.

6.1 Protocolizacao de Titulos

TRANSMISSAO_NAO_SELADA · tipoAto: PROTOCOLIZACAO_TITULOS · $ref: #/$defs/ProtocolizacaoTitulos

Apresentacao do titulo a protesto (geralmente por banco endossatario). Pode ser via convenio (Ato Normativo Conjunto 05/2005). Cria o numero de protocolo.

CampoTipoObrig.Descricao
tipoTituloenumSIMTabela 4 CGJ-RJ (ver §10.2).
numeroTitulostring 1..25opc.Identificacao do titulo.
valorTitulomonetarioopc.Valor original.
saldomonetarioopc.Saldo a protestar.
dataVencimentodateopc.Vencimento.
conveniobooleanopc.Apresentacao por convenio.
tipoApresentacaoenumopc.BALCAO/CORREIO/INTERNET.
numeroProtocolostringopc.Protocolo do tabelionato.
participantesobjSIMApresentante e devedor.
atosVinculados[]arrayopc.Vinculos a atos previos.
emolumentosobjSIMCotacao.

6.2 Liquidacao

ATO_SELADO · LIQUIDACAO · $ref: #/$defs/Liquidacao

Liquidacao do titulo: pagamento da divida pelo devedor antes da lavratura.

CampoTipoObrig.Descricao
formaPagamentoenumSIMCHEQUE_ADMINISTRATIVO ou DEPOSITO.
atosVinculados[]arraySIMVinculo a protocolizacao.
emolumentosobjSIMGeralmente PAGAMENTO_CONVENIO/PAGO_NA_PROTOCOLIZACAO.

6.3 Sustacao

ATO_SELADO · SUSTACAO · $ref: #/$defs/Sustacao

Sustacao definitiva do protesto (geralmente por determinacao judicial).

CampoTipoObrig.Descricao
descricaoSustacaostring 1..100opc.Identificacao da determinacao judicial.
atosVinculados[]arraySIMVinculo a protocolizacao.
emolumentosobjSIMGeralmente JUSTICA_GRATUITA.

6.4 Desistencia

ATO_SELADO · DESISTENCIA · $ref: #/$defs/Desistencia

Desistencia do protesto pelo apresentante antes da lavratura.

CampoTipoObrig.Descricao
atosVinculados[]arraySIMVinculo a protocolizacao.
emolumentosobjSIMGeralmente PAGO_NA_PROTOCOLIZACAO.

6.5 Protesto (lavratura)

ATO_SELADO · PROTESTO · $ref: #/$defs/Protesto

Lavratura do protesto apos esgotado o prazo legal de intimacao sem pagamento (Lei 9.492/1997 arts. 11-13).

CampoTipoObrig.Descricao
numeroLivrostringopc.Livro do registro.
numeroFolhastringopc.Folha do registro.
atosVinculados[]arraySIMVinculo obrigatorio a protocolizacao.
emolumentosobjSIMCotacao.

6.6 Instrumento de Protesto

TRANSMISSAO_NAO_SELADA · INSTRUMENTO_PROTESTO · $ref: #/$defs/InstrumentoProtesto

Emissao do instrumento publico de protesto (Lei 9.492/1997 art. 22).

CampoTipoObrig.Descricao
numeroLivrostringopc.Livro do instrumento.
numeroFolhastringopc.Folha do instrumento.
atosVinculados[]arraySIMVinculo ao Protesto.
emolumentosobjSIMGeralmente PROVIMENTO_86_CNJ.

6.7 Cancelamento

ATO_SELADO · CANCELAMENTO · $ref: #/$defs/Cancelamento

Cancelamento do protesto (Lei 9.492/1997 art. 26).

CampoTipoObrig.Descricao
indCancelamentoenumSIMCANCELAMENTO_CONVENIO ou CANCELAMENTO_NORMAL.
atosVinculados[]arraySIMVinculo ao Protesto.
emolumentosobjSIMCotacao.

6.8 Certidao Digital em Forma de Relacao (CRFPT)

ATO_SELADO · CERTIDAO_DIGITAL_RELACAO_PROTESTO · $ref: #/$defs/CertidaoDigitalRelacaoProtesto

Certidao digital demonstrando registros e cancelamentos de protesto em determinado periodo.

CampoTipoObrig.Descricao
certidaoFormaRelacaoobjSIMdataInicio, dataFim, qtdBuscas (integer).
participantesobjopc.Pessoas pesquisadas.
emolumentosobjSIMCotacao.

6.9 Certidao (individual)

ATO_SELADO · CERTIDAO · $ref: #/$defs/Certidao

CampoTipoObrig.Descricao
tipoCertidaoenumSIMNORMAL, ESPECIAL_CADASTRO ou INTEIRO_TEOR.
qtdPaginasintegeropc.Paginas.
resultadoenumopc.POSITIVO/NEGATIVO/NEGATIVO_COM_EFEITO_POSITIVO.
numeroRegistrosintegeropc.Registros listados.
participantesobjopc.Pesquisado (max 1).

6.10 Copia de Documento Microfilmado

ATO_SELADO · COPIA_DOCUMENTO_MICROFILMADO · $ref: #/$defs/CopiaDocumentoMicrofilmado

CampoTipoObrig.Descricao
origemDocenumSIMWEBSITE ou ARQUIVO.
documentostringSIMDescricao.
qtdPaginasintegerSIMPaginas.
dataImpressaodate-timeSIM= dataPratica.
urlURIcond.Se origemDoc=WEBSITE.
nomeArquivostringcond.Se origemDoc=ARQUIVO.
formatoArquivostringcond.Se origemDoc=ARQUIVO.
tamanhoArquivointegercond.KB; se origemDoc=ARQUIVO.

6.11 Apostilamento

ATO_SELADO · APOSTILAMENTO · $ref: #/$defs/Apostilamento

Convencao da Haia / Resolucao CNJ 228/2016.

CampoTipoObrig.Descricao
documentostring 2..50SIMDescricao do documento.
apostiladorstringSIMNome do apostilador.
documentoApostiladorstringSIMDocumento do apostilador.
participantesobjSIMTitular do documento.

6.12 Encerramento de Livro

TRANSMISSAO_NAO_SELADA · ENCERRAMENTO_LIVRO · $ref: #/$defs/EncerramentoLivro

CampoTipoObrig.Descricao
livrostringSIMCodigo e numero (ex.: A-12345).
qtdTotalFolhasintegerSIMFolhas do livro.
identificacaoLivrostringSIMTexto de identificacao.
dataEncerramentodateSIMData efetiva.

6.13 Visto

ATO_SELADO · VISTO · $ref: #/$defs/Visto

CampoTipoObrig.Descricao
revalidadabooleanSIMIndica revalidacao.
participantesobjSIMTitular consultado (max 1).
atosVinculados[]arraySIMVinculo ao ato visado.

6.14 Folha Adicional Complemento

TRANSMISSAO_NAO_SELADA · FOLHA_ADICIONAL_COMPLEMENTO · $ref: #/$defs/FolhaAdicionalComplemento

CampoTipoObrig.Descricao
qtdPaginasExcedentesintegerSIMPaginas excedentes.
atosVinculados[]arraySIMVinculo a certidao.

6.15 Informacao Verbal

TRANSMISSAO_NAO_SELADA · INFORMACAO_VERBAL · $ref: #/$defs/InformacaoVerbal

CampoTipoObrig.Descricao
numeroAtostringopc.Numero do recibo.
nomestringopc.Solicitante.

6.16 Informacao Resumida

TRANSMISSAO_NAO_SELADA · INFORMACAO_RESUMIDA · $ref: #/$defs/InformacaoResumida

CampoTipoObrig.Descricao
qtdInformacoesintegerSIMQuantidade.
dataInicialdateSIMPeriodo inicial.
dataFinaldateSIMPeriodo final.
participantesobjSIMParticipantes.

6.17 Complemento de Emolumentos

TRANSMISSAO_NAO_SELADA · COMPLEMENTO_EMOLUMENTOS · $ref: #/$defs/ComplementoEmolumentos

Complemento de emolumentos sobre ato anterior; vinculo via tipoVinculo: ATO_COMPLEMENTO_EMOLUMENTOS.

6.18 Alteracao de Emolumentos

OPERACAO · ALTERACAO_EMOLUMENTOS · $ref: #/$defs/AlteracaoEmolumentos

Operacao administrativa para alterar emolumentos de ato preexistente identificado pelo selo (ou CCT). Pode integrar arquivo de Inclusao ou Alteracao; o ato alvo deve existir na base TJ.

7. Master table - atos cobertos

#tipoAtoCategoria$defStatus
1PROTOCOLIZACAO_TITULOSTRANSMISSAO_NAO_SELADAProtocolizacaoTitulosOK
2LIQUIDACAOATO_SELADOLiquidacaoOK
3SUSTACAOATO_SELADOSustacaoOK
4DESISTENCIAATO_SELADODesistenciaOK
5PROTESTOATO_SELADOProtestoOK
6INSTRUMENTO_PROTESTOTRANSMISSAO_NAO_SELADAInstrumentoProtestoOK
7CANCELAMENTOATO_SELADOCancelamentoOK
8CERTIDAO_DIGITAL_RELACAO_PROTESTOATO_SELADOCertidaoDigitalRelacaoProtestoOK
9CERTIDAOATO_SELADOCertidaoOK
10COPIA_DOCUMENTO_MICROFILMADOATO_SELADOCopiaDocumentoMicrofilmadoOK
11APOSTILAMENTOATO_SELADOApostilamentoOK
12ENCERRAMENTO_LIVROTRANSMISSAO_NAO_SELADAEncerramentoLivroOK
13VISTOATO_SELADOVistoOK
14FOLHA_ADICIONAL_COMPLEMENTOTRANSMISSAO_NAO_SELADAFolhaAdicionalComplementoOK
15INFORMACAO_VERBALTRANSMISSAO_NAO_SELADAInformacaoVerbalOK
16INFORMACAO_RESUMIDATRANSMISSAO_NAO_SELADAInformacaoResumidaOK
17COMPLEMENTO_EMOLUMENTOSTRANSMISSAO_NAO_SELADAComplementoEmolumentosOK
18ALTERACAO_EMOLUMENTOSOPERACAOAlteracaoEmolumentosOK

Cobertura: 18 / 18 = 100%.

8. Estruturas auxiliares

Detalhe completo em layout.md §8 e em layout_schema.json via $defs:

  • Endereco — logradouro, bairro, CEP (8 digitos), UF, municipio.
  • Documento — tipoDocumento (enum §10.10) + numero + dataEmissao + orgaoEmissor.
  • PessoaFisica — nome (obrig.), CPF ou justificativa, identidade, outros documentos, endereco, tipoParticipante.
  • PessoaJuridica — nome, CNPJ ou justificativa, endereco, tipoParticipante.
  • ParticipantespessoasFisicas[] + pessoasJuridicas[].
  • AtoVinculado — tipoVinculo + (selo ou CCT) + tipoSelo + dataPratica + protocolo.
  • Emolumentos — tipoCobranca + valores (string monetario) + itens.
  • ItemEmolumento — ano (integer), tabela/item/subItem (string preservada CGJ-RJ), quantidade (integer).

9. Validacao

9.1 Schema (estatico)

Rodar _build/valida.ps1. Gera _build/validacao_schema.txt e _build/validacao_exemplo.txt.

# PowerShell
cd C:\GIT\SELO2\Layouts\JSON\Protesto
& .\_build\valida.ps1

9.2 Invariantes nao cobertas pelo schema

Implementadas pelo validador SFE servidor da CGJ-RJ:

  1. Se indAtoEletronico=true → URLs e hashes obrigatorios.
  2. Se tipoCobranca em modos isentos → valores e itens devem ser suprimidos.
  3. PessoaFisica sem CPF → justificativaAusenciaCpf ou outrosDocumentos obrigatorio.
  4. PessoaJuridica sem CNPJ → justificativaAusenciaCnpj obrigatorio.
  5. CopiaDocumentoMicrofilmado: dependendo de origemDoc, campos especificos obrigatorios.
  6. dataImpressao deve ser igual a dataPratica.
  7. Selo/CCT na faixa autorizada do codigoServico.
  8. dataPratica <= remessa.dataGeracao.

10. Tabelas de dominio (XML 2.03 -> JSON 3.0.0)

10.1 tipoCobranca

Fonte: PDF Layout Protesto 2.03 §5.29 + Lei 6.281/2012 art. 2.

JSONXMLDescricao
JUSTICA_GRATUITAJGJustica gratuita; emolumentos suprimidos.
COM_COBRANCACCCobranca normal.
SEM_COBRANCASCErro material da serventia.
COM_CONVENIOCVApresentacao por convenio (ANC 05/2005).
FORCA_DE_LEIFLLei 3.350 art. 42 / Prov. 12/2009 CNGCGJ-RJ.
APRESENTACAO_PROTESTO_SENTENCAASApresentacao de protesto de sentenca.
PROVIMENTO_86_CNJPRProvimento 86/2019 CNJ.
NIHILNHNIHIL (movimento ordinario). Nunca NAO_HIPOSSUFICIENTE.
PAGAMENTO_CONVENIOPCPagamento de convenio / Prov. 86 CNJ.
PAGAMENTO_FORCA_DE_LEIPLPagamento de forca de lei.
PAGAMENTO_PROTESTO_SENTENCAPSPagamento de protesto de sentenca.
NIHIL_CONVENIONCNIHIL em caso de convenio.
NIHIL_FORCA_DE_LEINLNIHIL em caso de forca de lei.
NIHIL_PROTESTO_SENTENCANSNIHIL em caso de protesto de sentenca.
PAGO_NA_PROTOCOLIZACAOPZPago na protocolizacao. Nunca PRAZO.

10.2 tipoTitulo (Tabela 4 CGJ-RJ)

Fonte: PDF Layout Protesto 2.03 §5.4 + Tabela 4 CGJ-RJ + leis cambiarias (Lei 9.492/1997, Lei 5.474/1968, Decreto 57.663/1966, Lei 7.357/1985, Lei 8.929/1994). Codigos numericos legados sao referenciais; nomes JSON sao estaveis. Lista detalhada em layout.md §10.2.

JSONDescricao
DUPLICATA_MERCANTIL_VENDADuplicata mercantil de venda.
CHEQUECheque (Lei 7.357/1985).
NOTA_PROMISSORIANota promissoria (LUG).
LETRA_CAMBIOLetra de cambio (LUG).
SENTENCA_JUDICIALSentenca judicial.
CEDULA_PRODUTO_RURALCPR (Lei 8.929/1994).
CEDULA_CREDITO_BANCARIOCCB (Lei 10.931/2004).
DEBITO_CONDOMINIALDebito condominial (Lei 10.931/2004 art. 63).
... e mais 33 valores. Ver layout.md §10.2 para a tabela completa com codigos legados.

10.3 tipoApresentacao

JSONXMLDescricao
BALCAOBApresentacao no balcao.
CORREIOCApresentacao postal.
INTERNETIApresentacao eletronica.

10.4 tipoVinculo

JSONXMLDescricao
ATO_DISTRIBUICAODAto de distribuicao.
ATO_PROTOCOLIZACAOZAto de protocolizacao.
ATO_PROTESTOSAto de protesto.
ATO_CERTIDAOCAto de certidao.
ATO_COM_ERRO_MATERIALEAto com erro material (corrigido).
ATO_COMPLEMENTO_EMOLUMENTOSMComplemento de emolumentos.

10.5 tipoSelo

JSONXMLDescricao
FISICOFAdesivo Casa da Moeda.
ELETRONICOESFE.
DIGITALDSelo digital de transmissao.

10.6 formaPagamento (Liquidacao)

JSONXML
CHEQUE_ADMINISTRATIVO1
DEPOSITO2

10.7 indCancelamento

JSONXML
CANCELAMENTO_CONVENIO1
CANCELAMENTO_NORMAL2

10.8 tipoCertidao / resultado

JSON tipoCertidaoXMLJSON resultadoXML
NORMALNPOSITIVOP
ESPECIAL_CADASTROENEGATIVON
INTEIRO_TEORINEGATIVO_COM_EFEITO_POSITIVOE

10.9 origemDoc

JSONXML
WEBSITEW
ARQUIVOA

10.10 tipoDocumento (em Documento)

Fonte: PDF Layout Protesto 2.03 §5.25 + Lei 6.015/1973. Compartilhado entre todas as atribuicoes SFE.

JSONXMLJSONXML
NIT1CARTEIRA_MARITIMO8
RIC2DOCUMENTO_ESTRANGEIRO9
RNE3CERTIDAO_NASCIMENTO10
TITULO_ELEITOR4CERTIFICADO_RESERVISTA11
PASSAPORTE5NAO_IDENTIFICADO12
CNH6CERTIDAO_CASAMENTO13
CTPS7  

10.11 justificativaAusenciaCpf / justificativaAusenciaCnpj

JSON CPFXMLJSON CNPJXML
NAO_POSSUI1NAO_POSSUI1
NAO_DECLARADO2NAO_DECLARADO2
ESTRANGEIRO3  

10.12 tipoOperacao / ambiente

JSONXML
INCLUSAOI
ALTERACAOA
HOMOLOGACAOHML
PRODUCAOPRD

11. Migracao XML 2.03 -> JSON 3.0.0

Mapeamento completo de cada atributo XSD para o caminho JSON em layout.md §11. Aqui, exemplo lado a lado de Cancelamento:

11.1 XML 2.03 (legado)

<Cancelamento DataPratica="10/10/2026" Selo="EGGV34445"
              Aleatorio="MNJ" NumeroRecibo="202644136"
              IndCancelamento="1" >
  <AtosVinculados>
    <AtoVinculado TipoVinculo="S" Selo="EUJM00006"
                  TipoSelo="E" DataPratica="06/10/2026" />
  </AtosVinculados>
  <Emolumentos TipoCobranca="CC"
               ValorTotalEmolumentos="160.50" ... />
</Cancelamento>

11.2 JSON 3.0.0 (equivalente)

{
  "tipoAto": "CANCELAMENTO",
  "dadosAto": {
    "categoria": "ATO_SELADO",
    "dataPratica": "2026-10-10",
    "selo": "EGGV34445",
    "aleatorio": "MNJ",
    "numeroRecibo": "202644136",
    "indCancelamento": "CANCELAMENTO_CONVENIO",
    "atosVinculados": [{
      "tipoVinculo": "ATO_PROTESTO",
      "selo": "EUJM00006",
      "tipoSelo": "ELETRONICO",
      "dataPratica": "2026-10-06"
    }],
    "emolumentos": {
      "tipoCobranca": "COM_COBRANCA",
      "valorTotalEmolumentos": "160.50"
    }
  }
}

12. Historico

VersaoDataMudanca
3.0.02026-05-07Versao inicial JSON. Sucessora de Schema_Protesto_2.03.xsd. 18 atos cobertos; ADRs 001..010; meta-schema OK; exemplo valido.

13. Referencias

  • Lei 9.492/1997 — Lei do Protesto.
  • Lei 5.474/1968 — Duplicatas.
  • Decreto 57.663/1966 — LUG (letra de cambio e nota promissoria).
  • Lei 7.357/1985 — Cheque.
  • Lei 8.929/1994 — CPR.
  • Lei 10.931/2004 — CCB / debito condominial.
  • Lei 6.281/2012 (RJ) — Emolumentos extrajudiciais.
  • Lei 9.873/2022 (RJ) — SFE.
  • LC 175/2020 — ISS.
  • Provimento 12/2009 CNGCGJ-RJ, Provimento 86/2019 CNJ, Resolucao CNJ 228/2016 (apostilamento).
  • JSON Schema draft-07; ISO 8601; RFC 7807.