Receita Federal do Brasil

API Recintos Simulacrum

Simulacao realista da API Recintos (RCNT) da Receita Federal para staging e testes

v0.1.0 · 22 endpoints · Anexo III

Links Rapidos

Como Usar

1. Autenticacao (opcional)

Por padrao a auth esta desligada. Se ativada (SIMULACRO_ENFORCE_AUTH=true):

curl -c cookies.txt -X POST /autenticar \
  -H "Content-Type: application/json" \
  -d '{"cpf":"12345678909","senha":"qualquer-chave"}'

# Resposta inclui csrfToken e cookie set-token

2. Enviar Evento

curl -X POST /ext/acesso-pessoas \
  -H "Content-Type: application/json" \
  -d '{
    "tipoOperacao": "I",
    "idEvento": "evt-001",
    "dataHoraOcorrencia": "2026-03-20T10:00:00.000-0300",
    "dataHoraRegistro": "2026-03-20T10:00:01.000-0300",
    "cpfOperadorOcorrencia": "12345678909",
    "cpfOperadorRegistro": "12345678909",
    "codigoRecinto": "1234567",
    "contingencia": false,
    "identificacao": "12345678909",
    "nome": "Fulano de Tal",
    "direcao": "E",
    "catraca": "CAT-01"
  }'

# Resposta: 201 com protocolo (UUID v4)

3. Ciclo de Vida do Protocolo

I
Inclusao — cria evento, retorna protocolo (status ATIVO)
R
Retificacao — referencia protocolo anterior via protocoloEventoRetificadoOuExcluido
E
Exclusao — marca evento como EXCLUIDO (irreversivel)

4. Cenarios de Simulacao

Controle o comportamento via header ou admin:

# Via header em qualquer request:
curl -H "X-Simulacro-Mode: timeout" ...
curl -H "X-Simulacro-Mode: business_error" ...

# Via admin (persistente):
curl -X PUT /simulacro/scenarios/global \
  -H "Content-Type: application/json" \
  -d '{"mode": "technical_error", "statusCode": 503}'

Endpoints Disponiveis

MetodoPathDescricao
POST/autenticarAutenticacao (cookie set-token + CSRF)
POST/ext/*22 endpoints RCNT (Anexo III)
GET/simulacro/healthSaude e configuracao
GET/simulacro/endpointsLista dos 22 endpoints
GET/simulacro/eventsConsulta event store
GET/simulacro/statsEstatisticas
POST/simulacro/auth/tokenGera token direto (admin)
PUT/simulacro/scenarios/globalDefine cenario global
GET/docsSwagger UI

Modos de Cenario

ModoComportamento
successAceita evento, retorna 201 com protocolo (padrao)
business_errorErro de validacao de negocio (422)
technical_errorErro interno simulado (500)
auth_errorAutenticacao invalida (401)
forbiddenAcesso negado (403)
timeoutSem resposta (simula timeout do cliente)
random_error50% chance de erro (503)