---
title: "Catálogo de eventos de webhook — Documentos recebidos"
description: "Todos os eventos de webhook de captura de NF-e, CT-e e NFS-e de terceiros contra o seu CNPJ, com payload real anonimizado."
source_url: https://nfe.io/docs/webhooks/catalogo-entrada
last_updated: 2026-08-26
---

# Catálogo de eventos de webhook — Documentos recebidos

Esta página é a referência completa dos 4 eventTypes de **entrada** — documentos que terceiros emitem contra o seu CNPJ e que a NFE.io captura para você. Para o guia didático desses eventos, veja [Payloads de webhooks de documentos recebidos](../guias/payloads-de-entrada.md).

Todos os eventos de entrada entregam os campos **achatados na raiz**, sem envelope.

## Política de entrega

- **Entrega:** at-least-once. Garanta idempotência por `X-Hook-Id` e, quando disponível, `nsu`.
- **Retry:** reentrega automática em falha de rede ou resposta não-2xx.
- **Timeout:** responda 2xx rápido e processe de forma assíncrona.
- **Assinatura:** valide o HMAC do cabeçalho antes de processar. Veja [Dúvidas frequentes](../duvidas-frequentes.md).

## Os 4 tipos

| eventType | Documento | Quando dispara |
|---|---|---|
| `product_invoice_inbound` | NF-e completa | NF-e autorizada contra seu CNPJ, com XML disponível |
| `product_invoice_inbound_summary` | Resumo de NF-e | Só metadados — XML completo ainda não liberado pela SEFAZ |
| `transportation_invoice_inbound` | CT-e | CT-e em que sua empresa é destinatária, tomadora, remetente ou emitente |
| `service_invoice_inbound` | NFS-e recebida | NFS-e capturada contra seu CNPJ |

## Como `event_raised_successfully` e `input_event_raised_successfully` se distinguem

Ambas as ações representam um evento vinculado a uma NF-e já recebida — não a nota em si. A diferença está no código do evento da SEFAZ:

- **`input_event_raised_successfully`** dispara para os 4 eventos de **Manifestação do Destinatário**: código `210200` (Confirmação da Operação), `210210` (Ciência da Operação), `210220` (Desconhecimento da Operação) e `210240` (Operação não Realizada).
- **`event_raised_successfully`** dispara para qualquer outro evento — Carta de Correção, Cancelamento, EPEC, e os demais eventos do layout da NF-e.

Para o tipo resumo (`product_invoice_inbound_summary`), a ação de evento é **sempre** `event_raised_successfully` — não existe `input_event_raised_successfully` no shape de resumo.

## Eventos de NF-e (`product_invoice_inbound`)

### `product_invoice_inbound.issued_successfully`

**Quando dispara:** uma NF-e completa foi recebida contra o seu CNPJ, com XML disponível.

**Payload:**

```json
{
  "accessKey": "20067692631216642359468835243948726939910022",
  "createdOn": "2026-08-18T00:48:02.58Z",
  "parentAccessKey": "",
  "company": {
    "id": "fb487ff47f108587",
    "federalTaxNumber": "44338200330345"
  },
  "issuer": {
    "federalTaxNumber": "44338200330345",
    "name": "Papelaria Horizonte LTDA"
  },
  "buyer": {
    "federalTaxNumber": "44338200330345",
    "name": "Tecnologia Meridiano LTDA"
  },
  "transportation": {
    "federalTaxNumber": "44338200330345",
    "name": "Grafica Estrela do Sul LTDA"
  },
  "links": {
    "xml": "https://exemplo.nfe.io/xml/nota.xml",
    "pdf": "https://exemplo.nfe.io/pdf/nota.pdf"
  },
  "blobUrl": "b2://dfenfe/exemplo/documento.xml",
  "type": "productInvoice",
  "nsu": "000000012345678",
  "nsuParent": "",
  "nfeNumber": "53145",
  "nfeSerialNumber": "0",
  "issuedOn": "2026-08-17T15:56:40+00:00",
  "totalInvoiceAmount": "1258.60",
  "operationType": "Incoming",
  "environmentType": 0,
  "direction": "Received"
}
```

**Idempotency key:** `accessKey` + `nsu`.

### `product_invoice_inbound.event_raised_successfully`

**Quando dispara:** um evento não-manifestação foi registrado contra uma NF-e já recebida — por exemplo, Carta de Correção (código `610130` no exemplo abaixo).

**Payload:** mesmo shape base, campo `type` vira `productInvoiceEvent`, e ganha o bloco `event`:

