CGJ-RJ · FUNARPEN-RJ · LOGON

Layout SFE RCPN v3.0.0 · JSON

Contrato JSON moderno para transmissão de atos do Selo de Fiscalização Eletrônico na atribuição Registro Civil das Pessoas Naturais. Substitui o XML 2.09. Tipagem forte, ISO 8601, enums humanizados, validável por JSON Schema draft-07.

v3.0.0 JSON Schema draft-07 UTF-8 sem BOM ISO 8601 · -03:00 37 atos 2026-05-07

1Visão geral

Este layout define o contrato de dados JSON para transmissão dos atos lavrados pelos serviços extrajudiciais de Registro Civil das Pessoas Naturais (RCPN) ao Selo de Fiscalização Eletrônico (SFE) da Corregedoria-Geral da Justiça do Estado do Rio de Janeiro. Substitui o layout XML 2.09 (Schema_RCPN_2.09.xsd) sem perda de campos do domínio.

1.1. O que muda em relação ao XML 2.09

AspectoXML 2.09JSON 3.0.0
EncodingISO-8859-1UTF-8 sem BOM
Datasdd/mm/aaaaISO 8601 (YYYY-MM-DD)
Data-horadd/mm/aaaa HH:MM:SSISO 8601 com offset (...T13:21:45-03:00)
Booleanos"S" / "N"true / false
Decimal monetárioxsd:decimalstring com pattern ^\d+\.\d{2}$
Códigos de domínio"1", "JG", "NH"enums humanizados (JUSTICA_GRATUITA, NIHIL, …)
Discriminaçãonome do elementotipoAto + dadosAto
Identificadornumérico curtoUUID v4
ValidaçãoXSDJSON Schema draft-07
Transmissãoarquivoarquivo ou API REST

1.2. Princípios de modelagem

  1. Tipagem forte de verdade. Numéricos são integer com minimum/maximum; monetários são string com pattern; datas são ISO 8601; booleanos são reais.
  2. Enums humanizados. Quem nunca leu o XSD entende o valor pelo nome (DNV, JUSTICA_GRATUITA, UNIDADE_DE_SAUDE).
  3. Discriminação explícita via oneOf + const em tipoAto.
  4. Contrato fechado: additionalProperties:false em 100% dos objetos.
  5. Reuso via $ref sobre $defs.
  6. Convenção: camelCase para propriedades, SCREAMING_SNAKE_CASE para enums, PascalCase para $defs; nomes em português.

2Versionamento e compatibilidade

Versão atual: 3.0.0. Identificada em remessa.versaoLayout.

TipoSintaxeO que muda
MajorX.0.0Mudança incompatível.
Minorx.Y.0Adição retrocompatível.
Patchx.y.ZCorreção textual sem mudança de validação.

Janela de transição ao publicar nova major: 180 dias de coexistência. O XML 2.09 continua aceito durante a janela; novas integrações entram exclusivamente em JSON.

3Transmissão

3.1. Por arquivo

ItemValor
EncodingUTF-8 sem BOM
Indentação2 espaços (recomendado) ou minified
Tamanho máximo32 MB
Atos por remessa5.000 (máximo)
Nome do arquivo<SERV>_<AAAAMMDD>_RCPN_<I|A>_<HHMMSS>.json
Exemplo1456_20260506_RCPN_I_132145.json

3.2. Por API REST

ItemValor
Base homologaçãohttps://api-hml.cgj.tjrj.jus.br/sfe/v3
Base produçãohttps://api.cgj.tjrj.jus.br/sfe/v3
POST /rcpn/remessasSubmete remessa (INCLUSAO). Resposta 202 Accepted.
PATCH /rcpn/remessas/{id}Submete retificação (ALTERACAO).
GET /rcpn/remessas/{id}Consulta status.
Content-Typeapplication/json; charset=utf-8
AutenticaçãoOAuth 2.0, JWT em Authorization: Bearer ...
IdempotênciaX-Idempotency-Key: <remessa.id>
Identificação do serviçoX-Cod-Servico: <codigoServico>

3.3. Códigos HTTP

CódigoSignificado
202Remessa aceita para processamento assíncrono.
400JSON malformado ou viola schema.
401Token ausente/expirado.
403Serviço não autorizado.
409id já recebido com payload diferente.
422Schema OK, regra de negócio falhou.
503Falha temporária.

4Estrutura do envelope

4.1. Forma canônica

