NF-e eventos JSON — referência de campos
Endpoint: GET /api/integration/dfe/nfe/inbound/eventos · Referência OpenAPI: NF-e Public API.
Documento de referência — Dicionário campo a campo do objeto
metadataretornado pelo endpoint de eventos NF-e inbound. O mesmo objeto, comprimido (Gzip+Base64), é o conteúdo do campojsonquandojson=true.
Endpoint: GET /api/integration/dfe/nfe/inbound/eventos · Referência OpenAPI: NF-e Public API.
Convenções deste documento
eventDateParté a partição de data do evento (derivada dechNFe), não um instante — sai como string ISO datetime ("2026-01-01T00:00:00"). As demais datas (dhEvento,dhRegEvento,createdAt,updatedAt) saem como epoch milliseconds UTC.issuerTypeé sempre"INBOUND"nesta listagem — o mesmo modelo de dados também guarda eventosOUTBOUND(transmitidos pelo próprio MI), mas eles não aparecem aqui.detEvento(o detalhe assinado completo do evento) não é serializado neste objeto — obtenha-o viaxml=true.emailDesteusernamevariam por origem do evento. Nos eventos de Distribuição DF-e (autorados por terceiros, ex.: cancelamento, carta de correção) ambos são semprenull— a Distribuição não carrega e-mail de destinatário nem usuário responsável pela transmissão, então a chave fica ausente do JSON real. Já nas quatro manifestações do destinatário (ciência, confirmação, desconhecimento, operação não realizada), o evento é transmitido pelo próprio MI em nome do cliente:usernamevem preenchido com o usuário que transmitiu, eemailDestvolta vazio ("", nãonull) quando a SEFAZ não o devolve — nesse caso a chave aparece no JSON com string vazia.
1. Campos
| Campo | Tipo | Descrição |
|---|---|---|
eventDatePart | string (ISO datetime) | Partição de data do evento (derivada de chNFe), não um instante. |
id | UUID | Identificador interno do registro do evento. |
customerId | UUID | Tenant proprietário do registro. |
companyId | UUID | Empresa (do tenant) que é parte da NF-e para este item. |
chNFe | string (44) | Chave de acesso da NF-e à qual o evento está vinculado. |
issuerType | string | "INBOUND" ou "OUTBOUND". Sempre "INBOUND" nesta listagem. |
eventId | string | Identificador do evento na SEFAZ. Vem do atributo Id de infEvento no XML; se ausente, é derivado como "ID" + tpEvento + chNFe + nSeqEvento (2 dígitos). |
cOrgao | string | Código IBGE do órgão autorizador do evento. Nas manifestações do destinatário é o Ambiente Nacional ("91"). |
tpAmb | short | Ambiente: 1 = Produção; 2 = Homologação. |
cnpjCpfAutor | string | CNPJ/CPF do autor do evento (quem o registrou na SEFAZ). Nas manifestações, é a empresa destinatária do seu tenant. |
tpEvento | int | Código SEFAZ do tipo de evento (ver seção 2). |
dhEvento | long (epoch ms) | Data/hora do evento, informada pelo autor. |
nSeqEvento | short | Número sequencial do evento para aquele (chNFe, tpEvento). |
cStat | short, nullable | Código de status do protocolo SEFAZ do evento. |
xMotivo | string, nullable | Motivo/mensagem do protocolo SEFAZ. |
xEvento | string, nullable | Descrição textual do evento no protocolo de retorno. |
cnpjCpfDest | string, nullable | CNPJ/CPF do destinatário, quando o evento carrega essa informação. |
emailDest | string, nullable | Nos eventos de Distribuição DF-e (terceiros) é sempre null — a chave fica ausente do JSON. Nas manifestações do destinatário (transmitidas pelo próprio MI), vem como string vazia ("") quando a SEFAZ não devolve o e-mail — nesse caso a chave aparece no JSON. |
dhRegEvento | long (epoch ms), nullable | Data/hora de registro do evento na SEFAZ (protocolo de retorno). |
nProt | long, nullable | Número do protocolo SEFAZ do evento. |
createdAt | long (epoch ms) | Quando o registro foi persistido no MI. Campo de ordenação/keyset da paginação. |
updatedAt | long (epoch ms) | Última atualização do registro. |
username | string, nullable | Nos eventos de Distribuição DF-e (terceiros) é sempre null — a chave fica ausente do JSON (o evento não foi transmitido pelo MI). Nas manifestações do destinatário, vem preenchido com o usuário que transmitiu o evento em nome do cliente. |
2. Tipos de evento (tpEvento)
Os eventos de manifestação do destinatário — autorados por uma empresa do seu tenant sobre uma nota recebida:
tpEvento | Evento |
|---|---|
210200 | Confirmação da Operação |
210210 | Ciência da Operação |
210220 | Desconhecimento da Operação |
210240 | Operação não Realizada |
Além destes, aparecem eventos recebidos via Distribuição DF-e autorados por terceiros (ex.: cancelamento 110111, carta de correção 110110, etc.) quando o tenant é contraparte. Não há catálogo fechado no backend — o parser aceita qualquer tpEvento que a Distribuição DF-e entregue; a lista de tipos válidos é definida pela SEFAZ, não pelo MI. O endpoint não filtra por tpEvento.
3. Multiplicidade por empresa
Um mesmo evento SEFAZ pode aparecer mais de uma vez quando várias empresas do tenant são partes da NF-e afetada — cada empresa recebe sua própria cópia do evento, com companyId distinto e o mesmo chNFe/eventId.
4. Exemplo
Exemplo de uma manifestação do destinatário (Ciência da Operação, tpEvento 210210) — por isso username vem preenchido e emailDest vem como string vazia. Num evento de Distribuição DF-e (ex.: cancelamento de terceiro), ambas as chaves estariam ausentes do JSON.
{
"eventDatePart": "2026-01-01T00:00:00",
"id": "0198c0de-0000-7000-8000-000000000003",
"customerId": "0198c0de-0000-7000-8000-000000000001",
"companyId": "0198c0de-0000-7000-8000-000000000002",
"chNFe": "35260111111111111111550010000000011000000015",
"issuerType": "INBOUND",
"eventId": "ID2102103526011111111111111155001000000001100000001501",
"cOrgao": "91",
"tpAmb": 2,
"cnpjCpfAutor": "11111111111111",
"tpEvento": 210210,
"dhEvento": 1768469400000,
"nSeqEvento": 1,
"cStat": 135,
"xMotivo": "Evento registrado e vinculado a NF-e",
"xEvento": "Ciencia da Operacao",
"cnpjCpfDest": "22222222222222",
"emailDest": "",
"dhRegEvento": 1768471200000,
"nProt": 135260000000002,
"createdAt": 1768478400000,
"updatedAt": 1768478700000,
"username": "mde-service"
}