```json
{
  "accessKey": "20067692631216642359468835243948726939910022",
  "createdOn": "2026-08-18T00:56:44.68Z",
  "parentAccessKey": "20067692631216642359468835243948726939910099",
  "company": { "id": "fb487ff47f108587", "federalTaxNumber": "44338200330345" },
  "issuer": { "federalTaxNumber": "44338200330345", "name": "Papelaria Horizonte LTDA" },
  "buyer": { "federalTaxNumber": "44338200330345", "name": "Tecnologia Meridiano LTDA" },
  "transportation": { "federalTaxNumber": "44338200330345", "name": "Grafica Estrela do Sul LTDA" },
  "links": { "xml": "https://exemplo.nfe.io/xml/evento.xml", "pdf": "" },
  "blobUrl": "b2://dfenfe/exemplo/evento.xml",
  "type": "productInvoiceEvent",
  "nsu": "000000012345679",
  "nsuParent": "000000012345678",
  "nfeNumber": "665779",
  "nfeSerialNumber": "1",
  "issuedOn": "2026-08-13T13:29:00+00:00",
  "totalInvoiceAmount": "50713",
  "operationType": "Incoming",
  "environmentType": 0,
  "event": {
    "id": "e87a03a3152b73f1",
    "code": 610130,
    "sequence": 1,
    "receiptOn": "2026-08-17T23:49:02+00:00"
  }
}
```

`nsuParent` aponta para o `nsu` do documento original — use-o para relacionar o evento à NF-e que ele modifica.

**Idempotency key:** `accessKey` + `nsu`.

### `product_invoice_inbound.input_event_raised_successfully`

**Quando dispara:** você (ou seu sistema) registrou uma Manifestação do Destinatário — Confirmação, Ciência, Desconhecimento ou Operação Não Realizada.

**Payload:** mesmo shape de `event_raised_successfully`, com `event.code` sendo um dos 4 valores de manifestação:

```json
{
  "event": {
    "id": "e87a03a3152b73f1",
    "code": 210200,
    "sequence": 1,
    "receiptOn": "2026-08-17T23:49:02+00:00"
  }
}
```

| `event.code` | Manifestação |
|---|---|
| `210200` | Confirmação da Operação |
| `210210` | Ciência da Operação |
| `210220` | Desconhecimento da Operação |
| `210240` | Operação não Realizada |

**Idempotency key:** `accessKey` + `nsu`.

## Eventos de resumo de NF-e (`product_invoice_inbound_summary`)

O resumo chega quando a SEFAZ ainda não liberou o XML completo. Comparado ao tipo completo, **faltam** `buyer`, `transportation`, `nfeSerialNumber` e `links.pdf`; e `issuedOn` aqui reflete a **data de recebimento na distribuição** (não a data de emissão do XML original).

:::warning `issuedOn` no resumo não é a data de emissão
No tipo completo, `issuedOn` vem do XML da nota. No resumo, `issuedOn` vem do recebimento na distribuição SEFAZ — pode ser dias depois da emissão real. Não trate como data de emissão sem conferir.
:::

### `product_invoice_inbound_summary.issued_successfully`

**Payload:**

```json
{
  "accessKey": "20067692631216642359468835243948726939910022",
  "createdOn": "2026-08-18T00:48:02.52Z",
  "company": {
    "id": "fb487ff47f108587",
    "federalTaxNumber": "44338200330345"
  },
  "issuer": {
    "federalTaxNumber": "44338200330345",
    "name": "Papelaria Horizonte LTDA"
  },
  "links": {
    "xml": "https://exemplo.nfe.io/xml/resumo.xml"
  },
  "blobUrl": "b2://dfenfe/exemplo/resumo.xml",
  "type": "productInvoiceSummary",
  "nsu": "000000012345680",
  "nfeNumber": "000207820",
  "issuedOn": "2026-08-17T20:35:37+00:00",
  "totalInvoiceAmount": "2786.00",
  "operationType": "Outgoing",
  "environmentType": 0,
  "direction": "Received"
}
```

**Idempotency key:** `accessKey` + `nsu`.

### `product_invoice_inbound_summary.event_raised_successfully`

**Payload:** mesmo shape do resumo, com `type: "productInvoiceSummaryEvent"` e bloco `event` — sempre `event_raised_successfully`, nunca `input_event_raised_successfully`, mesmo para manifestação:

```json
{
  "accessKey": "20067692631216642359468835243948726939910022",
  "createdOn": "2026-08-18T00:56:44.68Z",
  "parentAccessKey": "20067692631216642359468835243948726939910099",
  "company": { "id": "fb487ff47f108587", "federalTaxNumber": "44338200330345" },
  "issuer": { "federalTaxNumber": "44338200330345", "name": "Papelaria Horizonte LTDA" },
  "links": { "xml": "https://exemplo.nfe.io/xml/evento-resumo.xml", "pdf": "" },
  "blobUrl": "b2://dfenfe/exemplo/evento-resumo.xml",
  "type": "productInvoiceSummaryEvent",
  "nsu": "000000012345679",
  "nfeNumber": "665779",
  "issuedOn": "2026-08-13T13:29:00+00:00",
  "totalInvoiceAmount": "50713",
  "operationType": "Incoming",
  "environmentType": 0,
  "event": {
    "id": "e87a03a3152b73f1",
    "code": 610130,
    "sequence": 1,
    "receiptOn": "2026-08-17T23:49:02+00:00"
  }
}
```

**Idempotency key:** `accessKey` + `nsu`.

## Eventos de CT-e (`transportation_invoice_inbound`)

### `transportation_invoice_inbound.issued_successfully`

**Quando dispara:** um CT-e foi recebido em que sua empresa é destinatária, tomadora ou remetente (`direction: "Received"`).

**Payload:**

```json
{
  "recipient": { "federalTaxNumber": "44338200330345", "name": "Industria Ponta Norte S.A." },
  "sender": { "federalTaxNumber": "44338200330345", "name": "Grafica Estrela do Sul LTDA" },
  "taker": { "federalTaxNumber": "44338200330345", "name": "Metalurgica Boa Vista LTDA" },
  "dispatcher": { "federalTaxNumber": "44338200330345", "name": "Atacado Ferreira & Filhos LTDA" },
  "issuedOn": "2026-08-17T20:00:31+00:00",
  "productInvoices": [{ "accessKey": "77838944273181403097002144935518350097110030" }],
  "totalAmount": "6.71",
  "direction": "Received",
  "id": "9945c26da840f80a",
  "createdOn": "2026-08-18T00:49:20.01Z",
  "accessKey": "20067692631216642359468835243948726939910022",
  "parentAccessKey": "",
  "nsu": "000000012345678",
  "company": { "id": "fb487ff47f108587" },
  "type": "transportationInvoice",
  "xmlUrl": "https://exemplo.nfe.io/xml/cte.xml"
}
```

`productInvoices[]` lista as NF-e vinculadas ao CT-e, quando houver.

**Idempotency key:** `accessKey` + `nsu`.

### `transportation_invoice_inbound.outbound_successfully`

**Quando dispara:** um CT-e retornado pela distribuição SEFAZ tem **sua própria conta como emitente** (`direction: "Issued"`) — não é um documento de terceiro chegando, é seu próprio CT-e aparecendo no canal de distribuição.

**Payload:** mesmo shape base, com `direction: "Issued"`:

```json
{
  "recipient": { "federalTaxNumber": "44338200330345", "name": "Industria Ponta Norte S.A." },
  "sender": { "federalTaxNumber": "44338200330345", "name": "Grafica Estrela do Sul LTDA" },
  "taker": { "federalTaxNumber": "44338200330345", "name": "Metalurgica Boa Vista LTDA" },
  "dispatcher": { "federalTaxNumber": "44338200330345", "name": "Atacado Ferreira & Filhos LTDA" },
  "issuedOn": "2026-08-17T18:35:17+00:00",
  "productInvoices": [{ "accessKey": "77838944273181403097002144935518350097110030" }],
  "totalAmount": "15.60",
  "direction": "Issued",
  "id": "9945c26da840f80a",
  "createdOn": "2026-08-18T01:32:28.00Z",
  "accessKey": "20067692631216642359468835243948726939910022",
  "parentAccessKey": "",
  "nsu": "000000012345678",
  "company": { "id": "fb487ff47f108587", "federalTaxNumber": "44338200330345" },
  "type": "transportationInvoice",
  "xmlUrl": "https://exemplo.nfe.io/xml/cte.xml"
}
```

Esta ação foi observada até hoje apenas em CT-e. O mecanismo interno é genérico por direção do documento — se você emitir NF-e e ela retornar pela distribuição, o mesmo padrão pode se aplicar.

**Idempotency key:** `accessKey` + `nsu`.

### `transportation_invoice_inbound.event_raised_successfully`

**Quando dispara:** um evento foi registrado contra um CT-e já recebido.