{
  "$schema": "https://layouts.tjrj.jus.br/sfe/rcpn/v3.0.0/layout_schema.json",
  "remessa": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "versaoLayout": "3.0.0",
    "codigoServico": "7555",
    "tipoOperacao": "INCLUSAO",
    "ambiente": "PRODUCAO",
    "software": { "nome": "FUNARPEN-SGF", "versao": "2026.1.0" },
    "dataGeracao": "2026-05-07T13:21:45-03:00",
    "atos": [ /* 0..5000 */ ],
    "justificativasAusencia": [ /* opcional */ ]
  }
}

4.2. Tabela de campos

CampoTipoObrig.Formato/ValidaçãoDescrição
$schemastringopcURIURL canônica.
remessa.idstringreqUUID v4Idempotência.
remessa.versaoLayoutstringreqsemver3.0.0.
remessa.codigoServicostringreqregex ^\d{1,5}$Serviço CGJ-RJ.
remessa.tipoOperacaoenumreqINCLUSAO/ALTERACAOOperação.
remessa.ambienteenumreqHOMOLOGACAO/PRODUCAO
remessa.softwareobjectreq{nome, versao}Identificação do emissor.
remessa.dataGeracaostringreqdate-time ISO 8601 + offsetInstante de geração.
remessa.atosarrayopcmaxItems 5000
remessa.justificativasAusenciaarrayopcDatas sem ato.

4.3. Discriminação dos atos

Cada item de remessa.atos[] tem dois campos no nível superior:

{ "tipoAto": "REGISTRO_NASCIMENTO", "dadosAto": { /* payload */ } }

Schema dispatcha via oneOf com const no tipoAto.

5Atos suportados

Catálogo dos 37 atos. Cada um tem seção dedicada em §6.

#tipoAtoCategoria$ref
1REGISTRO_NASCIMENTOSeladoRegistroNascimento
2REGISTRO_TRANSCRICAO_NASCIMENTOSeladoRegistroTranscricaoNascimento
3CERTIDAO_NASCIMENTOSeladoCertidaoNascimento
4AVERBACAO_NASCIMENTOSeladoAverbacaoNascimento
5PROCESSO_PATERNIDADE_PROPRIO_SERVICOSeladoProcessoPaternidadePS
6AVERIGUACAO_OFICIOSA_PATERNIDADETransmissãoAveriguacaoOficiosaPaternidade
7PROCESSO_PATERNIDADE_OUTRO_SERVICOSeladoProcessoPaternidadeOS
8HABILITACAO_CASAMENTOSeladoHabilitacaoCasamento
9JUIZ_PAZTransmissãoJuizPaz
10CERTIDAO_HABILITACAO_CASAMENTOSeladoCertidaoHabilitacaoCasamento
11REGISTRO_CASAMENTOSeladoRegistroCasamento
12TRANSCRICAO_CASAMENTOSeladoTranscricaoCasamento
13CERTIDAO_CASAMENTOSeladoCertidaoCasamento
14AVERBACAO_CASAMENTOSeladoAverbacaoCasamento
15REGISTRO_OBITOSeladoRegistroObito
16CERTIDAO_OBITOSeladoCertidaoObito
17AVERBACAO_OBITOSeladoAverbacaoObito
18REGISTRO_EDITAL_PROCLAMASTransmissãoRegistroEditalProclamas
19CERTIDAO_EDITAL_PROCLAMASSeladoCertidaoEditalProclamas
20PROCESSO_ADMINISTRATIVOSeladoProcessoAdministrativo
21CERTIDAO_CRCSeladoCertidaoCRC
22CERTIDAO_CRC_NACIONALSeladoCertidaoCRCNacional
23REGISTRO_LIVRO_ESeladoRegistroLivroE
24CERTIDAO_LIVRO_ESeladoCertidaoLivroE
25AVERBACAO_LIVRO_ESeladoAverbacaoLivroE
26CERTIDAO_GENERICASeladoCertidaoGenerica
27VISTOSeladoVisto
28FOLHA_ADICIONAL_COMPLEMENTOTransmissãoFolhaAdicionalComplemento
29INFORMACAO_VERBALTransmissãoInformacaoVerbal
30COMPLEMENTO_EMOLUMENTOSTransmissãoComplementoEmolumentos
31ALTERACAO_EMOLUMENTOSOperaçãoAlteracaoEmolumentos
32ALTERACAO_URL_ATO_ELETRONICOOperaçãoAlteracaoUrlAtoEletronico
33MATERIALIZACAO_ATOS_DECISORIOS_FESeladoMaterializacaoAtosDecisoriosFE
34APOSTILAMENTOSeladoApostilamento
35ENCERRAMENTO_LIVROTransmissãoEncerramentoLivro
36DECLARATORIO_UNIAO_ESTAVELSeladoDeclaratorioUniaoEstavel
37DISSOLUCAO_UNIAO_ESTAVELSeladoDissolucaoUniaoEstavel

