> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cardapioweb.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Visão geral dos webhooks da Cardápio Web

> Como cadastrar URLs de webhook no Portal, autenticar notificações recebidas e confirmar a entrega com resposta HTTP 200 na integração com a Cardápio Web.

O uso de webhooks é uma abordagem interessante para evitar eventos de polling. Por meio deles, sua aplicação pode ser notificada sempre que ocorrer uma mudança em um recurso, garantindo uma **comunicação eficiente** e **simplificando a integração**.

Ao ativar o webhook, uma requisição **POST** será enviada para o endereço configurado sempre que ocorrerem alterações nos recursos integrados. A requisição conterá informações sobre o evento e o recurso afetado.

## Cadastrando uma URL

Para cadastrar uma URL para recebimento de webhooks, siga estas etapas no nosso Portal: vá para a seção **Configurações**, escolha a opção **Integrações** e, em seguida, selecione **API**. Nessa área, você poderá visualizar os webhooks existentes e adicionar novos.

É importante ressaltar que a seção de webhooks só estará visível se o token tiver sido gerado previamente.

Abaixo, estão apresentadas as imagens ilustrativas do passo a passo mencionado anteriormente.

<img src="https://mintcdn.com/cardpioweb/slLFMQ0YlHHRmsN9/images/2023-06-23_02-52.png?fit=max&auto=format&n=slLFMQ0YlHHRmsN9&q=85&s=febc9fd2d3391d74c5e5c33e9a95ee3c" alt="Cadastro de webhook no Portal — passo 1" width="1434" height="816" data-path="images/2023-06-23_02-52.png" />

<img src="https://mintcdn.com/cardpioweb/slLFMQ0YlHHRmsN9/images/2023-06-23_02-52_1.png?fit=max&auto=format&n=slLFMQ0YlHHRmsN9&q=85&s=1fd7d48586eefe53d11580652ce92969" alt="Cadastro de webhook no Portal — passo 2" width="1433" height="814" data-path="images/2023-06-23_02-52_1.png" />

### Token de autenticação (opcional)

Durante o cadastro da URL, é possível incluir um **token para autenticar as requisições** geradas pelo nosso sistema. O token fornecido será enviado no header `X-Webhook-Token` em todas as requisições feitas para a URL cadastrada.

## Retornando HTTP 200

Para que o nosso sistema considere a notificação como processada com sucesso, o status HTTP da resposta deve ser `200 OK`. Qualquer outro status será interpretado como uma falha.

O tempo limite para a resposta ao POST do webhook é de **5 segundos**. Caso nenhuma resposta seja recebida dentro desse período, será considerado como falha.

### Retentativas

Em caso de falhas, serão realizadas retentativas até que seja obtida uma resposta com o código `HTTP 200 OK`, ou até que seja atingido o limite máximo de **15 retentativas**.

O intervalo entre as retentativas começa com **15 segundos**, seguido por **30 segundos**, **60 segundos**, **120 segundos**, **300 segundos** e **600 segundos**. A partir da sétima tentativa, os envios subsequentes serão realizados a cada **900 segundos**.

Após as **15 retentativas**, a notificação será descartada e o webhook correspondente será pausado. Enquanto pausado, todas as notificações subsequentes serão descartadas automaticamente.

Após certificar-se de que seu sistema responderá com `HTTP 200 OK`, você pode reativar o webhook através do nosso Portal.

### Como testar

Caso deseje cadastrar um webhook na conta de testes no ambiente Sandbox, faça uma solicitação através do e-mail `integracao@cardapioweb.com`.

Para testar o retorno dos webhooks, você pode utilizar ferramentas online como:

* [Pipedream RequestBin](https://pipedream.com/requestbin)
* [Webhook.site](https://webhook.site)