**Payload:**

```json
{
  "receiptOn": "2026-08-18T05:46:39+00:00",
  "id": "9945c26da840f80a",
  "createdOn": "2026-08-18T09:02:15.12Z",
  "accessKey": "20067692631216642359468835243948726939910022",
  "parentAccessKey": "20067692631216642359468835243948726939910099",
  "nsu": "000000012345679",
  "company": { "id": "fb487ff47f108587" },
  "type": "transportationInvoiceEvent",
  "xmlUrl": "https://exemplo.nfe.io/xml/evento-cte.xml"
}
```

**Idempotency key:** `accessKey` + `nsu`.

## Eventos de NFS-e recebida (`service_invoice_inbound`)

Este eventType usa um shape diferente dos demais — envelope próprio com `eventName`, `document` aninhado e campos fiscais completos (`taxes`, `amounts`).

### `service_invoice_inbound.issued_successfully`

**Payload:**

```json
{
  "eventName": "inbound.serviceInvoice.received",
  "type": "serviceInvoice",
  "accountId": "77b8ce7fc7e8f57e",
  "document": {
    "id": "32698345792ade4c",
    "direction": "Received",
    "accessKey": "07027571856179777714472370526884045867942652",
    "generatedOn": "2026-08-17T20:18:07Z",
    "issuedOn": "2026-08-17T17:18:07-03:00",
    "provider": {
      "federalTaxNumber": "44338200330345",
      "name": "Transportes Rio Claro LTDA",
      "state": "RJ"
    },
    "borrower": {
      "federalTaxNumber": "44338200330345",
      "name": "Grafica Estrela do Sul LTDA",
      "state": null
    },
    "servicesAmount": 1799.20,
    "federalServiceCode": "010501",
    "cityServiceCode": "001",
    "amounts": {
      "amountNet": 1799.20
    },
    "taxes": {
      "regime": { "simplesNacionalOption": "1", "specialTaxRegime": "0" },
      "issqn": { "situationCode": "1", "retentionType": "1", "base": 1799.20, "rate": 2.90, "amount": 52.17 },
      "ibsCbs": {
        "situationCode": "000",
        "classCode": "000001",
        "operationIndicator": "100501",
        "incidenceCity": { "code": "2927408", "name": "Salvador" },
        "basis": 1747.02,
        "ibs": { "state": { "rate": 0.10, "amount": 1.74 }, "municipal": { "rate": 0.00, "amount": 0.00 }, "totalAmount": 1.75 },
        "cbs": { "rate": 0.90, "amount": 15.72 }
      }
    },
    "environment": "Production",
    "xmlUrl": "https://exemplo.nfe.io/xml/nfse.xml",
    "pdfUrl": "https://exemplo.nfe.io/pdf/nfse.pdf"
  }
}
```

Campos nulos (como `provider.state` quando a prefeitura não informa) são enviados como `null` neste eventType — diferente do padrão de emissão, que costuma omitir o campo.

**Idempotency key:** `document.id` ou `document.accessKey`.

### `service_invoice_inbound.event_raised_successfully`

**Quando dispara:** um evento foi registrado contra uma NFS-e recebida — por exemplo, cancelamento pelo prestador.

**Payload:**

```json
{
  "eventName": "inbound.serviceInvoice.event.received",
  "accountId": "77b8ce7fc7e8f57e",
  "document": {
    "id": "32698345792ade4c",
    "type": "serviceInvoiceEvent",
    "eventType": "Cancellation",
    "eventCode": "101101",
    "accessKey": "07027571856179777714472370526884045867942652",
    "generatedOn": "2026-08-17T03:00:00Z",
    "issuedOn": null,
    "provider": null,
    "borrower": null,
    "environment": "Production",
    "xmlUrl": "https://exemplo.nfe.io/xml/evento-nfse.xml",
    "pdfUrl": null
  }
}
```

Quando o evento não carrega dados fiscais completos (como um cancelamento), `provider`, `borrower` e os blocos de valores vêm `null` em vez de omitidos.

**Idempotency key:** `document.id`.

## Como validar a assinatura

Veja o exemplo de validação de HMAC em [Dúvidas frequentes](../duvidas-frequentes.md).

## Veja também

- [Payloads de webhooks de documentos recebidos — guia](../guias/payloads-de-entrada.md)
- [Catálogo de eventos — visão geral](../catalogo-de-eventos.md)
- [Catálogo de eventos de saída — NFS-e](../catalogo-saida/catalogo-saida-nfse.md)
