# Exemplo de Webhook

## 6 Exemplos de Aplicações Práticas de Webhooks para Receber Informações

1. Notificações de Novos Pedidos (E-commerce): Um webhook pode ser configurado para ser disparado sempre que um novo pedido é feito em sua loja virtual. Ele envia os detalhes do pedido para o sistema de chat, que cria uma nova conversa para o cliente, aplica uma etiqueta como "Novo Pedido" e preenche campos customizáveis com informações como o número do pedido, itens comprados e o valor total.
2. Alertas de Pagamento e Assinatura: Um gateway de pagamento pode enviar um webhook para o sistema de chat sempre que um pagamento é concluído, falha ou uma assinatura é cancelada. O sistema de chat, então, atualiza a conversa do cliente, adicionando uma etiqueta como "Pagamento Confirmado" ou "Assinatura Cancelada" e preenche um campo customizável com o ID da transação.
3. Atualizações de Status de Encomendas: Um serviço de logística pode enviar webhooks para o seu sistema de chat com atualizações de rastreamento de uma encomenda. A conversa do cliente é atualizada automaticamente, e um campo customizável pode exibir o status mais recente ("Em Trânsito", "Entregue"), junto com uma etiqueta "Status de Envio Atualizado".
4. Sincronização de Dados de CRM: Quando um dado de cliente é atualizado em seu CRM (telefone, e-mail, empresa), um webhook pode disparar o envio dessa informação para o sistema de chat. O perfil do cliente no chat é atualizado instantaneamente, e uma etiqueta como "CRM Sincronizado" pode ser adicionada para indicar a atualização.
5. Notificações de Formulários e Captura de Leads: Após um cliente preencher um formulário de contato ou de orçamento em seu site, um webhook pode enviar os dados para o sistema de chat. Um contato é criado no sistema, uma etiqueta "Novo Lead" é aplicada, e os campos customizáveis são preenchidos com as respostas do formulário, permitindo, inclusive, o envio imediato de mensagens automáticas ao novo contato.
6. Status de Suporte e Atendimento: Uma ferramenta de help desk externa pode enviar um webhook para o sistema de chat quando um ticket de suporte do cliente é atualizado ou resolvido. O sistema de chat pode então atualizar a conversa do cliente com a etiqueta "Ticket Resolvido" e preencher um campo customizável com o número do ticket e os detalhes da resolução, mantendo o histórico de interações unificado.

## Passo a Passo da configuração de um Webhook de Escuta de pagamento:

Vamos supor que a sua empresa possui um sistema de pagamentos que irá disparar a seguinte requisição:

```
{
"Telefone": "43996459656"
"CPF": "731.547.930-97"
"Pagamento": "Aprovado"
}
```

Para isso, você terá que criar um *Webhook de Escuta* para receber essa requisição.

### Criação de um Webhook de Escuta

Para criar o Webhook, vá até Webhook > **Gerenciamento**. Depois disso, **informe o nome do Webhook** e clique **OK**.

Na listagem de webhooks, encontre o webhook criado e clique no ícone de **Edição**:

<figure><img src="/files/oiWb9Yqov2FN8mnThEOY" alt=""><figcaption></figcaption></figure>

### Copiar e colar o Link do Webhook

Na tela de edição do webhook, o primeiro campo que aparece é o **Link do Webhook**.&#x20;

<figure><img src="/files/GGv8Gq34xa39TLiJCybc" alt=""><figcaption></figcaption></figure>

Você deve **copiar esse link** e **colar nas configurações do sistema de pagamento** que será responsável por enviar a notificação (requisição) para o seu sistema.

{% hint style="info" %}
Cada sistema que utiliza webhooks possui **configurações próprias e diferentes formas de funcionamento**. Por isso, **não é possível fornecer um passo a passo único e padrão** para todos os casos.\
É importante consultar a **documentação específica** do sistema que você está usando para entender como configurar corretamente o envio do webhook com o link fornecido.
{% endhint %}

### Requisição de Teste

Após configurar o webhook que irá **enviar as requisições de pagamento**, você pode fazer uma requisição de teste para verificar se está tudo funcionando corretamente, desde que o sistema de pagamento que você está usando permita isso.

{% hint style="info" %}
É importante entender que o **envio da requisição de teste é feito pelo sistema de pagamento** (ou seja, o sistema que dispara o webhook), **e não pelo webhook que você está configurando para receber os dados**.
{% endhint %}

Quando essa requisição de teste for enviada, ela aparecerá na seção chamada **“Suas requisições de teste”**, dentro da tela do webhook que está recebendo as informações.

<figure><img src="/files/IoXJlJjPp4eAkzVhmwfV" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Atenção: a requisição de teste aparecerá apenas se o *webhook* estiver no modo de teste.
{% endhint %}

Ao selecionar uma das requisições de teste, as informações da requisição serão mostradas na tela. &#x20;

<figure><img src="/files/OLQluiZhq0ozL0WrOZfw" alt=""><figcaption></figcaption></figure>

#### Por que é interessante fazer uma requisição de teste?

Ao **selecionar uma das requisições de teste**, o campo chamado **“Valor”**, que aparece nas seções de **Mapeamento de Propriedades** e **Mapeamento de Campos**, vai mostrar automaticamente as informações que foram recebidas nessa requisição — ou seja, os dados que vieram do webhook do sistema de pagamento.

Se você **não usar uma requisição de teste**, será necessário saber **exatamente os nomes das propriedades** que o sistema de pagamento irá enviar. Caso contrário, você **não conseguirá configurar corretamente a busca e o mapeamento**, já que não saberá os nomes das propriedades que deve usar para direcionar essas informações no seu sistema.