6Definição dos atos

Cada ato tem subseção dedicada com tabela de campos específicos, regras de negócio e exemplo JSON. Para campos herdados de AtoBase ou TransmissaoBase, ver §7.

Convenções da coluna Obrigatório: req obrigatório · opc opcional · cond condicional.

6.1. Registro de Nascimento

tipoAto: REGISTRO_NASCIMENTO · Categoria: ATO_SELADO · $ref: #/$defs/RegistroNascimento · Substitui XML 2.09: RegistroNascimento.

Lavra do termo de nascimento no Livro A. Lei 6.015/1973 art. 50.

CampoTipoObrig.FormatoDescrição
tipoDocumentoenumreqTabela 15Origem do registro.
numeroDocumentostringopcmaxLength 25
protocoloConsultaDNVstringcondmaxLength 25Obrigatório se tipoDocumento=DNV.
numeroRgAtribuidostringopc
numeroGemeosintegeropc0..9
localenumopcTabela 31Local do nascimento.
horaNascimentostringopcHH:MM
nascidoPessoareq
testemunhasPessoa[]condminItems 1Se tipoDocumento=TESTEMUNHAS.
impressosSegurancaImpressoSeguranca[]opc
emolumentosEmolumentosreq

Regras de negócio

  • Se tipoDocumento=DNVprotocoloConsultaDNV obrigatório.
  • Se tipoDocumento=TESTEMUNHAStestemunhas obrigatório.
  • Registro gratuito por força de lei (Lei 9.534/1997).

Exemplo

{
  "tipoAto": "REGISTRO_NASCIMENTO",
  "dadosAto": {
    "categoria": "ATO_SELADO",
    "dataPratica": "2026-05-06",
    "selo": "EABC12345",
    "aleatorio": "KRT",
    "livro": "A-12345", "folha": "10", "termo": 15,
    "tipoLivro": "1", "ordemJudicial": false,
    "tipoDocumento": "DNV",
    "numeroDocumento": "10852258521",
    "protocoloConsultaDNV": "DNPW-00000146",
    "local": "UNIDADE_DE_SAUDE",
    "nascido": { "nome": "ALICE GOMES DA SILVA", "sexo": "FEMININO", "dataNascimento": "2026-05-01" },
    "emolumentos": { "tipoCobranca": "JUSTICA_GRATUITA", "hipossuficiente": false }
  }
}

6.2. Registro de Transcrição de Nascimento

tipoAto: REGISTRO_TRANSCRICAO_NASCIMENTO · Selado · $ref: RegistroTranscricaoNascimento.

Transcrição em Livro A de nascimento ocorrido no exterior, em RTD ou via processo judicial. CNJ Provimento 21/2012.

CampoTipoObrig.Descrição
descricaoTranscricaoDescricaoTranscricaoreqOrigem.
nascidoPessoareq
emolumentosEmolumentosreq

6.3. Certidão de Nascimento

tipoAto: CERTIDAO_NASCIMENTO · Selado · $ref: CertidaoNascimento.

Certidão em breve relato, transcrição ou inteiro teor. Substitui TipoAto XML RCN/RCTN/RCUI.

CampoTipoObrig.Descrição
tipoCertidaoenumreqCERTIDAO_NASCIMENTO/CERTIDAO_TRANSCRICAO_NASCIMENTO/CERTIDAO_INTEIRO_TEOR_NASCIMENTO.
interligacaobooleanreq
inteiroTeorbooleanreq
nascidoPessoareq
emolumentosEmolumentosreq

6.4. Averbação de Nascimento

tipoAto: AVERBACAO_NASCIMENTO · Selado · $ref: AverbacaoNascimento.

Averbação à margem do nascimento (reconhecimento de paternidade, adoção, alteração de nome, retificação, cancelamento, destituição do poder familiar).

