Webhooks
O que é um Webhook?
Um webhook no desenvolvimento web é um método de aumentar ou alterar o comportamento de uma aplicação web com callbacks personalizados. Esses callbacks podem ser mantidos e gerenciados por usuários e desenvolvedores de terceiros que podem não estar necessariamente afiliados à aplicação original.
A QuestionPro suporta webhooks de entrada e de saída. Webhooks podem ser invocados antes do início da pesquisa, durante a pesquisa (antes ou depois de uma pergunta), ou depois que a pesquisa for concluída.
Webhooks-advanced-helpfile.mp4
Clique para baixar o vídeo
O que são webhooks de entrada?
Webhooks de Entrada são uma forma simples de buscar dados de fontes externas para a sua pesquisa.
O que são webhooks de saída?
Webhooks de saída podem ser usados para enviar dados da pesquisa para uma fonte externa. Eles utilizam requisições HTTP padrão com um payload JSON.
Como configurar webhooks?
Para criar um webhook:
- Escolha a pesquisa para a qual deseja configurar o webhook.
- Vá para: Integrações >> Webhooks
- Clique no botão Adicionar Novo Webhook.
- Insira uma descrição para seu webhook e clique no botão Criar Webhook.
Uma vez na página de configuração, escolha quando o webhook deve ser invocado selecionando o evento de disparo.
- Um webhook pode ser invocado antes da pesquisa, após uma pergunta, após uma página na pesquisa, após o botão de salvar e continuar na pesquisa, e após a pesquisa.
Nota: Para o evento de disparo 'Após Pergunta', o webhook é acionado no final da pesquisa, enviando apenas os dados capturados até aquela pergunta e não a resposta completa. Se você precisar que o webhook seja acionado imediatamente 'Após a pergunta', deve adicionar manualmente uma quebra de página após a pergunta.
- Se você optar por disparar o webhook após a pesquisa, também pode configurar as condições com base nas quais o webhook deve ser acionado.
- Configure as condições (se houver) e clique em Próximo.
Após escolher a condição de disparo, forneça os dados necessários para a chamada da API:
- Método: O método HTTP usado para fazer a chamada.
- URL da API: O endpoint URL para fazer uma chamada de API.
- Tipo de Autorização: Escolha o tipo de autorização e adicione credenciais, se necessário. Você também pode escolher adicionar as credenciais tanto ao cabeçalho quanto aos parâmetros conforme necessário pela fonte externa.
- Cabeçalho da Solicitação: Campos de cabeçalho HTTP que são componentes da seção de cabeçalho da solicitação.
- JSON da Solicitação: Dados payload necessários pela API. Você também pode usar o botão Inserir Resposta para inserir a resposta no JSON da Solicitação.
- Uma vez que você preencha os detalhes acima, clique no botão Teste para verificar se está obtendo a saída desejada. Se não, por favor, tente novamente após modificar os dados da solicitação da API. Uma vez que você esteja satisfeito com a saída, clique em Próximo.
A etapa de Mapeamento de Dados é principalmente necessária para webhooks de entrada. Você pode salvar os dados recuperados da fonte externa mapeando-os para variáveis. Por favor, note que essas variáveis são diferentes das variáveis personalizadas que são armazenadas com a resposta do respondente. Se você não quiser mapear dados para as variáveis, pode prosseguir e clicar em
Salvar.
- Você pode mapear os dados para variáveis atribuindo chaves JSON individuais a variáveis específicas. Você pode adicionar e excluir as variáveis conforme necessário.
- Uma vez que o mapeamento esteja definido, os dados coletados podem ser exibidos na pesquisa usando o seguinte código: ${code}.
Finalmente, uma vez que você queira que seu webhook esteja ativo, habilite o toggle para tornar o webhook ativo.
Como fornecer dados para um webhook de saída?
Em caso de webhooks de saída, você pode enviar os dados coletados em variáveis personalizadas para um serviço web externo adicionando as variáveis personalizadas no JSON da Solicitação.
Variáveis de Substituição de Dados
Para buscar os dados da Variável Personalizada, você pode usar as seguintes tags para as Variáveis Personalizadas correspondentes no JSON da solicitação:
Variável Personalizada 1: ${custom1}
Variável Personalizada 2: ${custom2}
Variável Personalizada 3: ${custom3}
Variável Personalizada 4: ${custom4}
Variável Personalizada 5: ${custom5}
Variável Personalizada N: ${customN}
Como posso saber se o Webhook foi executado com sucesso ou falhou?
A QuestionPro fornece uma funcionalidade de registro para cada webhook onde você pode verificar os detalhes da API chamada por esse webhook, juntamente com o payload e a resposta do endpoint. Para acessar os logs, vá para um webhook específico e clique em Logs, onde você pode visualizar as solicitações feitas por esse webhook e ao clicar no ID, você pode verificar os detalhes de qualquer chamada específica.
Além disso, se a chamada de saída falhar ao enviar os dados para um evento
Após Pesquisa, um botão de Retry Manual estará disponível ao lado de qualquer chamada de API falha, que você pode clicar a qualquer momento para reenviar os dados para o endpoint da API. Você também pode selecionar múltiplos webhooks e tentar novamente em lote. Outros eventos de disparo não são suportados para o mecanismo de retry.
As condições são suportadas em todos os eventos de disparo?
Não. Atualmente, as condições são suportadas apenas para o evento Após Pesquisa.
Quais são os tipos de pergunta suportados nas condições?
Atualmente, suportamos Selecionar um, Selecionar muitos, Menu suspenso e Texto de uma linha.
Como posso exibir os dados da variável dentro da pesquisa?
Se você quiser exibir o valor de uma variável como ${customN} na pesquisa, você pode facilmente usar ${code}. Alternativamente, você pode adicionar o mesmo mapeamento de variável personalizada em nível de pesquisa que você configurou na seção de mapeamento de dados do webhook ou adicionar uma quebra de página antes dessa pergunta.
Obrigado por enviar feedback.