Rota de envio
Como transmitir eventos ao eSocial via request no RESocial.
Esta rota faz o envio assíncrono do evento e devolve um protocolo criptografado para consulta posterior. Cada request deve carregar apenas um tipo de evento por vez.
POST
/api-esocial/envio-de-eventos
Evento suportado
S-1200, S-1210, S-1298, S-1299, S-2299 ou S-3000
Ambiente
1 = produção, 2 = produção restrita
Retorno
event_id e protocolo_envio
Campos base
Todo envio começa por um bloco comum de identificação.
| Campo | Obrigatório | Descrição |
|---|---|---|
cpfcnpjtransmissor | Required | Documento do transmissor vinculado ao certificado usado no envio. |
cpfcnpjempregador | Required | Documento do empregador relacionado ao evento. |
idgrupoeventos | Não |
Grupo do evento. A API infere automaticamente quando o campo não for enviado:
"3" para s1298, s1299, s1200 e s1210;
"2" para s3000 e s2299.
|
versaomanual | Não | Versão do leiaute. O padrão atual é S.01.03.00. |
ambiente | Required | Obrigatório. Use 1 para produção ou 2 para produção restrita. |
s1200 | s1210 | s1298 | s1299 | s2299 | s3000 | Required | Exatamente um desses blocos deve ser informado por request. |
Regra operacional
- Se nenhum evento for enviado, a API retorna erro.
- Se mais de um tipo vier no mesmo payload, a API retorna erro.
- Os headers CNPJ e TOKEN são obrigatórios em todos os requests dessa API.
- Se ambiente não for informado, a API rejeita o payload e exige que o cliente escolha onde quer operar.
- Se idgrupoeventos for informado com valor incompatível com o evento, a API rejeita o payload.
- O envio é assíncrono e o processamento final deve ser acompanhado pela rota de consulta de protocolo.
Exemplo de payload
Exemplo prático com fechamento S-1299.
O exemplo abaixo usa S-1299 por ser um payload mais curto para demonstração. A mesma lógica vale para os demais eventos suportados, respeitando o bloco específico de cada tipo.
POST
/api-esocial/envio-de-eventos
cURL
curl -X POST "https://resocial.com.br/api-esocial/envio-de-eventos" \
-H "CNPJ: 12345678000190" \
-H "TOKEN: seu_token_de_api" \
-H "Content-Type: application/json" \
-d '{
"cpfcnpjtransmissor": "12345678000190",
"cpfcnpjempregador": "12345678000190",
"idgrupoeventos": "3",
"versaomanual": "S.01.03.00",
"ambiente": "2",
"s1299": [
{
"indApuracao": 1,
"perApur": "2026-03",
"tpAmb": 2,
"procEmi": 1,
"verProc": "1.0.0",
"tpInsc": 1,
"nrInsc": "12345678",
"evtRemun": "S",
"evtPgtos": "S",
"evtComProd": "N",
"evtContratAvNP": "N",
"evtInfoComplPer": "N",
"transDCTFWeb": "S",
"naoValid": "N"
}
]
}'
POST
/api-esocial/envio-de-eventos
Python
import requests
url = "https://resocial.com.br/api-esocial/envio-de-eventos"
headers = {
"CNPJ": "12345678000190",
"TOKEN": "seu_token_de_api",
}
payload = {
"cpfcnpjtransmissor": "12345678000190",
"cpfcnpjempregador": "12345678000190",
"idgrupoeventos": "3",
"versaomanual": "S.01.03.00",
"ambiente": "2",
"s1299": [
{
"indApuracao": 1,
"perApur": "2026-03",
"tpAmb": 2,
"procEmi": 1,
"verProc": "1.0.0",
"tpInsc": 1,
"nrInsc": "12345678",
"evtRemun": "S",
"evtPgtos": "S",
"evtComProd": "N",
"evtContratAvNP": "N",
"evtInfoComplPer": "N",
"transDCTFWeb": "S",
"naoValid": "N",
}
],
}
response = requests.post(url, headers=headers, json=payload, timeout=60)
print(response.status_code)
print(response.json())
INFO
Resposta esperada
No envio assíncrono, a API devolve event_type, event_id, protocolo_envio, status_code e status_desc.
Resposta (JSON)
[
{
"event_type": "S-1299",
"event_id": "ID1234567890000002026031815300000001",
"protocolo_envio": "FP1...",
"status_code": "201",
"status_desc": "Lote recebido. Consulte o protocolo para acompanhar o processamento.",
"ocorrencias": []
}
]