CampoTipoObrig.Descrição
tipoAverbacaoAtoenumreqAVERBACAO_NASCIMENTO/AVERBACAO_TRANSCRICAO_NASCIMENTO.
tipoAverbacaoenumreqTabela 4 (N1..N10).
nascidoPessoareq
atosVinculadosAtoVinculado[]condReconhecimento de paternidade.
emolumentosEmolumentosreq

6.5. Processo de Paternidade no Próprio Serviço

tipoAto: PROCESSO_PATERNIDADE_PROPRIO_SERVICO · Selado · $ref: ProcessoPaternidadePS. CNJ Provimento 16/2012. Reconhecimento gratuito.

6.6. Averiguação Oficiosa de Paternidade

tipoAto: AVERIGUACAO_OFICIOSA_PATERNIDADE · Transmissão · $ref: AveriguacaoOficiosaPaternidade. Lei 8.560/1992 art. 2º. Campo-chave: indicacaoPaternidade (boolean).

6.7. Processo de Paternidade em Outro Serviço

tipoAto: PROCESSO_PATERNIDADE_OUTRO_SERVICO · Selado · $ref: ProcessoPaternidadeOS. Campos: codigoServico, nomeServicoOriginal, estadoServicoOriginal + genitor[].

6.8. Habilitação de Casamento

tipoAto: HABILITACAO_CASAMENTO · Selado · $ref: HabilitacaoCasamento. Lei 6.015/1973 art. 67. Campos: processoHabilitacao, conversaoUniaoEstavel, separacaoObrigatoriaBens, conjuges[2].

6.9. Designação de Juiz de Paz

tipoAto: JUIZ_PAZ · Transmissão · $ref: JuizPaz. Vincula a habilitação de casamento via atosVinculados.

6.10. Certidão de Habilitação de Casamento

tipoAto: CERTIDAO_HABILITACAO_CASAMENTO · Selado · $ref: CertidaoHabilitacaoCasamento. Vincula à habilitação.

6.11. Registro de Casamento

tipoAto: REGISTRO_CASAMENTO · Selado · $ref: RegistroCasamento. Lei 6.015/1973 art. 70.

CampoTipoObrig.Descrição
dataCasamentodatereq
tipoCelebranteenumreqTabela 13.
tipoUniaoenumreqHETEROAFETIVA/HOMOAFETIVA.
tipoCasamentoenumreqTabela 7.
regimeCasamentoenumopcTabela 8.
conversaoUniaoEstavelbooleanreq
conjugesPessoa[2]req

6.12. Transcrição de Casamento

Casamento celebrado no exterior, RTD ou via processo. $ref: TranscricaoCasamento.

6.13. Certidão de Casamento

$ref: CertidaoCasamento. tipoCertidao: CERTIDAO_CASAMENTO/CERTIDAO_TRANSCRICAO_CASAMENTO.

6.14. Averbação de Casamento

$ref: AverbacaoCasamento. Tipos: divórcio, separação, restabelecimento, anulação, alteração de regime/nome, retificação, outros (Tabela 5).

6.15. Registro de Óbito

tipoAto: REGISTRO_OBITO · Selado · $ref: RegistroObito. Lei 6.015/1973 art. 77.

CampoTipoObrig.Descrição
dataObitodatereq
tipoLocalObitoenumopcTabela 9 (UNIDADE_DE_SAUDE/...).
caracteristicaenumreqINDIGENTE/MENOR/NATIMORTO/MAIOR.
tipoMorteenumopcNATURAL/VIOLENTO.
corPeleenumopcTabela 12.
tipoDocumentoenumreqTabela 16.
protocoloConsultaObitostringcondSe tipoDocumento=DECLARACAO_OBITO.
falecidoPessoaopc
declaranteDeclaranteopc
emolumentosEmolumentosreq

6.16. Certidão de Óbito

$ref: CertidaoObito. tipoCertidao: CERTIDAO_OBITO/CERTIDAO_TRANSCRICAO_OBITO/CERTIDAO_INTEIRO_TEOR_OBITO.

6.17. Averbação de Óbito

$ref: AverbacaoObito. Tabela 6 (O1..O5).

6.18. Registro de Edital de Proclamas

Transmissão. $ref: RegistroEditalProclamas. Lei 6.015/1973 art. 67.

6.19. Certidão de Edital de Proclamas

Selado. $ref: CertidaoEditalProclamas.

6.20. Processo Administrativo

Selado. $ref: ProcessoAdministrativo. tipoRegistro: P1..P5, P7..P9 (Tabela 27).

