Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Inbound webhook is a powerful tool to receive data from anywhere to the chatbot through a POST request.

With inbound webhooks, your bot can even start a conversation with a bot user who never talked to it before.

For example, when a client fills in their contact information on your website, you send the data to an inbound webhook of a chatbot, say an SMS bot. The SMS bot can then send a confirmation message to the client's phone number.

If that webhook is built in a Voice bot, the bot can even call the client right away 

Table of Contents

O webhook de entrada é tuma ferramenta poderosa para receber dados de qualquer lugar para o chatbot por meio de uma solicitação POST.

Com webhooks de entrada, seu bot pode até iniciar uma conversa com um usuário de bot que nunca conversou com ele antes.

Por exemplo, quando um cliente preenche suas informações de contato em seu site, você envia os dados para um webhook de entrada de um chatbot, digamos, um bot de SMS. O bot SMS pode então enviar uma mensagem de confirmação para o número de telefone do cliente.

Se esse webhook estiver integrado em um bot de voz, o bot poderá até ligar para o cliente imediatamente!

 

Info

Limitation Limitação - Each bot has up to 5 inbound webhooks, the rate limits is 500 request per 24 hoursCada bot tem até 5 webhooks de entrada, o limite de taxa é de 500 solicitações por 24 horas.

 

Create Inbound Webhook

...

Criar webhook de entrada

Está disponível em quase todos os canais, no seu construtor de fluxo, vá em Ferramentas - Inbound Webhooks :

...

 

Click on Clique em New Inbound Webhook , give a name and click Savedê um nome e clique em Salvar :

...

 

You will see the editing interface like thisVocê verá a interface de edição assim:

...

 

Webhook Address

This area shows you where to send the data and the method, which is POST. Each inbound webhook has a unique URL in the whole NicoChat system.

 

Example of Received JSON

This area shows an example JSON for reference. It describes the structure of the data in the JSON we received later. We need it to find the values for both **user identification ** and data to save.

There are 2 ways to get an example JSON:

  1. manually type/paste it here

  2. listen to a real-time data from a live test

 

Values to Identify a User

Whenever the webhook receives data, it first checks the paths you specify here to see whether it can find an existing user in the chatbot.

If the user is not in the system, the chatbot will create a new profile. That's how the chatbot initiates a conversation without talking to the user before.

However, some channels don't allow the chatbot to start the conversation first due to privacy and spam issues.

For example, your SMS bot can send messages as long as you have the recipient's phone number, while your Facebook Messenger chatbot cannot send messages to a Facebook user who never talked to your bot before.

 

Process for User Identification

This is the process of how the system identifies a user:

  1. check user_ns

    • if there is a valid user_ns, user found.

    • if not, next step

  2. check phone / email

    • if we can find a user by the phone or email, user found.

    • if not, next step

  3. verify phone

    • no user matched in the system, is the phone a valid number?

    • if yes, user profile created.

    • if not, webhook won't be processed

 

Mapping Area

The mapping list shows which value should be stored in which custom field. When you get a sample JSON in the above area, click on Preview Payload to get a mapping tool.

 

Webhook Logs

...

 

Every single request is saved in Logs. Click on a record to see the received JSON data.

Inbound Webhook Limitation

By default, inbound webhook request limits is 500 request per 24 hours. You can see the limits from the screenshot below:

...

If you have exceed the limits, you do have the option to upgrade to more request per day, here is a list of the option you have:

  • 500/day - Included   ~~   15K requests/per month

  • 1000/day - $20 per month   ~~   30K requests/per month

  • 2000/day - $40 per month   ~~   60K requests/per month

  • 3000/day - $60 per month   ~~   90K requests/per month

  • 4000/day - $80 per month   ~~   120K requests/per month

  • 5000/day - $100 per month   ~~   150K requests/per month

  • 10000/day - $200 per month   ~~   300K requests/per month

You can subscribe from the link below:

https://buy.stripe.com/00g9BJ6GLcLugvKbIV

The link is $20 per month per unit, If you need 1000 request per day, just select the quantity 1;

If you need 2000 request per day, just select the quantity 2, etc

...

 

After the payment, you need to provide your payment receipt and your flowNS to NicoChat support email at ticket@NicoChat.com.au

Here is how you can find your flowNS,

Go to “All bots” in NicoChat dashboard, and then find the bot you want to increase the inbound webhook request limits, and then click the dropdown, you will find the flowNS.

...

How to debug inbound webhook max request error

First of all, if you are not receiving the data in the inbound webhook, or you can’t find the data in the logs, it’s highly possible that you reached the max daily request limits.

Here is how you can test it.

You can send the request to the inbound webhook from Postman or NicoChat external request, and then you can find the below information in the header:

...

As you can see, there is rate-limit-remaining, if it’s 0, that means you already reached the rate limits, you should upgrade for more limits.

Demo: Booking Confirmation

A perfect tool to test your inbound webhook is already built-in everywhere! Simple get a chatbot (whatever channel), test it in an Action Step.

Open another NicoChat webpage side by side, keep the inbound webhook editing on Page 1 and select an external request on Page 2:

...

 

Follow steps 1 to 8 in the following screenshot:

...

 

Provide the data that need to be sent to the chatbot and click Test, you must get a "webhook inactive" error since we haven't activated it yet. It's fine, click on Done on Page 1, and you will see the data saved:

...

 

Scroll down a bit, follow steps 1, 2, 3 to tell the system, where is the phone and email values in the JSON:

...

 

Finally, map the rest data to the chatbot:

...

 

Save your inbound webhook editing:

...

 

Enter the subflow, let's send a message to the bot user:

...

 

Publish the flow and let's do a live test in the external request again:

...

 

We can see that this time it run without error because we activated the webhook and used a real phone number. Go to Logs and we can see a new user profile is created successfully.

