Como enviar webhooks via chatbots

Disponível em um plano pago

Você pode configurar o envio de webhooks de acordo com o script de fluxo do seu chatbot ou ativar webhooks globais para diferentes eventos do chatbot e receber e salvar dados em seu sistema. Vamos dar uma olhada no que são webhooks, onde são usados, como ativá-los e a estrutura dos dados recebidos.

Onde os webhooks são usados

Um webhook é um mecanismo para transferir dados para seu sistema sobre eventos gerados pelo usuário. Ele envia uma solicitação HTTP para seu manipulador.

Usando essa integração, você pode coletar e enviar dados sobre eventos em um fluxo de chatbots para seu sistema para trabalho adicional com este cliente.

Exemplo de caso de uso, imagine: você criou um formulário para novos usuários reservarem um lugar em sua conferência usando o messenger. Você quer saber sobre cada usuário que se registrou em uma palestra específica para poder contatá-los ou alterar o status deles no seu CRM.

Você pode atingir esse objetivo facilmente enviando um webhook. Assim que um usuário alcançar o elemento webhook em seu fluxo, os dados do evento serão enviados ao seu sistema de armazenamento de dados (ou seja, CRM, CMS, site etc.).

Como habilitar um webhook em um fluxo

Você pode adicionar um webhook no criador de fluxo e rastrear informações específicas à medida que o usuário passa por determinados elementos no fluxo:

  • no elemento "Mensagem" — o usuário insere seus dados ou clica em um botão;
  • no elemento "Ação" — abrir um chat com um administrador, cancelar a assinatura de um bot, atualizar uma variável, atribuir uma tag;
  • no elemento "fluxo" — iniciando um novo fluxo;
  • no elemento "Pausar" — após o tempo de pausa alocado;
  • no elemento "Filter" — passando um conjunto de condições de filtro;
  • No elemento "solicitação de API" — obtendo informações sobre a solicitação.

Para inserir um envio de webhook, adicione um elemento "Ação" após o elemento que você deseja rastrear.

Selecione a opção “Enviar Webhook”. Digite o nome do webhook a ser enviado e a URL para enviar os dados.

Como habilitar webhooks globais

Você também pode habilitar webhooks que serão enviados por eventos de todo o chatbot.

Vá para as configurações do bot e, em seguida, para a guia "Webhooks". Ative a configuração e insira o URL para o qual você deseja enviar dados.

Selecione os eventos para os quais deseja enviar alertas e clique em Salvar para aplicar as configurações.

Você pode selecionar os seguintes eventos:

"Assinatura de bot" — enviada com informações sobre quando o usuário se inscreveu no chatbot selecionado;

"Mensagens recebidas" — enviadas com cada nova mensagem recebida do usuário no bate-papo com informações sobre o usuário e o texto da mensagem.

"Mensagens de saída" — enviadas com cada mensagem enviada ao usuário com informações sobre o usuário e o texto da mensagem.

"Chat ao vivo aberto" — enviado após o usuário ter passado pelo elemento "Ação" com a opção "Chat aberto".

"Fluxo de acionador personalizado iniciado" — enviado ao acionar fluxos com o usuário e informações de fluxo.

"Redirect" — enviado quando o usuário clica em links em botões e texto com informações sobre o link, elemento de envio e usuário.

"Bot unsubscribe" — enviado quando um usuário cancela a assinatura de um bot com informações sobre o usuário e o bot.

"Bot bloqueado" — enviado quando o usuário bloqueou mensagens do bot com informações sobre o usuário e o bot.

Você também pode ativar o rastreamento de pagamentos do chatbot nas configurações da sua conta. Saiba mais: Como enviar um webhook de pagamento bem-sucedido.

Estrutura do webhook

Um webhook pode transmitir dados sobre:

  • a data em que uma ação foi concluída;
  • título do webhook - você pode filtrar seu público com base se ele recebeu um webhook por seu “título”;
  • informações sobre o bot e a página social à qual ele está vinculado - identificação, foto, link para uma página;
  • informações sobre o contato que acionou o evento - seu identificador, nome, data de nascimento, cidade, país, foto do perfil, quaisquer variáveis existentes e tags.

Um exemplo de um webhook enviado de um fluxo de chatbot

