---
updatedAt: 2026-06-05T15:30:05.000Z
agentTools:
  projectIndex: https://docs.notagateway.com.br/llms.txt
---

# Webhook

Entenda o que é e como cadastrar um webhook para ser notificado das mudanças de status das suas notas fiscais

## O que é Webhook?

*Webhooks* permitem que sistemas externos recebam notificações de todos os eventos que ocorrem na API.

Quando um evento acontece, a API envia uma requisição <a href="https://pt.wikipedia.org/wiki/POST_(HTTP)" target="_blank">HTTP (POST)</a> para a *URL* configurada no *webhook* com as informações relativas ao evento.

Como o processamento de NFS-e ocorre de forma assíncrona, o webhook serve como um mecanismo para notificar o sistema de origem quando ocorre um evento na requisição (Ex: negada, cancelada, cancelamento negado e autorizada)

Ao receber a notificação, o sistema integrado a API pode executar diversas tarefas, dependendo do seu objetivo.

## Eventos que notificam seu sistema:

Seu sistema será notificado sempre que uma nota fiscal mudar para um dos status abaixo:

• ​**Autorizada** - Nota fiscal foi autorizada pelo órgão responsável;\
• ​**Negada** - Nota fiscal foi negada pelo órgão responsável;\
• ​**Cancelada** - O cancelamento da nota fiscal foi autorizado pelo órgão responsável;\
• ​**CancelamentoNegado** - O cancelamento da nota fiscal foi rejeitado pelo órgão responsável;

O valor em negrito representa o status que será retornado no parâmetro **"nfeStatus"**.

> ❗️ Parâmetro  "nfeMotivoStatus"
>
> Este parâmetro só retorna diferente de *null* nos seguintes <a href="https://portal.enotasgw.com.br/knowledge-base/webhooks-e-status-da-nota-fiscal/
> " target="_blank">status</a>:
>
> • "nfeStatus": "Negada",\
> • "nfeStatus": "CancelamentoNegado",

<br />

Os dados do POST de notificação variam por tipo de nota fiscal.

Exemplo de retorno de uma NFS-e:

<br />

```json WEBHOOK - NFS-e 
{
    "tipo": "NFS-e",
    "empresaId": "string",
    "nfeId": "string",
    "nfeIdExterno": "string",
    "nfeStatus": "string",
    "nfeMotivoStatus": "string",
    "nfeLinkPdf": "http://api.notagateway.com.br/file/(...)/pdf",
    "nfeLinkXml": "http://api.notagateway.com.br/file/(...)/xml",
    "nfeNumero": "string",
    "nfeCodigoVerificacao": "string",
    "nfeNumeroRps": "string",
    "nfeSerieRps": "string",
    "nfeDataCompetencia": "date"
}
```

<br />

**Entenda abaixo o significado de cada atributo no Webhook:**

| Campo                | Descrição                                                                          |    |
| :------------------- | :--------------------------------------------------------------------------------- | :- |
| tipo                 | Tipo de nota fiscal que está sendo emitida.                                        |    |
| empresaId            | Identificador da empresa associada à nota fiscal que gerou a notificação.          |    |
| nfeId                | Identificador interno da nota fiscal na Nota Gateway                               |    |
| nfeIdExterno         | Identificador da nota fiscal definido pelo seu sistema no momento da emissão.      |    |
| nfeStatus            | Status final em que se encontra a nota fiscal.                                     |    |
| nfeMotivoStatus      | Razão pela qual a nota fiscal está com o status atual.                             |    |
| nfeLinkPdf           | Link público para o download em PDF da nota fiscal (nota autorizada ou cancelada). |    |
| nfeLinkXml           | Link público para o download em XML da nota fiscal (nota autorizada ou cancelada). |    |
| nfeNumero            | Número da nota fiscal no município.                                                |    |
| nfeCodigoVerificacao | Código de verificação, quando aplicável.                                           |    |
| nfeNumeroRps         | Número de RPS (Recibo Provisório de Serviço) da nota fiscal.                       |    |
| nfeSerieRps          | Número de série da nota fiscal.                                                    |    |
| nfeDataCompetencia   | Data de competência da nota fiscal.                                                |    |

<br />

## Como cadastrar o Webhook:

Pelo <Anchor label="painel da Nota Gateway" target="_blank" href="https://app.notagateway.com.br/">painel da Nota Gateway</Anchor>, acesse o menu **Webhooks** ➟ **Novo webhook**:

<Image align="center" src="https://files.readme.io/f1db6de297ecc8b20a479527055d88a2ecb8a3efd4470ff41a22e608fcaae4ab-Screenshot_1.png" />

<br />

**Entenda o significado de cada campo:**

![637](https://files.readme.io/0fb420f-webhook-enotasgateway-add-2.png "webhook-enotasgateway-add-2.png")

• **Url**\
Insira neste campo o link direto para a página do seu sistema que será notificada;

• **Content-Type**\
Escolha o formato que o Gateway deve utilizar para comunicar com seu sistema (<a href="https://www.json.org/json-en.html" target="_blank">JSON</a> ou <a href="https://www.w3.org/XML/" target="_blank">XML</a>);

• **Token**\
Se desejar, você pode especificar um *token*, ou seja, um código ou frase de sua preferência no cadastro de seu webhook.

Essa informação será enviada pelo Gateway​ em cada notificação para o seu link cadastrado, dessa forma, você consegue garantir que a requisição (POST) está realmente sendo enviada pela Nota Gateway

O token de autenticação do webhook fica no cabeçalho da requisição, mais especificamente, no item "x-token".

<br />

> 📘 Exemplo de envio de um token no headers
>
> "headers": \{ "x-token": "Token webhook", "content-type": "application/json; charset=utf-8"}

<br />

**Observações:**

* O payload do webhook fornece o status e os detalhes do processo de emissão da NFS-e.

* Para NFS-es autorizadas, são incluídos links para download do PDF e do XML.

* NFS-es negadas não incluem links para download do PDF ou do XML, pois a emissão não foi concluída.

<br />

## Fluxo de retentativa de envio em caso de falha

Se seu sistema apresentar instabilidades ou estiver fora do ar, o **Gateway tentará lhe enviar o webhook de notificação até receber o status "HTTP 200"**, que indica que o webhook foi recebido e tratado com sucesso.

**Serão realizadas 15 tentativas com intervalos de tempo progressivos entre cada uma delas, totalizando, em média, 4 horas.**