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, S-2500, S-2501, S-2555, S-3000 ou S-3500
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.

CampoObrigatórioDescrição
cpfcnpjtransmissorRequiredDocumento do transmissor vinculado ao certificado usado no envio.
cpfcnpjempregadorRequiredDocumento do empregador relacionado ao evento.
idgrupoeventosNão Grupo do evento. A API infere automaticamente quando o campo não for enviado: "3" para s1298, s1299, s1200 e s1210; "2" para s2299, s2500, s2501, s2555, s3000 e s3500.
versaomanualNãoVersão do leiaute. O padrão atual é S.01.03.00.
ambienteRequiredObrigatório. Use 1 para produção ou 2 para produção restrita.
s1200 | s1210 | s1298 | s1299 | s2299 | s2500 | s2501 | s2555 | s3000 | s3500RequiredExatamente 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.
  • Para excluir S-2500 aceito, use S-3500; S-3000 não exclui processo trabalhista.
  • 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": []
    }
  ]