> For the complete documentation index, see [llms.txt](https://ajuda.livechat360.com.br/crm/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ajuda.livechat360.com.br/crm/administracao/webhook/exemplo-de-webhook.md).

# 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 seçã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 seçã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;