### Selecionando o tipo de webhook

Nesse exemplo iremos selecionar o tipo de webhook **Contato**, pois iremos pesquisar no sistema um contato e atualizar as informações dele.

### **Buscar ou criar um contato**

Agora faremos a busca no sistema pelo contato que desejamos atualizar as informações de pagamento.&#x20;

Para isso, nesse exemplo, iremos utilizar a lógica do filtro "E, depois selecionar o campo "Telefone" e selecionar a propriedade {telefone}.

{% hint style="info" %}
Se a requisição de teste não tiver sido realizada, ao clicar no campo "Valor", a propriedade {telefone} não irá aparecer na listagem, sendo necessário, portanto, escrevê-la manualmente no campo vazio abaixo. Se tiver sido feita a requisição de teste, a propriedade será listada e, ao selecioná-la, o campo vazio abaixo será preenchido automaticamente.&#x20;
{% endhint %}

<figure><img src="/files/vHEl8um3L9LbWPRH0v5R" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Só para entender um pouco mais o que está acontecendo: a sessão "Campo" em que foi selecionada a opção "Telefone" se trata do campo de sistema "Telefone". Ou seja, é o campo do sistema em que o telefone do conto fica registrado.&#x20;
{% endhint %}

Feita as seleções, clique em "Salvar condição". A condição será salva da seguinte maneira:

<figure><img src="/files/yXEDbiuIDKjdOnEOSxUj" alt=""><figcaption></figcaption></figure>

Mais condições poderiam ser inseridas, mas nesse exemplo manterei apenas uma condição como critério de busca do contato no sistema.

Da forma que está configurada a busca, o sistema irá buscar nos contatos aquele que possui no campo de sistema "Telefone" o valor da propriedade {telefone}, ou seja, "11999999999".

### Definindo ação ao encontrar o contato:&#x20;

Em nosso exemplo, o contato existe no sistema e será atualizado. Por isso, escolheremos a opção "**Continuar a automação**". &#x20;

<figure><img src="/files/2NInCphUEsU86l4ZZm7I" alt=""><figcaption></figcaption></figure>

### **Mapeamento de propriedades**

Chegou a hora de definir o que será feito com as informações da requisição.

Primeiro, na sessão **Campo**, selecione o campo do sistema ou campo customizáveis onde a informação da requisição do sistema de pagamentos será guardada.&#x20;

Depois, selecione qual valor de propriedade será salvo no campo.

No nosso exemplo, selecionaremos o [campo customizável](/crm/administracao/personalizacao/campos-customizaveis.md) "Status de Pagamento" e salvaremos neles os valores da propriedade {Pagamento}:

<figure><img src="/files/RbEtg195KyuMch0MVuBm" alt=""><figcaption></figcaption></figure>

Ao clicar em "Salvar propriedade", a propriedade mapeada será descrita dessa forma:

<figure><img src="/files/19mGcZWFEvF29Z0MkQxj" alt=""><figcaption></figcaption></figure>

Da forma que foi registrada, o campo customizável "Status do pagamento", do contato que foi buscado anteriormente pelo telefone  "11999999999", receberá os valores da propriedade {Pagamento} que vierem na requisição, a saber: "Aprovado".&#x20;

Isso significa que, ao final da escuta do *webhook*, ao entrar no contato, seja pela tela de Chat ou pela de Contato, ao pesquisar por ele, o campo "*Status do pagamento*" estará informando "*Aprovado*":

<figure><img src="/files/STnaZgtHlzU8pwPntDxA" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Apenas quando o webhook for executado e chegar ao final que o contato será atualizado.
{% endhint %}

### **Fluxo de automação**

Por fim, é possível configurar um fluxo de automação para a execução de determinadas ações. No nosso exemplo, vamos configurar um fluxo de automação para que o contato receba uma mensagem informando que o pagamento foi realizado.

Para isso, antes de selecionar o fluxo de automação, será necessário criar esse fluxo de automação.

#### Criação do Fluxo de Automação:

Para criar um fluxo de automação, vá até Webhooks > **Fluxos de automação**. Feito isso, clique em **Adicionar fluxo**, dê um nome para o seu fluxo, selecione o tipo de fluxo, marque o status como **ativo** e clique no botão ***Adicionar fluxo*** da modal.

Criado o fluxo de automação, clique em **Gerenciar** para configurar o fluxo.

Adicione um nó de *Conteúdo* com um item *Template*, selecione uma mensagem template para enviar ao cliente e *conecte a um canal*. Dessa forma, quando o webhook selecionar esse contato para ser atualizado, ao final do processo ele receberá uma mensagem de texto.&#x20;

Breve resumo do que foi configurado:&#x20;

1. Copiamos o link do webhook e colamos ele em um webhook de pagamento para que a comunicação entre os webhooks fosse possível.&#x20;
2. Fizemos uma requisição de testa para que o nosso webhook saiba quais informações estão sendo enviadas pelo webhook de pagamento.
3. Selecionamos o tipo de webhook "Contato" para que nos fosse disponibilizados a busca por contatos e o mapeamento das informações nos campos de sistema e campos customizáveis do contato.
4. Criamos as condições de busca pelo contato no sistema. No caso, buscamos o contato no sistema por meio do telefone. Isto é, o valor da propriedade {telefone} da requisição do webhook de pagamento foi procurado no sistema dentro do campo de sistema "Telefone".
5. Definimos que se um contato fosse encontrado, a automação do webhook não iria parar.
6. Mapeamos a propriedade {Pagamento} para que o valor que ela contiver seja inserido no campo customizável "Status do Pagamento".  &#x20;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ajuda.livechat360.com.br/crm/administracao/webhook/exemplo-de-webhook.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