6.21. Certidão CRC

Selado. $ref: CertidaoCRC. Tabela 26 (CN/CO/CC/...).

6.22. Certidão CRC Nacional

Selado. $ref: CertidaoCRCNacional. CNJ Provimento 46/2015.

6.23. Registro no Livro E

Selado. $ref: RegistroLivroE. tipoRegistro: emancipação, interdição, ausência, divórcio extrajudicial, opção de nacionalidade, tutela, etc. (Tabela 25).

6.24. Certidão do Livro E

Selado. $ref: CertidaoLivroE.

6.25. Averbação no Livro E

Selado. $ref: AverbacaoLivroE.

6.26. Certidão Genérica

Selado. $ref: CertidaoGenerica. Tabela 28 (G1..G7). Campo negativa boolean.

6.27. Visto em Habilitação

Selado. $ref: Visto. Campo revalidada boolean.

6.28. Folha Adicional / Complemento

Transmissão. $ref: FolhaAdicionalComplemento. Vincula atoOriginal.

6.29. Informação Verbal

Transmissão. $ref: InformacaoVerbal. Campos: numeroAto, nome.

6.30. Complemento de Emolumentos

Transmissão. $ref: ComplementoEmolumentos.

6.31. Alteração de Emolumentos

Operação. $ref: AlteracaoEmolumentos. Identifica o ato pelo selo.

6.32. Alteração de URL do Ato Eletrônico

Operação. $ref: AlteracaoUrlAtoEletronico.

6.33. Materialização de Atos Decisórios FE

Selado. $ref: MaterializacaoAtosDecisoriosFE. Campos: origemDoc, varaInfanciaJuventudeIdoso, qtdTotalFolhas, dataImpressao, url, nomeArquivo, formatoArquivo, tamanhoArquivo.

6.34. Apostilamento

Selado. $ref: Apostilamento. CNJ Resolução 228/2016.

6.35. Encerramento de Livro

Transmissão. $ref: EncerramentoLivro.

6.36. Declaratório de União Estável

Selado. $ref: DeclaratorioUniaoEstavel. CNJ Provimento 37/2014. Campo homoafetiva boolean.

6.37. Dissolução de União Estável

Selado. $ref: DissolucaoUniaoEstavel. Campos decisaoJudicial, partilhaBens, homoafetiva booleans.

A documentação detalhada com todos os campos e exemplos JSON inline para cada ato está em layout.md §6.1 a §6.37.

7Estruturas reutilizáveis ($defs)

Componentes reaproveitados via $ref. Todas com additionalProperties:false, required explícito, title + description.

$defPropósito
AtoBaseComposição (allOf) em todo ato selado: categoria, dataPratica, selo, aleatorio, livro/folha/termo, matriculaNacional, tipoLivro, ordemJudicial, numeroProcessoJudicial, dataSentencaDecisao, observacoes, indCertidaoEletronica, indAtoEletronico, URLs/hashes, atoOriginal, atoReferencia.
TransmissaoBaseComposição em transmissões: cct em vez de selo, mais URLs/hashes opcionais.
PessoaEstrutura base para nascido, cônjuge, falecido, declarante, participante, testemunha, convivente, patrono, consultado.
GenitorPessoa com tipoFiliacao + progenitores[].
DeclarantePessoa com tipoDeclarante obrigatório.
Enderecologradouro, numeroLogradouro, bairro, complementoLogradouro, codigoIbgeMunicipio.
EmolumentostipoCobranca, hipossuficiente, valores monetários, itens[]. Suprime valores quando JUSTICA_GRATUITA ou SEM_COBRANCA.
ItemEmolumentoLinha de composição: ano, tabela, item, subItem, quantidade, complemento, excecao.
AtoVinculadoVincula este ato a outro ato selado/transmitido. tipoVinculo humanizado (Tabela 18).
ImpressoSegurancaPapel da Casa da Moeda: dataUtilizacao, numeroSerie, indSegundaVia.
DescricaoTranscricaoOrigem da transcrição (consular/RTD/processo).
BeneficioPrevidenciarionumeroBeneficio.
ReferenciaAtoAgrupa codigoServico+selo+aleatorio (atoOriginal/atoReferencia).
DocumentoItem de outrosDocumentos[]: tipoDocumento, numeroDocumento, dataEmissao.
FiliacaoArray de Genitor.
JustificativaAusenciadata + motivo opcional.

