Documentação Técnica do Layout SFE para Atos de Registro de Imóveis · Serviço 734 · SELO2 · 2026
O Layout JSON Registro de Imóveis v3.0.0 define o contrato de dados para remessa eletrônica de atos praticados por Serviços de Registro de Imóveis do Estado do Rio de Janeiro à CGJ-RJ. Sucede o formato XML/XSD v2.01, adotando JSON Schema draft-07 como padrão de validação — em linha com todos os demais layouts da plataforma SELO2.
v3.0.0 — vigente desde 2026-05-07.
Schema monolítico em layout_schema.json (110 KB), com
69 definições reutilizáveis via $ref interno e
27 tipos de ato discriminados por oneOf.
Atos extrajudiciais de Registro de Imóveis no RJ — registros, averbações, certidões, processos administrativos (PAF, PR, PEU), IET de mercado imobiliário, apostilamentos e transmissões não-seladas. Código de serviço CGJ-RJ: 734.
Máximo de 5.000 atos por remessa. Limite de arquivo: 32 MB. Encoding: UTF-8 sem BOM. O exemplo de referência contém 13 atos cobrindo 11 dos 27 tipos.
minimum/maximum; monetários como string padrão ^\d+\.\d{2}$true/false — nunca "S"/"N"oneOf: cada ato tem tipoAto (const) + dadosAto validadoadditionalProperties: false em todos os objetostabela, item, subItem, tipoRegistro, tipoAverbacao, tipoCertidao mantêm forma original| Arquivo | Descrição |
|---|---|
layout_schema.json | JSON Schema draft-07 (110 KB, 69 $defs) |
exemplo.json | Remessa de referência com 13 atos |
layout.md | Documentação técnica completa (1.318 linhas) |
_build/valida.ps1 | Entry point PowerShell de validação |
_build/valida.py | Engine Python (jsonschema draft-07) |
_build/valida.vb | Validador VB.NET Framework 4.8.1 |
_build/ValidaLayout.NET10.cs | Validador C# .NET 10 |
Todo arquivo de remessa possui exatamente um objeto raiz com duas chaves:
$schema (URI da versão) e remessa (envelope de dados). O array
atos é o coração da remessa — cada elemento é discriminado pelo par
tipoAto + dadosAto.
{
"$schema": "https://layouts.tjrj.jus.br/sfe/ri/v3.0.0/layout_schema.json",
"remessa": {
"id": "8f2a16e2-3c4b-4a91-9cd5-2e7d4b1f0a83", // UUID v4
"versaoLayout": "3.0.0",
"codigoServico": "734", // RI Rio de Janeiro
"tipoOperacao": "INCLUSAO", // ou "ALTERACAO"
"ambiente": "PRODUCAO", // ou "HOMOLOGACAO"
"software": { "nome": "FUNARPEN-SGF", "versao": "2026.1.0" },
"dataGeracao": "2026-05-07T13:21:45-03:00",
"atos": [ /* 1 a 5.000 atos */ ],
"justificativasAusencia": [ /* opcional — datas sem ato praticado */ ]
}
}
| Campo | Tipo | Obrig. | Descrição |
|---|---|---|---|
id | string | ✅ | Identificador único da remessa. UUID v4 (RFC 4122), gerado pelo software transmissor. |
versaoLayout | string | ✅ | Versão do layout. Valor fixo: "3.0.0". |
codigoServico | string | ✅ | Código do serviço na CGJ-RJ. Para Registro de Imóveis RJ: "734". |
tipoOperacao | enum | ✅ | INCLUSAO para atos novos; ALTERACAO para retificações de remessas já transmitidas. |
ambiente | enum | ✅ | HOMOLOGACAO para testes; PRODUCAO para transmissão real. |
software | object | ✅ | Identificação do software transmissor: nome (string) e versao (string). |
dataGeracao | date-time | ✅ | Momento de geração do arquivo. ISO 8601 com offset de fuso horário obrigatório (ex.: -03:00). |
atos | array | ✅ | Array de atos. Mínimo: 1 item. Máximo: 5.000. Cada item discriminado por tipoAto (const) + dadosAto. |
justificativasAusencia | array | ⬜ | Datas sem atos praticados. Cada item contém data (date) e motivo (string). |
O nome do arquivo de remessa segue o padrão:
| Segmento | Descrição | Exemplo |
|---|---|---|
SERV | Código do serviço CGJ-RJ | 734 |
AAAAMMDD | Data de geração (ano-mês-dia) | 20260507 |
RI | Identificador da atribuição (Registro de Imóveis) | RI |
I ou A | Tipo de operação: I = Inclusão, A = Alteração | I |
HHMMSS | Hora de geração | 132145 |
Exemplo completo: 734_20260507_RI_I_132145.json
O layout cobre 27 tipos de ato organizados em três categorias. A categoria
determina qual estrutura base o dadosAto herda e quais campos são
obrigatórios ou permitidos.
Requerem selo físico ou eletrônico. Herdam de AtoBase.
| tipoAto | Descrição | Base Legal |
|---|---|---|
CERTIDAO_PRENOTACAO | Certidão de prenotação — confirma a entrada do título no protocolo do RI. Informa espécie do título e se lavrado no Rio de Janeiro. | Lei 6.015/73 art. 182 |
REGISTRO | Registro de título imobiliário. Campo tipoRegistro (Tabela CGJ-RJ). Suporta imóveis urbanos e rurais, participantes e emolumentos discriminados. | Lei 6.015/73 art. 167-I |
AVERBACAO | Averbação em matrícula existente. Campo tipoAverbacao (Tabela CGJ-RJ) e descrição de conteúdo econômico (4 valores enum). | Lei 6.015/73 art. 167-II |
CERTIDAO | Certidão de registro imobiliário. Campo tipoCertidao (Tabela CGJ-RJ) e resultado da pesquisa. | Lei 6.015/73 art. 19 |
CERTIDAO_GENERICA | Certidão de conteúdo genérico não coberto pelos tipos específicos. | Lei 6.015/73 |
INTIMACAO_PCL | Intimação no Processo de Consolidação de Alienação Fiduciária. Notifica o devedor fiduciante sobre a mora. | Lei 9.514/97 art. 26 |
INTIMACAO_PAF | Intimação no Processo Administrativo de Financiamento (PAF). Selado. | Lei 9.514/97 |
EDITAL_PAF | Edital publicado no âmbito do PAF quando não localizado o devedor. | Lei 9.514/97 art. 26 §4 |
INTIMACAO_PR | Intimação no Processo de Retificação (PR) de registro imobiliário. | Lei 6.015/73 art. 213 |
EDITAL_PR | Edital do Processo de Retificação quando não localizados interessados. | Lei 6.015/73 art. 213 §4 |
AVERBACAO_PR | Averbação resultante do Processo de Retificação concluído. | Lei 6.015/73 art. 213 §10 |
PROCESSO_ADMINISTRATIVO | Atos de processo administrativo geral (IET, usucapião, etc.) que requerem selo. | Prov. CNJ 65/2017 |
INTIMACAO_NOTIFICACAO_PEU | Intimação/notificação no Processo de Extinção de Usufruto. | Lei 6.015/73 |
EDITAL_PEU | Edital no Processo de Extinção de Usufruto. | Lei 6.015/73 |
IET_MERCADO_IMOBILIARIO | Informação Estatística de Transação — estatística de mercado imobiliário. Ato selado específico para dados de transações. | Prov. CGJ 36/2022 |
APOSTILAMENTO | Apostila da Convenção da Haia em documentos imobiliários. Informa país de destino. | Conv. Haia 1961 |
VISTO | Visto em instrumento particular ou procuração apresentada ao RI. | Lei 8.935/94 |
Não requerem selo. Herdam de TransmissaoBase — utilizam cct (Código de Controle de Transmissão) em vez de selo/aleatorio.
| tipoAto | Descrição |
|---|---|
CANCELAMENTO_PRENOTACAO | Cancelamento de prenotação. Vincula ao ato de prenotação original via atosVinculados. |
NOTA_DISTRIBUICAO | Nota de distribuição de título — registra a chegada e encaminhamento do título ao RI competente. |
RECEBIMENTO_PRESTACAO | Recebimento de prestação de contrato de loteamento (Lei 6.766/79). Não gera registro — só registra o recebimento. |
PURGA_PAF | Purga da mora no Processo de Consolidação de Alienação Fiduciária — pagamento pelo devedor após intimação. |
APRESENTACAO_TITULO_EXAME | Apresentação de título para exame de qualificação. Não gera registro — registra apenas a apresentação. |
ENCERRAMENTO_LIVRO | Encerramento de livro de registro. Informa número do livro e tipo. |
FOLHA_ADICIONAL_COMPLEMENTO | Folha adicional a ato já lavrado — complemento de conteúdo não-selado. |
INFORMACAO_VERBAL | Registro de informação verbal prestada. Não gera cobrança de emolumentos selados. |
COMPLEMENTO_EMOLUMENTOS | Complementação de emolumentos de ato anterior. Referencia o ato original via atosVinculados. |
Categoria especial para operações administrativas. Não herda de AtoBase nem TransmissaoBase.
| tipoAto | Descrição |
|---|---|
ALTERACAO_EMOLUMENTOS | Altera a composição de emolumentos de um ato já registrado. Campos: categoria, selo (ou cct) e novo objeto emolumentos. Não possui dataPratica. |
As estruturas base são definições reutilizáveis ($defs) que consolidam os campos
comuns a múltiplos tipos de ato. Cada tipo de ato estende uma dessas bases via
allOf no JSON Schema, acrescentando seus campos específicos.
| Campo | Tipo | Obrig. | Descrição |
|---|---|---|---|
categoria | const | ✅ | Sempre "ATO_SELADO". Discriminador do oneOf. |
dataPratica | date | ✅ | Data em que o ato foi praticado. ISO 8601 (YYYY-MM-DD). |
selo | pattern | ✅ | Número do selo. Padrão: ^[A-Z]{4}\d{5}$ (4 letras + 5 dígitos, ex.: EAAC05003). |
aleatorio | pattern | ✅ | Código aleatório do selo. Padrão: ^[A-Z]{3}$ (3 letras maiúsculas, ex.: YHN). |
livro | string | ⬜ | Identificação do livro. Até 25 caracteres. |
folhaInicial | string | ⬜ | Folha inicial do ato. Até 25 caracteres. |
folhaFinal | string | ⬜ | Folha final do ato. Até 25 caracteres. |
numeroAto | string | ⬜ | Número sequencial do ato. Até 25 caracteres. |
numeroMatricula | string | ⬜ | Número da matrícula afetada pelo ato. Até 25 caracteres. |
localPratica | enum | ⬜ | SEDE ou FORA_SEDE. |
numeroProtocolo | string | ⬜ | Número de protocolo de entrada. Até 25 caracteres. |
numeroRecibo | string | ⬜ | Número do recibo de pagamento. Até 25 caracteres. |
indAtoEletronico | boolean | ⬜ | Indica ato eletrônico. Quando true, URL e hash do PDF tornam-se obrigatórios. |
urlPdfAto | uri | 🔶 | URL do PDF do ato. Obrigatório quando indAtoEletronico = true. |
hashPdfAto | string | 🔶 | Hash SHA-256 do PDF. Obrigatório quando indAtoEletronico = true. |
urlDossie | uri | 🔶 | URL do dossiê eletrônico. Obrigatório quando indAtoEletronico = true. |
hashDossie | string | 🔶 | Hash SHA-256 do dossiê. Obrigatório quando indAtoEletronico = true. |
🔶 Condicionalmente obrigatório · ⬜ Opcional · ✅ Sempre obrigatório
Análoga ao AtoBase, mas para atos que não requerem selo.
Substitui selo + aleatorio pelo CCT.
| Campo | Tipo | Obrig. | Descrição |
|---|---|---|---|
categoria | const | ✅ | Sempre "TRANSMISSAO_NAO_SELADA". Discriminador. |
dataPratica | date | ✅ | Data em que o ato foi praticado. ISO 8601. |
cct | string | ✅ | Código de Controle de Transmissão. Identifica univocamente a transmissão não-selada. |
localPratica | enum | ⬜ | SEDE ou FORA_SEDE. |
numeroProtocolo | string | ⬜ | Número de protocolo. Até 25 caracteres. |
numeroRecibo | string | ⬜ | Número do recibo. Até 25 caracteres. |
indAtoEletronico | boolean | ⬜ | Indica ato eletrônico — mesma regra do AtoBase. |
urlPdfAto, hashPdfAto, urlDossie, hashDossie | uri/string | 🔶 | Obrigatórios quando indAtoEletronico = true. |
O array imoveis contém as propriedades envolvidas no ato, subdivididas em
imóveis urbanos e imóveis rurais. Presente principalmente
nos atos de REGISTRO e AVERBACAO. Cada imóvel herda de
ImovelBase (campos comuns) e adiciona seus atributos específicos.
| Campo | Tipo | Obrig. | Descrição |
|---|---|---|---|
tipoConstrucao | enum | ✅ | TERRENO ou EDIFICACAO. |
tipoRecolhimento | enum | ✅ | NORMAL, ISENTO ou FUTURO. |
numeroMatricula | string | ⬜ | Número da matrícula no RI. Até 25 caracteres. |
inscricaoMunicipal | string | ⬜ | Inscrição municipal (IPTU). Até 50 caracteres. |
areaTotal | string | ⬜ | Área total em metros quadrados. Formato monetário ^\d+\.\d{2}$. |
valorDeclarado | string | ⬜ | Valor declarado do imóvel. Formato monetário. |
moeda | enum | ⬜ | Moeda do valor declarado: REAL, CRUZEIRO, CRUZADO, CRUZEIRO_NOVO, CRUZADO_NOVO, CRUZEIRO_REAL, MIL_REIS. |
tipoImposto | enum | ⬜ | ITBI (transmissões onerosas) ou ITD (doações/heranças). |
valorImposto | string | ⬜ | Valor do imposto de transmissão. Formato monetário. |
cpfCnpjAdquirente | pattern | ⬜ | CPF (11 dígitos) ou CNPJ (14 dígitos) do adquirente. |
cpfCnpjCedente | pattern | ⬜ | CPF (11 dígitos) ou CNPJ (14 dígitos) do cedente. |
parteTransferida | string | ⬜ | Fração ou percentual transferido (ex.: "1/2", "100%"). |
codigoMunicipio | integer | ⬜ | Código do município — Tabela 9 CGJ-RJ (chave externa). |
uf | string | ⬜ | Unidade Federativa (2 letras maiúsculas). |
Herda todos os campos de ImovelUrbano e adiciona campos específicos de imóvel rural conforme legislação agrária.
| Campo | Tipo | Obrig. | Descrição |
|---|---|---|---|
denominacao | string | ⬜ | Nome/denominação da propriedade rural. Até 250 caracteres. |
nirf | string | ⬜ | Número do Imóvel na Receita Federal (NIRF/INCRA). Até 25 caracteres. |
car | string | ⬜ | Cadastro Ambiental Rural (CAR). Até 100 caracteres. |
areaTotal | string | ⬜ | Área total da propriedade. Formato numérico (^\d+\.\d{2}$). |
unidadeMedidaArea | enum | ⬜ | Unidade da área: METRO, KILOMETRO, HECTARE, ACRE, ARE, ALQUEIRE, CENTIARES, LEGUA. |
codigoMunicipio | integer | ⬜ | Município de localização — Tabela 9 CGJ-RJ. |
uf | string | ⬜ | UF de localização (2 letras maiúsculas). |
"imoveis": { "imoveisUrbanos": [ { "tipoConstrucao": "EDIFICACAO", "tipoRecolhimento": "NORMAL", "numeroMatricula": "12345", "inscricaoMunicipal": "0271040-4", "areaTotal": "120.00", "valorDeclarado": "450000.00", "moeda": "REAL", "tipoImposto": "ITBI", "valorImposto": "9000.00", "cpfCnpjAdquirente": "12345678901", "uf": "RJ" } ] }
O objeto emolumentos descreve a composição financeira do ato.
O RI possui 7 tipos de cobrança — dois a mais que as demais atribuições
(COBRANCA_CONDICIONADA, PAGO_NA_PRENOTACAO e PRIMEIRA_AQUISICAO
são exclusivos do RI), refletindo especificidades da legislação imobiliária.
emolumentos — Campos| Campo | Tipo | Obrig. | Descrição |
|---|---|---|---|
tipoCobranca | enum | ✅ | Ver tabela de tipos abaixo (7 valores). |
valorTotalEmolumentos | string | 🔶 | Total dos emolumentos. Padrão: ^\d+\.\d{2}$. Obrigatório quando COM_COBRANCA. |
fetj | string | 🔶 | Fundo Estadual de Reaparalhamento da Justiça. |
fundperj | string | 🔶 | Fundo de Reaparalhamento da Polícia. |
funperj | string | 🔶 | Fundo de Reaparalhamento do Poder Executivo. |
funarpen | string | 🔶 | Fundo de Reaparalhamento da FUNARPEN. |
ressag | string | 🔶 | Ressarcimento de Agentes. |
valorDistribuidor | string | ⬜ | Valor destinado ao distribuidor. |
valorSeloEletronico | string | ⬜ | Valor do selo eletrônico (Lei 9.873/2022/RJ). |
valorIss | string | ⬜ | Imposto Sobre Serviços, quando aplicável. |
itens | array | 🔶 | Itens discriminados. Obrigatório quando tipoCobranca = COM_COBRANCA. |
hipossuficiente | boolean | ⬜ | Beneficiário hipossuficiente. Recomendado em JUSTICA_GRATUITA. |
| tipoCobranca | Quando usar | Valores monetários |
|---|---|---|
COM_COBRANCA | Ato normal com cobrança integral de emolumentos. | ✅ Obrigatórios |
JUSTICA_GRATUITA | Beneficiário de assistência judiciária gratuita. Emolumentos isentos. | ❌ Suprimidos |
SEM_COBRANCA | Ato sem cobrança por dispositivo legal específico (ex.: habitação popular). | ❌ Suprimidos |
NIHIL | Ato que não enseja cobrança de emolumentos (ex.: certidão para fins previdenciários). | ❌ Suprimidos |
COBRANCA_CONDICIONADA | Cobrança condicionada ao implemento de condição futura (ex.: financiamento com suspensão de pagamento). | ⬜ Opcionais |
PAGO_NA_PRENOTACAO | Emolumentos já recolhidos no ato de prenotação — não cobra novamente no registro. | ❌ Suprimidos |
PRIMEIRA_AQUISICAO | Primeira aquisição de imóvel residencial pelo adquirente — redução legal de emolumentos (Lei 6.015/73 art. 290). | 🔶 Valores reduzidos |
| Campo | Tipo | Obrig. | Descrição |
|---|---|---|---|
ano | integer | ⬜ | Ano fiscal da tabela utilizada. |
tabela | string | ✅ | Código da tabela de emolumentos CGJ-RJ (chave externa). |
item | string | ✅ | Código do item da tabela (chave externa). |
subItem | string | ✅ | Código do sub-item (chave externa). |
quantidade | integer | ✅ | Quantidade cobrada. Intervalo: 1 a 9.999. |
complemento | string | ⬜ | Texto complementar ao item. Até 100 caracteres. |
excecao | string | ⬜ | Código de exceção tarifária. Até 100 caracteres. |
Vínculo a outro ato, dentro ou fora da mesma remessa. O RI suporta 9 tipos de vínculo.
| Campo | Tipo | Obrig. | Descrição |
|---|---|---|---|
tipoVinculo | enum | ✅ | ATO_ORIGINAL, ATO_REFERENCIA, ATO_PRENOTACAO, ATO_REGISTRO, ATO_NOTAS, ATO_CERTIDAO, ATO_COM_ERRO_MATERIAL, ATO_COMPLEMENTO_EMOLUMENTOS, ATO_PROCESSO_USUCAPIAO_EXTRAJUDICIAL. |
codigoServico | string | ⬜ | Código do serviço onde o ato vinculado está registrado. |
selo | string | ⬜ | Selo do ato vinculado (quando ato selado). |
aleatorio | string | ⬜ | Código aleatório do selo vinculado. |
cct | string | ⬜ | CCT do ato vinculado (quando transmissão não-selada). |
tipoSelo | enum | ⬜ | FISICO ou ELETRONICO. |
dataPratica | date | ⬜ | Data de prática do ato vinculado. ISO 8601. |
nomeServico | string | ⬜ | Nome do serviço onde está registrado o ato vinculado. |
estadoServico | string | ⬜ | UF do serviço (2 caracteres). |
O objeto participantes agrupa pessoas físicas e jurídicas envolvidas no ato.
O papel de cada pessoa é codificado pelo campo tipo — integer da
Tabela 2 CGJ-RJ (chave externa). Aparece em atos como REGISTRO,
AVERBACAO e processos administrativos.
| Campo | Tipo | Obrig. | Descrição |
|---|---|---|---|
tipo | integer | ⬜ | Papel da pessoa no ato — Tabela 2 CGJ-RJ (chave externa, integer). |
nome | string | ✅ | Nome completo. Até 250 caracteres. |
sexo | enum | ⬜ | FEMININO, MASCULINO, NAO_BINARIE, IGNORADO (Provimento CNJ 73/2018). |
dataNascimento | date | ⬜ | Data de nascimento. ISO 8601. |
numeroIdentidade | string | 🔶 | Número do documento. Obrigatório quando cpf ausente. |
orgaoEmissor | string | ⬜ | Órgão emissor. Até 70 caracteres. |
cpf | pattern | 🔶 | ^\d{11}$. Obrigatório ou justificativa de ausência. |
justificativaAusenciaCpf | enum | 🔶 | NAO_POSSUI, NAO_DECLARADO ou ESTRANGEIRO. Exigido com numeroIdentidade quando cpf ausente. |
nacionalidadeOnu | integer | ⬜ | Código ONU/M49 de nacionalidade (chave externa). |
estadoCivil | enum | ⬜ | SOLTEIRO, CASADO, VIUVO, SEPARADO_JUDICIALMENTE, DIVORCIADO, SEPARADO_CONSENSUALMENTE, DESQUITADO, IGNORADO. |
| Campo | Tipo | Obrig. | Descrição |
|---|---|---|---|
tipo | integer | ⬜ | Papel no ato — Tabela 2 CGJ-RJ. |
nome | string | ✅ | Razão social. Até 250 caracteres. |
cnpj | pattern | 🔶 | ^\d{14}$. Obrigatório ou justificativa de ausência. |
justificativaAusenciaCnpj | enum | 🔶 | NAO_POSSUI ou NAO_DECLARADO. |
nacionalidadeOnu | integer | ⬜ | Código ONU/M49 do país de origem. |
O layout define 16 tabelas de domínio como enums no JSON Schema. As tabelas abaixo listam todos os valores permitidos para os campos de enumeração mais relevantes.
| Valor | Descrição |
|---|---|
ESCRITURA_PUBLICA | Escritura lavrada em tabelionato de notas |
ESCRITO_PARTICULAR_AUTORIZADO_LEI | Instrumento particular autorizado por lei específica |
ATO_AUTENTICO_PAIS_ESTRANGEIRO | Ato autêntico originado de país estrangeiro |
CARTA_SENTENCA | Carta de sentença judicial |
FORMAL_PARTILHA | Formal de partilha de inventário |
CERTIDAO_MANDATO_PROCESSO | Certidão de mandado judicial |
AVERBAR_ZONA_URBANA | Averbação de imóvel em zona urbana |
DOCUMENTO_EXCLUSIVO_AVERBACAO | Documento próprio apenas para averbação |
INTIMACAO_PROMISSARIO_COMPRADOR_LOTEAMENTO | Intimação do promissário comprador em loteamento (Lei 6.766/79) |
RECEBIMENTO_PRESTACAO_LOTEAMENTO | Recibo de prestação de loteamento |
PROCESSO_CONSOLIDACAO_ALIENACAO_FIDUCIARIA | Processo de consolidação da propriedade fiduciária (Lei 9.514/97) |
PROCESSO_RETIFICACAO | Processo de retificação de registro (Lei 6.015/73 art. 213) |
REGULARIZACAO_FUNDIARIA | Regularização fundiária urbana ou rural |
DescricaoAverbacao — 4 valores
COM_CONTEUDO_ECONOMICO | Averbação com impacto financeiro declarado |
SEM_CONTEUDO_ECONOMICO | Averbação sem valor econômico declarado |
DESMEMBRAMENTO | Desmembramento de matrícula-mãe em sub-matrículas |
REMEMBRAMENTO | Fusão de matrículas em uma só |
ResultadoPesquisa — 4 valores
POSITIVO | Encontrou registros com ônus |
NEGATIVO | Não encontrou registros |
NEGATIVO_COM_EFEITO_POSITIVO | Negativo com ressalva (efeito positivo) |
INDETERMINADO | Não foi possível determinar |
TipoComunicacao — 2 valores
INTIMACAO | Intimação formal com prazo |
NOTIFICACAO | Notificação informativa |
| Valor | Período de vigência |
|---|---|
MIL_REIS | Até 1942 |
CRUZEIRO | 1942–1967 e 1990–1993 |
CRUZEIRO_NOVO | 1967–1970 |
CRUZADO | 1986–1989 |
CRUZADO_NOVO | 1989–1990 |
CRUZEIRO_REAL | 1993–1994 |
REAL | 1994 – atual |
Permite expressar o valor histórico de transações antigas ao averbá-las.
| Valor | Equivalência (referência) |
|---|---|
METRO | m² — padrão urbano |
KILOMETRO | km² — grandes propriedades |
HECTARE | 10.000 m² |
ACRE | 4.046,86 m² |
ARE | 100 m² |
ALQUEIRE | 24.200 m² (SP) / 48.400 m² (MG/GO) |
CENTIARES | 1 m² |
LEGUA | ~4,8 km (medição histórica) |
Invariantes de negócio não expressáveis diretamente no JSON Schema draft-07.
A validação dessas regras é responsabilidade do código dos validadores (_build/)
e da plataforma receptora CGJ-RJ.
Quando indAtoEletronico = true, os quatro campos urlPdfAto, hashPdfAto, urlDossie e hashDossie tornam-se obrigatórios. Ausência de qualquer um deles invalida o ato.
Para tipoCobranca ∈ {JUSTICA_GRATUITA, SEM_COBRANCA, NIHIL, PAGO_NA_PRENOTACAO}, todos os campos monetários e o array itens devem ser omitidos do JSON — não enviados como null ou zero.
Quando cpf ausente, ambos justificativaAusenciaCpf e numeroIdentidade tornam-se obrigatórios simultaneamente. Um sem o outro é inválido.
Quando cnpj ausente, justificativaAusenciaCnpj é obrigatório (NAO_POSSUI ou NAO_DECLARADO).
Quando tipoImposto está presente em um imóvel, o campo valorImposto é obrigatório — mesmo que o valor seja "0.00" (isenção documentada). ITBI aplica-se a transmissões onerosas; ITD a doações e heranças.
O ato CANCELAMENTO_PRENOTACAO deve sempre conter pelo menos um item em atosVinculados com tipoVinculo = ATO_PRENOTACAO, referenciando o ato de prenotação original que está sendo cancelado.
O ato PURGA_PAF deve referenciar o ato de intimação (INTIMACAO_PCL) original que disparou o processo de consolidação. O vínculo usa tipoVinculo = ATO_ORIGINAL.
O mesmo selo (ou cct) não pode aparecer em dois atos distintos dentro da mesma remessa. Validação cruzada deve ser feita antes da transmissão — o JSON Schema não cobre esta regra.
tipoCobranca = PRIMEIRA_AQUISICAO aplica-se exclusivamente a atos de REGISTRO de imóvel residencial. Uso indevido em outros tipos de ato deve ser rejeitado pela plataforma receptora.
Quando o campo moeda é diferente de REAL, indica que o valor declarado refere-se a uma transação histórica. A data do ato deve ser compatível com o período de vigência da moeda informada.
O diretório _build/ contém um harness de validação multi-stack
que verifica exemplo.json contra layout_schema.json em quatro
ambientes distintos. Todos devem retornar APROVADO antes de qualquer
alteração ao schema ser considerada estável.
Entry point local. Detecta Python/Python3 no PATH e executa valida.py.
# Executar a partir do diretório raiz do layout .\_build\valida.ps1 # Ou diretamente com Python: python _build/valida.py layout_schema.json exemplo.json # Saída esperada: Status: APROVADO Atos no exemplo: 13 Tipos de ato cobertos: 11
Requer: pip install jsonschema. Engine: Draft7Validator.
Validador para o ambiente legado do portal WebForms. Usa Newtonsoft.Json.Schema v4.*.
REM Compilar: msbuild _build\valida.vbproj REM Executar: ValidaLayoutRI.exe layout_schema.json exemplo.json REM Exit code: 0 = APROVADO, 1 = FALHOU
AssemblyName: ValidaLayoutRI. TargetFramework: net481.
Validador para integração com o SELO2 Desktop e SGF 2026. Usa JsonSchema.Net v7.*.
// Compilar e executar: dotnet run --project _build -- layout_schema.json exemplo.json // Saída JSON: { "status": "APROVADO", "erros": [] }
AssemblyName: ValidaLayoutRI.NET10. Nullable: enable. ImplicitUsings: enable.
| Métrica | Valor |
|---|---|
| Atos no exemplo | 13 |
| Tipos cobertos no exemplo | 11 / 27 |
| Status schema | ✅ APROVADO |
| Status exemplo | ✅ APROVADO |
| Definições no schema | 69 ($defs) |
| Tipos de ato (oneOf) | 27 |
| JSON Schema version | draft-07 |
| Tamanho do schema | 110 KB |
| Encoding | UTF-8 sem BOM |
_build/_build/ ├── valida.ps1 # Entry point — detecta Python, invoca valida.py ├── valida.py # Engine Python (Draft7Validator, 93 linhas) ├── valida.vb # Validador VB.NET Framework 4.8.1 ├── valida.vbproj # Projeto Visual Basic (net481) ├── ValidaLayout.NET10.cs # Validador C# .NET 10 (top-level statements) ├── ValidaLayout.NET10.csproj # Projeto .NET 10 (JsonSchema.Net v7) ├── validacao_schema.txt # Resultado da última validação do schema └── validacao_exemplo.txt # Resultado da última validação do exemplo
NAO_BINARIElayout_schema.json — Schema monolítico v3.0.0 (110 KB, 69 $defs)exemplo.json — Remessa de referência com 13 atos (11 tipos)layout.md — Documentação técnica completa (1.318 linhas)layout.md §9)