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.

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 s3000 e s2299.
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 | s3000RequiredExatamente 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": []
    }
  ]