Tabelas de campos completas em layout.md §7.

8Tabelas de domínio

32 tabelas. Cada enum do schema tem entrada nesta seção, com fonte citada. Sem ⚠️ ver PDF.

8.3. tipoCobranca

JSONXML legadoDescrição
JUSTICA_GRATUITAJGGratuidade legal. Suprime valores e itens.
COM_COBRANCACCCobrança normal.
SEM_COBRANCASCSem cobrança por especificidade legal.
NIHILNHSem emolumentos a recolher.
PAGO_NA_PROTOCOLIZACAOPZRecolhimento já feito na protocolização.

8.4. tipoAverbacao (Nascimento)

JSONXMLDescrição
RECONHECIMENTO_PATERNIDADE_VOLUNTARIAN1
RECONHECIMENTO_PATERNIDADE_PROC_ADM_PROPRION2
RECONHECIMENTO_PATERNIDADE_PROC_ADM_OUTRON3
RECONHECIMENTO_PATERNIDADE_ORDEM_JUDICIALN4
ADOCAON5
ALTERACAO_NOMEN6
RETIFICACAON7
CANCELAMENTON8
OUTROSN9
DESTITUICAO_PODER_FAMILIARN10

8.5. tipoAverbacao (Casamento)

JSONXML
DIVORCIOC1
SEPARACAO_JUDICIALC2
RESTABELECIMENTO_SOCIEDADE_CONJUGALC3
ANULACAO_NULIDADE_CASAMENTOC4
ALTERACAO_REGIME_BENSC5
ALTERACAO_NOMEC7
RETIFICACAOC8
OUTROSC9

8.6. tipoAverbacao (Óbito)

JSONXML
RETIFICACAOO1
ALTERACAO_NOMEO2
ALTERACAO_DATA_OBITOO3
CANCELAMENTOO4
OUTROSO5

8.7. tipoCasamento

JSONXML
CIVIL1
RELIGIOSO_COM_EFEITO_CIVIL2
CONVERSAO_UNIAO_ESTAVEL3
NUNCUPATIVO4
MOLESTIA_GRAVE5
EM_DILIGENCIA6
POR_PROCURACAO7

8.8. regimeCasamento / regimeBens

JSONXML
COMUNHAO_PARCIAL_BENS1
COMUNHAO_UNIVERSAL_BENS2
SEPARACAO_TOTAL_BENS3
PARTICIPACAO_FINAL_AQUESTOS4
SEPARACAO_OBRIGATORIA_BENS5

8.9. tipoLocalObito

JSONXMLDescrição
UNIDADE_DE_SAUDE1Hospital, UPA, UBS, maternidade.
VIA_PUBLICA2
DOMICILIO3
OUTROS4Requer descrição.
IGNORADO5

8.10. caracteristicaObito

JSONXML
INDIGENTE1
MENOR2
NATIMORTO3
MAIOR4

8.11. tipoMorte

JSONXML
NATURAL1
VIOLENTO2

8.18. tipoVinculo (AtoVinculado)

JSONXMLDescrição
ATO_HABILITACAO_CASAMENTOI
ATO_COMPLEMENTO_EMOLUMENTOSM
ATO_ESCRITURA_ANTENUPCIALL
ATO_REGISTROG
ATO_ORIGINALO
ATO_REFERENCIAR
ATO_COM_ERRO_MATERIALE
ATO_DE_ACERVOA
ATO_ARQUIVADOQ
PROCESSO_ADMINISTRATIVOW

8.23. sexo

JSONXML
FEMININOF
MASCULINOM
NAO_BINARIEX
IGNORADOI

8.31. local (Nascimento)

JSONXMLDescrição
UNIDADE_DE_SAUDE1Hospital, UPA, UBS, maternidade.
FORA_DA_UNIDADE_DE_SAUDE2Domicílio, via pública, em trânsito.

As demais 22 tabelas (operação, ambiente, corPele, tipoCelebrante, tipoUniao, tipoDocumento×3, tipoSelo, tipoFiliacao, tipoDeclarante, estadoCivil, justificativaAusenciaCpf, tipoRegistro Livro E/CRC/PA, tipoCertidao Genérica, tipoDescricaoTranscricao, origemDoc, motivo) estão completas em layout.md §8.

9Validação

9.1. Engines

LinguagemBibliotecaVersão
Pythonjsonschema4.x
.NET 4.8.1Newtonsoft.Json.Schema3.x
Nodeajv8.x

