Esocial
O esocial é o projeto que reune as iniciativas do TST para atender às necessidades do sistema eSocial do Governo Federal.
Install / Use
/learn @tst-labs/EsocialREADME
eSocial-JT
[PROJETO EM DESENVOLVIMENTO] Atenção! API ainda em desenvolvimento e portanto instável.
- eSocial-JT
- Introdução
- Guia rápido
- Visão geral da arquitetura da solução
- Características
- Configuração
- Instalação
- Configuração de serviços que usam certificado digital (assinatura de xml e envio para eSocial-Gov)
- 1. Instalação do <strong>esocial-jt-service</strong> e certificado no mesmo servidor
- 2. Instalação do <strong>esocial-jt-service</strong> sem certificado e usar serviços de outra instância do <strong>esocial-jt-service</strong> que possui um certificado
- 3. Instalação do <strong>esocial-jt-service</strong> sem certificado e usar serviços de outra aplicação que forneça api REST para assinatura e envio de lotes
- API Rest
- Sobre o projeto
- Dúvidas e contato
- Como contribuir
- Licença
Introdução
O eSocial-JT é o projeto que reúne as iniciativas do TST para atender às necessidades do sistema eSocial do Governo Federal. A solução foi desenvolvida em módulos auto contidos e independentes, que podem ser adaptados e utilizados em ambientes de qualquer organização, tanto pública quanto privada.
Em poucas palavras, o esocial-jt-service, módulo principal da solução, recebe um JSON com os dados de uma ocorrência dos sistemas de origem, tranforma em um evento do eSocial, cria e assina o arquivo XML, transmite para o eSocial-Gov e posteriormente consulta o resultado de processamento com eventuais erros.
Guia rápido
Use este guia para obter rapidamente uma instância do esocial-jt-service em execução e enviar seu primeiro evento para o ambiente de Produção Restrita do eSocial-Gov.
Pré-requisitos
- Git
- Docker
- Docker Compose
- Certificado Digital ICP-Brasil A1 válido (obrigatório mesmo para testes)
- Postman (opcional)
Download
- Clone o projeto
$ git clone https://github.com/tst-labs/esocial.git
$ cd esocial
Configuração
- Copie sua chave para a pasta
./configcom nomeesocial.pfx
$ cp local/da/chave/esocial.pfx ./config/esocial.pfx
- Copie o arquivo
./config/application.properties.examplepara./config/application.properties
$ cp ./config/application.properties.example ./config/application.properties
- Edite o arquivo de configuração
./config/application.propertiespara ficar de acordo com seu ambiente
esocialjt.cnpj-empregador=
esocialjt.ambiente=PRODUCAO_RESTRITA
esocialjt.arquivoCertificado=/config/esocial.pfx
esocialjt.senhaCertificado=
esocialjt.proxyServer=
esocialjt.proxyPort=
esocialjt.proxyUser=
esocialjt.proxyPassword=
Obs.: Deixe em branco as configurações de
proxy, caso não se aplique
Execução
- Inicialize a aplicação com
docker-compose
docker-compose up
Obs.: O docker-compose sobe um banco postgres e a aplicação Java
- Verifique o log da aplicação se foi possível estabelecer comunicação com o eSocial-Gov
br.jus.tst.esocialjt.OnStartup : Testando conexão com eSocial...
br.jus.tst.esocialjt.OnStartup : Conexão com eSocial OK
- Verifique se a aplicação está no ar e se há comunicação com o eSocial-Gov acessando as urls
http://localhost:8080/esocial-jt-service/actuator/health
http://localhost:8080/esocial-jt-service/actuator/esocialhealth
- Acesse a interface gráfica para verificar o status do serviço pela url
http://localhost
Testando o primeiro envio
-
Crie uma cópia do arquivo ./src/esocial-jt-service/src/main/resources/exemplos/informacoes_empregador.json
-
Edite com as informações referentes à instituição (o CNPJ deve ser o mesmo do proprietário do Certificado Digital)
-
Envie usando o método POST (via linha de comando ou Postman) para o endpoint:
http://localhost:8080/esocial-jt-service/ocorrencias
- Após alguns segundos, verifique o log da aplicação se o evento foi processado pelo eSocial-Gov
j.t.e.a.t.TarefaAtualizacaoProcessamento : Eventos processados: {PROCESSADO COM SUCESSO=1}
- Também é possível consultar o status fazendo uma requisição GET para o endpoint
http://localhost:8080/esocial-jt-service/ocorrencias
- Acesse a interface gráfica para verificar resultado do processamento
http://localhost
Próximos passos
As demais seções deste documento fornecem mais detalhes sobre o funcionamento geral da solução, opções de instalação e configuração, API rest e guia de contribuição.
Visão geral da arquitetura da solução
A figura abaixo ilustra uma visão geral arquitetura desta solução

- Sistemas de origem: São os sistemas de RH, Folha de Pagamentos e etc da instituição
- Conector: É o responsável por buscar os dados dos sistemas de origem, criar os arquivos json e enviar para o eSocial-JT. Cada instituição é responsável por criar seu conector da forma que lhe for mais conveniente, por exemplo, alterando os sistemas de origem para geração dos arquivos necessários ou utilizando ferramentas de ETL
- eSocial-JT: é o produto oferecido por este projeto e é o responsável por todo o ciclo de envio e consulta de processamento dos eventos enviados ao eSocial-Gov
- eSocial-Gov: aplicação do Governo Federal que recebe e processa os eventos do eSocial
Sendo assim, cada instituição deve:
- Instalar e configurar eSocial-JT (esocial-jt-service) em seu ambiente
- Criar seu Conector responsável por ler os dados de origem e enviar para o eSocial-JT em formato json
Características
O projeto é dividido nos seguintes módulos:
- esocial-comunicacao: Pacote de mapeamento dos serviços do WSDL.
- esocial-esquemas: Schemas XSD do eSocial-GOV.
- esocial-jt-dominio: Modelos básicos do esocial-jt.
- esocial-jt-service: API RESTful para comunicação com eSocial-GOV. [mais informações...]
O esocial-jt-service, módulo principal eSocial-JT, foi construído em Java 8 utilizando o framework Spring Boot. É uma aplicação primordialmente de backend que fornece API RESTful trafegando dados no formato JSON.
Funcionamento
Quando está em execução, o esocial-jt-service
- Recebe dados de uma ocorrência* no endpoint
POST/esocial-jt-service/ocorrencias - A cada 10 segundos verifica as ocorrências recebidas, gera os eventos e envia ao eSocial-Gov
- No próximo ciclo de 10 segundos consulta o resultado do processamento dos eventos enviados
- Além disso, fornece API para consulta do estado interno da aplicação.
Obs. 1: para não confundir os conceitos, os dados recebidos pelo esocial-jt-service são chamados de "ocorrencia" enquanto que os XMLs que são envi
Related Skills
node-connect
342.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
85.3kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
342.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
342.5kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