[
   {
        "info": null, //informações do mensageiro
        "service": "messenger", // messenger - Facebook chatbot, telegram - Telegram chatbot
        "title": "Reserved. Apartment #3" // título do webhook
        "bot": {
            "url": "https://m.me/104117781360763",
            "external_id": "104117781360763", //identificador de comunidade no messenger (para Facebook, o valor é passado como uma “string”, para Telegram e VKontakte como um número).
            "id": "17ff4105-d5f1-4790-9d09-a6f64ea73d54", // identificador do bot conectado no SendPulse
            "name": "BEST" // 
        },
        "contact": {
           "name of variable": "value of variable",
            "email": "name@example.com",
            "phone": "+38093000000",
            "last_message": "hey! whats up?", //última mensagem do usuário
            "photo": "https://..",
            "tags": ["tag1", "tag2"],
            "id": "467bf50f-9cb0-4b65-b722-0135ad5fb9e0", // identificador do contato no SendPulse
            "name": "Alexander"
        },
        "date": 1617401679 // data e hora de execução em milissegundos
    }
]

Um exemplo de um webhook para "Assinatura de bot":

[
   {
      "info":null,
      "service":"telegram",
      "title":"webhook",
      "bot":{
         "url":"https://t.me/best_bot",
         "external_id":1845120800,
         "id":"60b0a854b4d8073f592b92f3",
         "name":"BEST"
      },
      "contact":{
         "username":"veronica",
         "name":"name",
         "tags":[
            
         ],
         "last_message":"Test",
         "photo":null,
         "variables":{
            "name":"Veronica Petrova",
            "Phone":"380985236985",         
            "Email":"test@gmail.com"
         },
         "id":"60b0a854083b4964fd0f7b657847848"
      },
      "date":16377590567070
   }
]

Um exemplo de um webhook para "Mensagens recebidas":

[
   {
      "info":{ // informações do mensageiro
         "message":{
            "channel_data":{
               "message":{
                  "audio":null,
                  "from":1332678955,
                  "context":null,
                  "interactive":null,
                  "contacts":null,
                  "text":{
                     "body":"hey! whats up?"
                  },
                  "button":null,
                  "system":null,
                  "voice":null,
                  "video":null,
                  "identity":null,
                  "image":null,
                  "timestamp":1625834714,
                  "document":null,
                  "type":"text",
                  "id":"ABCDOAk1346346go-sKd--dduwQ9p",
                  "sticker":null,
                  "location":null
               },
               "message_id":"ABCDOAk1Z43535-sKd--dduwQ9p"
            },
            "id":"60e8434b446846838d8463"
         }
      },
      "service":"whatsapp",
      "title":"incoming_message",
      "bot":{
         "url":"https://wa.me/380932674329",
         "external_id":"380932674329",
         "id":"60c1c50c156845831909cf74",
         "name":"Revision_me"
      },
      "contact":{
         "username":"Alexander",
         "name":"Alexander",
         "tags":[
            
         ],
         "last_message":"hey! whats up?", // last message of the user
         "photo":null,
         "variables":{
            "dept":"Designer"
         },
         "id":"60c0f31f457479d02b7512"
      },
      "date":1625834714
   }
]

Um exemplo de um webhook para "Mensagens de saída":

[
   {
      "info":{
         "message":{
            "channel_data":{
               "message":{
                  "disable_web_page_preview":null,
                  "text":"Click",
                  "disable_notification":null,
                  "reply_to_message_id":null,
                  "parse_mode":"HTML",
                  "reply_markup":{
                     "inline_keyboard":[
                        [
                           {
                              "payload_id":"84d30d5624-92245695-4e834560-86f4-bbdb694710b0456",
                              "callback_data":"eyJwIjoiODRkMzBkMjQtOTI5NS00ZTgwLTg2ZjQtYmJkYjY5NDcxMGIwIn05257",
                              "text":"Click",
                              "data":{
                                 "to_block_id":"3bd58f77-ef28-4f0d-9ae7-33ef71bedeb85724",
                                 "to_block":1,
                                 "button_id":"6cb63b34-a030-4e53-ba91-8f13320ad36b3687568"
                              },
                              "type":"postback",
                              "statistic_id":"6cb63b34-a030-4e53-ba91-8f13320ad36b5367637",
                              "external_id":"ce60c182-c058-4450-a002-2e500936ab536739",
                              "id":"6cb63b34-a030-4e53-ba91-8f13320ad36467346b"
                           }
                        ],
                        [
                           {
                              "payload_id":"97867499-063c-498d-9386-e26284addf1367568658",
                              "callback_data":"dummy",
                              "text":"Click",
                              "data":{
                                 "to_block_id":"9ba1c058-7ae8-429d-9d83-f674bf6635685b2f8",
                                 "to_block":null,
                                 "button_id":"bc769bd8-edef-42a6-9448-e47875b4663568999"
                              },
                              "type":"postback",
                              "statistic_id":"bc769bd8-edef-42a6-9448-e47875b46935683599",
                              "external_id":"5148a80f-0dc7-4bb9-aa26-8331a013568dfabc",
                              "id":"bc769bd8-edef-42a6-9448-e47875b46568586999"
                           }
                        ]
                     ]
                  }
               },
               "message_id":943544,
               "chat_id":6069664546956
            },
            "id":"619e3686cac8ab43e20a4a0546549"
         }
      },
      "service":"telegram",
      "title":"outgoing_message",
      "bot":{
         "url":"https://t.me/best_bot",
         "external_id":"18451208006576",
         "id":"60b0a854b4d8073f592b925675f3",
         "name":"BEST"
      },
      "contact":{
         "username":"veronica",
         "name":"veronica",
         "tags":[
            
         ],
         "last_message":"Test",
         "photo":null,
         "variables":{
            "name":"Veronica Petrova",
            "Phone":"380985236985",         
            "Email":"test@gmail.com"
         },
         "id":"60b0a854083b4964fd0f7b65675675"
      },
      "date":16377585936738
   }
]

