Webhooks
O que é um Webhook?
Um webhook em desenvolvimento web é um método de aumentar ou alterar o comportamento de um aplicativo web com callbacks personalizados. Esses callbacks podem ser mantidos e geridos por usuários e desenvolvedores de terceiros que podem não estar necessariamente afiliados ao aplicativo de origem.
O QuestionPro suporta webhooks tanto de entrada quanto de saída. Os webhooks podem ser invocados antes de a pesquisa começar, durante a pesquisa (antes ou depois de uma pergunta), ou após a conclusão da pesquisa.
O que são webhooks de entrada?
Webhooks de entrada são uma maneira simples de buscar dados de fontes externas para 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 usam solicitações HTTP padrão com um payload JSON.
Como configurar webhooks?
Para criar um webhook:
- Escolha a pesquisa pela 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 trigger.
- 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 trigger 'Após Pergunta', o webhook é ativado no final da pesquisa, embora envie apenas os dados capturados até aquela pergunta e não a resposta completa. Se você precisar que o webhook seja ativado imediatamente 'Após pergunta', deve adicionar manualmente uma quebra de página após a pergunta.
- Se você escolher ativar o webhook após a pesquisa, também pode configurar as condições com base nas quais o webhook deve ser ativado.
- Configure as condições (se houver) e clique em Próximo.
Após escolher a condição de trigger, forneça os dados necessários para a chamada da API:
- Método: O método HTTP usado para fazer a chamada.
- API URL: O URL de endpoint 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 ao header ou parameters, conforme exigido 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 de payload exigidos 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ê preencheu os detalhes acima, clique no botão Executar Teste para verificar se você está obtendo a saída desejada. Caso contrário, por favor, tente novamente após modificar os dados da solicitação da API. Uma vez 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. Observe 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 variáveis sempre que 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ê deseja que seu webhook esteja ativo, habilite o alternador para tornar o webhook ativo.
Como fornecer dados para um webhook de saída?
No 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 eu saberia se o Webhook foi executado com sucesso ou falhou?
O QuestionPro fornece uma instalação de registro para cada webhook onde você pode verificar os detalhes da API chamados por aquele webhook junto com o payload e a resposta do endpoint. Para acessar os registros, vá para um webhook específico e clique em Registros, onde você pode visualizar as solicitações feitas por aquele webhook e, ao clicar no ID, pode verificar os detalhes de qualquer chamada específica.
Além disso, se a chamada de saída falhou 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 falhada, que você pode clicar a qualquer momento para reenvios dos dados para o endpoint da API. Você também pode selecionar múltiplos webhooks e tentar novamente em massa. Outros eventos de trigger não são suportados para o mecanismo de retry.
As condições são suportadas em todos os eventos de trigger?
Não. Atualmente, condições são suportadas apenas para o evento Após Pesquisa.
Quais são os tipos de pergunta suportados sob condições?
Atualmente, suportamos Selecionar um, Selecionar muitos, Menu suspenso e Texto de uma única linha.
Quais são os tipos de pergunta suportados sob condições?
Atualmente, suportamos Selecionar um, Selecionar muitos, Menu suspenso e Texto de uma única 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 daquela pergunta.
Obrigado por enviar feedback.