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 originadora.
QuestionPro suporta webhooks tanto de entrada como de saída. Webhooks podem ser invocados antes do início da pesquisa, 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 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 acionamento.
- 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 acionamento 'Após Pergunta', o webhook é acionado 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 acionado imediatamente 'Após a pergunta', deve adicionar manualmente uma quebra de página após a pergunta.
- Se você escolher acionar o webhook após a pesquisa, também poderá 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 acionamento, 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 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 cabeçalho ou parâmetros 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 de Solicitação: Dados de payload exigidos pela API. Você também pode usar o botão Inserir Resposta para inserir a resposta no JSON de 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. Quando estiver 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 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, ative o toggle 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 de 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 de 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?
QuestionPro fornece uma instalação de registro para cada webhook onde você pode verificar os detalhes da API chamada por aquele webhook, juntamente 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, 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 de
Pós-Pesquisa, um botão de Repetir Manualmente estará disponível próximo a quaisquer chamadas de API que falharem, o qual você pode clicar a qualquer momento para reenviar os dados para o endpoint da API. Você também pode selecionar vários webhooks e tentar novamente em massa. Outros eventos de acionamento não são suportados para o mecanismo de tentativa de repetição.
As condições são suportadas em todos os eventos de acionamento?
Não. Atualmente, as condições são suportadas apenas para o evento de Pós-Pesquisa.
Quais tipos de perguntas são suportados sob condições?
Atualmente, suportamos Selecionar um, Selecionar muitos, Menu suspenso e Texto de linha única.
Quais tipos de perguntas são suportados sob condições?
Atualmente, suportamos Selecionar um, Selecionar muitos, Menu suspenso e Texto de linha única.
Como posso exibir os dados de variável dentro da pesquisa?
Se você deseja 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.