Um exemplo de um webhook para "Chat ao vivo aberto":

[
   {
      "info":null,
      "service":"telegram",
      "title":"webhook",
      "bot":{
         "url":"https://t.me/best_bot",
         "external_id":18451208007356,
         "id":"60b0a854b4d8073f592b92f673563",
         "name":"BEST"
      },
      "contact":{
         "username":"veronica",
         "name":"veronica",
         "tags":[
            
         ],
         "last_message":"Test",
         "photo":null,
         "variables":{
            "name":"Veronica Petrova",
            "Phone":"380985236985",         
            "Email":"test@gmail.com"
         },
         "id":"60b0a854083b4964fd0f756756b65"
      },
      "date":16377587917546
   }
]

Um exemplo de um webhook para "Fluxo de gatilho personalizado iniciado":

[
   {
      "info":null,
      "service":"telegram",
      "title":"webhook",
      "bot":{
         "url":"https://t.me/best_bot",
         "external_id":1845120856756700,
         "id":"60b0a854b4d8073f592b92f3564567",
         "name":"BEST"
      },
      "contact":{
         "username":"veronica",
         "name":"veronica",
         "tags":[
            
         ],
         "last_message":"Test",
         "photo":null,
         "variables":{
            "name":"Veronica Petrova",
            "Phone":"380985236985",         
            "Email":"test@gmail.com"
         },
         "id":"60b0a854083b4964fd0f7b655858"
      },
      "date":163775889778478
   }
]

Um exemplo de um webhook para "Redirect":

[
   {
      "info":null,
      "service":"telegram",
      "title":"webhook",
      "bot":{
         "url":"https://t.me/best_bot",
         "external_id":1845120806750,
         "id":"60b0a854b4d8073f592b9254677654f3",
         "name":"BEST"
      },
      "contact":{
         "username":"veronica",
         "name":"veronica",
         "tags":[
            
         ],
         "last_message":"Test",
         "photo":null,
         "variables":{
            "name":"Veronica Petrova",
            "Phone":"380985236985",         
            "Email":"test@gmail.com"
         },
         "id":"60b0a854083b4964fd0f65757b65"
      },
      "date":16377589785675
   }
]

Um exemplo de um webhook para "Cancelar inscrição de bot":

[
   {
      "info":null,
      "service":"telegram",
      "title":"webhook",
      "bot":{
         "url":"https://t.me/best_bot",
         "external_id":1845120806780,
         "id":"60b0a854b4d8073f592b92678f3",
         "name":"BEST"
      },
      "contact":{
         "username":"veronica",
         "name":"veronica",
         "tags":[
            
         ],
         "last_message":"Test",
         "photo":null,
         "variables":{
            "name":"Veronica Petrova",
            "Phone":"380985236985",         
            "Email":"test@gmail.com"
         },
         "id":"60b0a854083b4966784fd0f7b65"
      },
      "date":1637759687101
   }
]

Um exemplo de um webhook para "Bot bloqueado":

[
   {
      "info":null,
      "service":"telegram",
      "title":"webhook",
      "bot":{
         "url":"https://t.me/best_bot",
         "external_id":1845126570800,
         "id":"60b0a854b4d8056773f592b92f3",
         "name":"BEST"
      },
      "contact":{
         "username":"veronica",
         "name":"veronica",
         "tags":[
            
         ],
         "last_message":"Test",
         "photo":null,
         "variables":{
            "name":"Veronica Petrova",
            "Phone":"380985236985",         
            "Email":"test@gmail.com"
         },
         "id":"60b0a854083b4964fd5670f7b65"
      },
      "date":1637756579166
   }
]

Os dados do webhook são enviados com um tipo de conteúdo “application/json”.

Rate this article about "Como enviar webhooks via chatbots"

User Rating: 5 / 5

    Teste o SendPulse hoje gratuitamente