9.2. Python (_build/validate.py)

import json
from jsonschema import Draft7Validator
from pathlib import Path

root = Path(__file__).resolve().parent.parent
schema = json.loads((root / "layout_schema.json").read_text(encoding="utf-8"))
data = json.loads((root / "exemplo.json").read_text(encoding="utf-8"))

Draft7Validator.check_schema(schema)
errors = list(Draft7Validator(schema).iter_errors(data))
print("OK" if not errors else f"FAIL: {len(errors)} erros")

9.3. .NET 4.8.1 (Newtonsoft)

Imports Newtonsoft.Json.Schema
Imports Newtonsoft.Json.Linq

Dim schema = JSchema.Parse(IO.File.ReadAllText("layout_schema.json"))
Dim doc = JObject.Parse(IO.File.ReadAllText("exemplo.json"))
Dim erros As IList(Of String) = Nothing
If doc.IsValid(schema, erros) Then Console.WriteLine("OK")

9.4. PowerShell

# _build\valida.ps1
$ErrorActionPreference = 'Stop'
python (Join-Path $PSScriptRoot "validate.py")
exit $LASTEXITCODE

9.5. Invariantes não cobertas pelo schema

  1. Se ordemJudicial=truenumeroProcessoJudicial e dataSentencaDecisao obrigatórios.
  2. Se tipoDocumento=DNV (Nascimento) → protocoloConsultaDNV obrigatório.
  3. Se tipoLocalObito=OUTROSdescricaoTipoLocalObito obrigatório.
  4. Se tipoDocumento=OUTROS (Óbito) → descricaoDocumento obrigatório.
  5. Se tipoDocumento=DECLARACAO_OBITOprotocoloConsultaObito obrigatório.
  6. Se indAtoEletronico=true → URLs e hashes obrigatórios.
  7. Se tipoCobranca ∈ {JUSTICA_GRATUITA, SEM_COBRANCA} → valores monetários e itens ausentes.
  8. Se tipoCobranca=JUSTICA_GRATUITAhipossuficiente obrigatório.
  9. selo e cct dentro da faixa do codigoServico.
  10. dataPratica dentro da janela autorizada do serviço.

10Migração XML 2.09 → JSON 3.0.0

10.1. Regras gerais

#RegraExemplo
1Atributos viram propriedades JSON em camelCase.CodServico="1234""codigoServico": "1234"
2Elementos aninhados viram objetos.<Endereco>..."endereco": {...}
3Listas viram arrays.<Conjuges>"conjuges": [...]
4S/N vira boolean.OrdemJudicial="S"true
5dd/mm/aaaa vira ISO 8601."06/05/2026""2026-05-06"
6Decimais viram string com pattern.48,56"48.56"
7Códigos de domínio viram enums humanizados.JGJUSTICA_GRATUITA
8Atributos coesos viram objetos agrupados.SeloAtoOriginal+CodServicoAtoOriginal"atoOriginal": {...}
9Numéricos viram integer."33"33
10Discriminação por nome de elemento vira tipoAto.<RegistroNascimento>"tipoAto": "REGISTRO_NASCIMENTO"

10.2. Lado a lado (XML 2.09 × JSON 3.0.0)

Mesmo registro de nascimento expresso nos dois formatos.

XML 2.09

<?xml version="1.0" encoding="ISO-8859-1"?>
<CivilPessoasNaturais VersaoLayout="2.09">
  <Remessa Id="0001" CodServico="7555" TipoOperacao="I" Software="FUNARPEN-SGF" Ambiente="PRD">
    <RegistroNascimento DataPratica="06/05/2026" Selo="EABC12345" Aleatorio="KRT"
        Livro="A-12345" Folha="10" Termo="15"
        TipoLivro="1" OrdemJudicial="N"
        TipoDocumento="1" ProtocoloConsultaDNV="DNPW-00000146"
        Local="1">
      <Nascido Nome="ALICE GOMES DA SILVA" Sexo="F" DataNascimento="01/05/2026"/>
      <Emolumentos TipoCobranca="JG" Hipossuficiente="N"/>
    </RegistroNascimento>
  </Remessa>
</CivilPessoasNaturais>

JSON 3.0.0