...

Endereço do webhook

Esta área mostra para onde enviar os dados e o método, que é POST. Cada webhook de entrada possui uma URL exclusiva em todo o sistema NicoChat.

 

Exemplo de JSON recebido

Esta área mostra um exemplo de JSON para referência. Descreve a estrutura dos dados no JSON que recebemos posteriormente. Precisamos dele para encontrar os valores de **identificação do usuário ** e dos dados a serem salvos .

Existem 2 maneiras de obter um JSON de exemplo:

  1. digite/cole manualmente aqui

  2. ouça dados em tempo real de um teste ao vivo

 

Valores para identificar um usuário

Sempre que o webhook recebe dados, ele primeiro verifica os caminhos especificados aqui para ver se consegue encontrar um usuário existente no chatbot.

Caso o usuário não esteja no sistema, o chatbot criará um novo perfil. É assim que o chatbot inicia uma conversa sem antes falar com o usuário.

No entanto, alguns canais não permitem que o chatbot inicie a conversa primeiro devido a questões de privacidade e spam.

Por exemplo, o seu bot SMS pode enviar mensagens desde que você tenha o número de telefone do destinatário, enquanto o seu chatbot do Facebook Messenger não pode enviar mensagens para um usuário do Facebook que nunca conversou com o seu bot antes.

 

Processo para identificação do usuário

Este é o processo de como o sistema identifica um usuário:

  1. verificaruser_ns

    • se houver um user_nsusuário válido, encontrado.

    • se não, próximo passo

  2. verificar phone/email

    • se pudermos encontrar um usuário por phoneou email, usuário encontrado.

    • se não, próximo passo

  3. verificarphone

    • nenhum usuário corresponde no sistema, o phonenúmero é válido?

    • se sim, perfil de usuário criado.

    • caso contrário, o webhook não será processado

 

Área de Mapeamento

A lista de mapeamento mostra qual valor deve ser armazenado em qual campo personalizado. Ao obter um JSON de amostra na área acima, clique em Visualizar carga útil para obter uma ferramenta de mapeamento.

 

Registros de webhook

...

 

Cada solicitação é salva em Logs . Clique em um registro para ver os dados JSON recebidos.

Limitação de webhook de entrada

Por padrão, os limites de solicitações de webhook de entrada são de 500 solicitações por 24 horas. Você pode ver os limites na imagem abaixo:

...

Se você excedeu os limites, você tem a opção de atualizar para mais solicitações por dia. Aqui está uma lista das opções que você tem:

  • 500/dia - Incluído ~~ 15 mil solicitações/por mês

  • 1.000/dia - US$ 20 por mês ~~ 30 mil solicitações/por mês

  • 2.000/dia - US$ 40 por mês ~~ 60 mil solicitações/por mês

  • 3.000/dia - US$ 60 por mês ~~ 90 mil solicitações/por mês

  • 4.000/dia - US$ 80 por mês ~~ 120 mil solicitações/por mês

  • 5.000/dia - US$ 100 por mês ~~ 150 mil solicitações/por mês

  • 10.000/dia - US$ 200 por mês ~~ 300 mil solicitações/por mês

O link custa $20 por mês por unidade, caso precise de 1000 pedidos por dia, basta selecionar a quantidade 1;

Se você precisar de 2.000 solicitações por dia, basta selecionar a quantidade 2, etc.

...

 

Após o pagamento, você precisa fornecer seu comprovante de pagamento e seu flowNS para o e-mail de suporte do NicoChat.

Veja como você pode encontrar seu flowNS,

Vá para “Todos os bots” no painel do NicoChat e, em seguida, encontre o bot que deseja aumentar os limites de solicitação de webhook de entrada e, em seguida, clique no menu suspenso, você encontrará o flowNS .

...

Como depurar erro de solicitação máxima de webhook de entrada

Em primeiro lugar, se você não estiver recebendo os dados no webhook de entrada ou não conseguir encontrar os dados nos logs, é altamente possível que você tenha atingido os limites máximos de solicitações diárias.

Aqui está como você pode testá-lo.

Você pode enviar a solicitação para o webhook de entrada do Postman ou da solicitação externa do NicoChat e, em seguida, encontrar as informações abaixo no cabeçalho:

...

Como você pode ver, existe limite de taxa restante, se for 0, significa que você já atingiu os limites de taxa, você deve atualizar para mais limites.

Demonstração: confirmação de reserva

Uma ferramenta perfeita para testar seu webhook de entrada já está integrada em todos os lugares! Basta obter um chatbot (qualquer canal), testá-lo em uma Action Step .

Abra outra página do NicoChat lado a lado, mantenha a edição do webhook de entrada na página 1 e selecione uma solicitação externa na página 2:

...

 

Siga as etapas 1 a 8 na captura de tela a seguir:

...

 

Forneça os dados que precisam ser enviados ao chatbot e clique em Testar , você deverá receber um erro "webhook inativo", pois ainda não o ativamos. Tudo bem, clique em Concluído na página 1 e você verá os dados salvos:

...

 

Role um pouco para baixo e siga as etapas 1, 2, 3 para informar ao sistema onde estão os valores phonee emailno JSON:

...

 

Por fim, mapeie os demais dados para o chatbot:

...

 

Salve sua edição de webhook de entrada:

...

 

Entre no subfluxo, vamos enviar uma mensagem ao usuário do bot:

...

 

Publique o fluxo e vamos fazer novamente um teste ao vivo na solicitação externa:

...

 

Podemos ver que desta vez ele funcionou sem erros porque ativamos o webhook e usamos um número de telefone real. Vá para Logs e podemos ver que um novo perfil de usuário foi criado com sucesso.

Do lado do usuário:

...