{
  "$schema": "https://layouts.tjrj.jus.br/sfe/rcpn/v3.0.0/layout_schema.json",
  "remessa": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "versaoLayout": "3.0.0",
    "codigoServico": "7555",
    "tipoOperacao": "INCLUSAO",
    "ambiente": "PRODUCAO",
    "software": { "nome": "FUNARPEN-SGF", "versao": "2026.1.0" },
    "dataGeracao": "2026-05-07T13:21:45-03:00",
    "atos": [{
      "tipoAto": "REGISTRO_NASCIMENTO",
      "dadosAto": {
        "categoria": "ATO_SELADO",
        "dataPratica": "2026-05-06", "selo": "EABC12345", "aleatorio": "KRT",
        "livro": "A-12345", "folha": "10", "termo": 15,
        "tipoLivro": "1", "ordemJudicial": false,
        "tipoDocumento": "DNV", "protocoloConsultaDNV": "DNPW-00000146",
        "local": "UNIDADE_DE_SAUDE",
        "nascido": { "nome": "ALICE GOMES DA SILVA", "sexo": "FEMININO", "dataNascimento": "2026-05-01" },
        "emolumentos": { "tipoCobranca": "JUSTICA_GRATUITA", "hipossuficiente": false }
      }
    }]
  }
}

Mapeamento exaustivo (atributo a atributo) em layout.md §10.

11Erros e tratamento (RFC 7807)

A API REST devolve erros em application/problem+json:

{
  "type": "https://api.tjrj.jus.br/sfe/errors/SCHEMA_INVALID",
  "title": "JSON nao satisfaz o schema do layout RCPN",
  "status": 400,
  "code": "SCHEMA_INVALID",
  "instance": "/sfe/v3/rcpn/remessas",
  "remessaId": "550e8400-e29b-41d4-a716-446655440000",
  "errors": [
    { "path": "/atos/3/dadosAto/selo", "message": "deve corresponder ao padrao '^[A-Z]{4}\\d{5}$'" }
  ]
}
CódigoHTTPQuando
JSON_INVALIDO400JSON malformado.
SCHEMA_INVALID400JSON viola schema.
BUSINESS_RULE_VIOLATION422Regra condicional violada.
UNAUTHORIZED401Token ausente/expirado.
FORBIDDEN_COD_SERVICO403Serviço não autorizado.
IDEMPOTENCY_CONFLICT409id reutilizado com payload diferente.
LIMITE_ATOS422> 5.000 atos.
INVALID_SELO422Selo inválido / fora da faixa.
INVALID_CCT422CCT inválido / fora da faixa.
INTERNAL500Erro interno.
INDISPONIVEL503Falha temporária.

12Histórico de versões

VersãoDataAutorMudanças
3.0.02026-05-07LOGON / FUNARPEN-RJPrimeira versão JSON. Substitui XML 2.09. ISO 8601 em datas; monetário como string com pattern; booleanos reais; UUID v4 em remessa.id; enums humanizados; discriminação tipoAto/dadosAto; additionalProperties:false total; reuso via $defs. Cobertura: 37 atos.

AAnexos

Glossário (resumo)

  • CCT — Código de Controle de Transmissão.
  • CGJ-RJ — Corregedoria-Geral da Justiça do Estado do Rio de Janeiro.
  • CRC / CRC Nacional — Centrais de Registros Civis (estadual / CNJ).
  • DNV — Declaração de Nascido Vivo (SINASC).
  • FETJ / FUNDPERJ / FUNPERJ / FUNARPEN-RJ — Fundos do Judiciário/RCPN do RJ.
  • MAS — Manual de Atos Selados (CGJ-RJ).
  • RCPN — Registro Civil das Pessoas Naturais.
  • SFE — Selo de Fiscalização Eletrônico.
  • TJRJ — Tribunal de Justiça do Estado do Rio de Janeiro.

Referências normativas

  • Lei 6.015/1973 — Lei dos Registros Públicos.
  • Lei 9.534/1997 — Gratuidade de registros e primeira certidão.
  • Lei 8.560/1992 — Reconhecimento de paternidade.
  • Lei 9.873/2022 (RJ) — Selo de fiscalização eletrônico.
  • Lei Complementar 175/2020 — ISS sobre serviços extrajudiciais.
  • Decreto 6.828/2009 e Provimento 2/2009 CNJ — Matrícula nacional.
  • CNJ Provimentos 16/2012, 21/2012, 37/2014, 46/2015, 73/2018; Resoluções 175/2013, 228/2016.
  • RFC 7807 — Problem Details for HTTP APIs.
  • JSON Schema draft-07; ISO 8601.