Evento JSON
Sobre o Evento JSON
Você já quis que uma solicitação feita em seu site acionador um tíquete no Qualtrics? Você já quis criar uma integração perfeita entre o Qualtrics e seu próprio sistema interno? Você já quis acionador uma tarefa na guia Workflows, mas com um evento que acontece fora do Qualtrics?
Os eventos JSON permitem que softwares externos iniciem fluxos de trabalho por meio de solicitação HTTP. Em vez de esperar que um evento no Qualtrics acionador uma ação adicional na plataforma, você pode simplesmente configurar um evento JSON para receber solicitações de terceiros.
Limitações
O evento JSON não é compatível com as seguintes definições e configurações:
- Qualquer coisa que não seja HTTP (por exemplo, fila de mensagens, SMS).
- Chamadas HTTP de saída.
- Processar XML (o corpo da solicitação XML será ignorado).
- Processar qualquer coisa que não seja JSON.
- Autenticar de outra forma que não seja um cabeçalho X-API-TOKEN ou nossa autenticação básica de HTTP modificada.
Qdica: O OAuth e outras formas de autenticação são incompatíveis com eventos JSON.
- Qualquer análise de JSON que não possa ser satisfeita com o uso de consultas JSONPath no corpo do JSON.
- Chamadas que excedem o limite de taxa de API de 3.000 por minuto.
- Cargas úteis superiores a 100 KB.
Tipos de autenticação suportados
Autenticação baseada em token / Autenticação de cabeçalho
Você pode se autenticar passando seu token de API pelo cabeçalho da solicitação como X-API-TOKEN.
Exemplo: No exemplo de POST a seguir, no cURL, especificamos o URL de base, o Content-Type e o Token no cabeçalho. A ID da Pesquisa e o formato da exportação são especificados no corpo
.curl -X POST -H 'X-API-TOKEN: yourapitokenhere' -H 'Content-Type: application/json' -d '{
”
surveyId": "SV_012345678912345", "format": "csv" }'API
Autenticação básica de HTTP
A autenticação básica geralmente é uma versão codificada em Base64 de nome de usuário:senha. No entanto, para aumentar a segurança, a Qualtrics usa uma string codificada em Base64 de username:x-api-token.
Para usar o Basic Auth, você deve definir cabeçalhos na solicitação HTTP. O cabeçalho específico é Authorization.
Exemplo: Digamos que seu nome de usuário Qualtrics seja demo@qualtrics.com e seu token API seja f8gIK7G6GFH985Y4. Primeiro, você escreveria,
demo@qualtrics.com:f8gIK7G6GFH985Y4
Então, após a codificação Base64, isso apareceria como,
Básico ZGVtb0BxdWFsdHJpY3MuY29tOmY4Z0lLN0c2R0ZIOTg1WTQ=
Portanto, o cabeçalho Authorization que você adiciona à sua solicitação HTTP teria o valor Basic ZGVtb0BxdWFsdHJpY3MuY29tOmY4Z0lLN0c2R0ZIOTg1WTQ=.
Configuração de um Evento JSON
- Primeiro, você precisará criar um fluxo de trabalho. Vá para a página de fluxos de trabalho autônomos.
Qdica: você também pode usar eventos JSON no Guia Fluxos de trabalho em um projeto. Só recomendamos adicionar um fluxo de trabalho a um projeto específico se eles estiverem explicitamente relacionados. (Por exemplo, você está distribuindo esse projeto com o evento JSON) - Verifique se você está na guia Your workflows (Seus fluxos de trabalho ).
- Clique em Criar um fluxo de trabalho.
- Selecione Iniciado quando um evento for recebido.
- Selecione o evento JSON .
- Se desejar, especifique um resumo Acionador, que deve descrever a finalidade do evento JSON.
- Você receberá um URL. Use isso para invocar seu novo fluxo de trabalho de fora do Qualtrics, usando o Postman, seu próprio sistema interno ou outros aplicativos semelhantes. Para copiá-lo, clique em Copiar URL.
- Por padrão, os eventos JSON exigem autenticação. Se quiser permitir solicitações não autenticadas, você pode desativar a opção Require authentication by Qualtrics.
- Agora, você pode definir os dados evento. Isso capturará os dados da solicitação de entrada. Para começar, clique em Configurações avançadas.
Qdica: para obter informações sobre a seção Teste, consulte Captura de eventos abaixo. - Na caixa à esquerda, forneça o nome do campo JSON. Na caixa à direita, forneça o local nos dados evento (corpo da solicitação HTTP).
Qdica: os locais devem estar no formato JSONPath! Consulte a tabela abaixo para obter um guia rápido da sintaxe JSONPath.
- Para adicionar outro campo, clique em Add a JSON field (Adicionar um campo JSON).
- Se quiser adicionar um parâmetro QUERY, adicione-o na seção Parâmetros QUERY . Para saber mais sobre o que são esses parâmetros e como eles funcionam na API, consulte nossa documentação API sobre parâmetros.
Aviso: Não é aconselhável passar dados de identificação pessoal por meio de parâmetros QUERY. Todas as informações de identificação pessoal ou dados confidenciais devem ser transmitidos pelo corpo do POST sempre que possível, pois o POST é mais seguro. Entre contato suporte da Qualtrics se tiver dúvidas ou preocupações.
- Para remover um campo, clique no sinal de menos ( – ).
- Para salvar suas alterações, clique em Save (Salvar).
- Agora você pode adicionar condições e uma tarefa ao seu fluxo de trabalho clicando no sinal de mais ( + ). As condições determinam quando um fluxo de trabalho é executado, enquanto as tarefas são o resultado do fluxo de trabalho. Veja o Visão geral dos fluxos de trabalho para mais informações
Qdica: clique em seu evento JSON para alterar os parâmetros e os campos JSON.
Capturando eventos
Quando estiver criando um evento API externo, talvez seja necessário analisar os dados do corpo do post. No entanto, às vezes pode ser difícil analisar esses dados. Se quiser descobrir o que sua API externa está enviando, siga estas etapas.
- Clique em seu evento JSON.
- Por padrão, a opção Capturar campos JSON dos resultados do teste para que possam ser usados como texto canalizado em outras tarefas desse fluxo de trabalho estará ativada. Essa opção faz com que os campos analisados no corpo da carga útil fiquem automaticamente disponíveis como texto transportado quando você adicionar suas tarefas fluxo de trabalho.
- Clique em Executar um novo teste.
- Você verá uma mensagem informando que o Qualtrics está aguardando para receber o evento do seu sistema externo. Acione sua API externa.
Qdica: para cancelar esse teste, clique em Cancelar teste.
- Se o teste for bem-sucedido, você verá a mensagem Successfully connected to the server (Conectado com sucesso ao servidor). A carga útil será analisada e adicionada à janela.
- Se desejar, clique em Executar um novo teste para executar outro teste. Você precisará executar sua avançar chamada de API depois que essa opção for clicada.
- Clique em Salvar.
Sintaxe de JSONPath
A tabela abaixo fornece alguns dos conceitos básicos da sintaxe JSONPath. Observe que eles não são estabelecidos pela Qualtrics, mas são padrões usados com JSON.
JSONPath | Descrição | Exemplo |
$ | O objeto/elemento raiz | $.stores[0].name |
@ | O objeto/elemento atual | $.stores[?(@.name===”ACME Store”)] |
. | Operador infantil | $.eventDescription |
.. | Operador descendente recursivo | $.stores[0]..price |
* | Curinga | $.stores[*].name |
[] | Operador de subscrito | $.stores[0].name |
[,] | Operador da União | $.stores[0,1] |
[início:fim:etapa] | Operador de corte de matriz | $.stores[0:10:2] |
?() | Aplica um filtro | $.stores[?(@.name==”ACME Store”)] |
() | Expressão de script | $.stores[(@.length-1)] |
Exemplo de sintaxe JSONPath
Neste exemplo, mostraremos como, com um objeto JSON, a tabela JSONPath pode ser usada.
Esse é o nosso objeto JSON:
{
"eventDescription": "Monthly Revenue",
"stores": [
{
"name": "Acme Store",
"total": 1000000,
"topItem":
{ "price": "50", "description": "Anvil" }
},
{
"name": "The Banana Stand",
"total": 250000,
"topItem":
{ "price": "4", "description": "The Gob" }
},
{
"name": "Pizza Planet",
"total": 80000,
"topItem":
{ "price": "15", "description": "Pepperoni" }
}
]
}
Agora, devemos adicionar os valores de retorno que vemos na tabela JSONPath para deixar tudo mais claro.
$ -> Acme Store
@ -> [
{
"name": "Acme Store",
"total": 1000000,
"topItem":
{ "price": "50", "description": "Anvil" }
}
]
. -> Receita mensal
... -> 50
-> ["Acme Store", "The Banana Stand", "Pizza Planet"]
[] -> Acme Store
[,] -> [
Macro desconhecida: { "name"}
,
Macro desconhecida: { "name"}
]
**Altere o exemplo de [start:end:step] para "$.stores[1:3:1]"
[start:end:step] -> [
{
"name": "The Banana Stand",
"total": 250000,
"topItem":
{ "price": "4", "description": "The Gob" }
},
{
"name": "Pizza Planet",
"total": 80000,
"topItem":
{ "price": "15", "description": "Pepperoni" }
}
]
?() -> [{
"name": "Acme Store",
"total": 1000000,
"topItem":
{ "price": "50", "description": "Anvil" }
}]
() -> [
{
"name": "Pizza Planet",
"total": 80000,
"topItem":
{ "price": "15", "description": "Pepperoni" }
}
]
Exemplo de API em Node Javascript
O exemplo abaixo é um modelo básico que você pode seguir ao formatar seus dados de Evento.
var request = require('request-promise');
var surveyId = "SV_XXXXXXXXXXXXXX";
var triggerId = "OC_XXXXXXXXXXX";
var brandId = "YOUR_BRAND_ID";
var userId = "UR_XXXXXXXXXXXXXXXXX";
var datacenter = "xx1";
var apiToken = "YOUR_QUALTRICS_API_TOKEN";
var url = "https://" + datacenter + ".qualtrics.evento" +
"?contextId=" + surveyId + "&userId=" + userId + "&brandId=" + brandId + "&triggerId=" + triggerId;
var payload = {
"text": "This is some text",
"object": {
"number": 4
},
"array": ["a", "b", "c", "d"]
};
var options = {
url: url,
json: true,
body: payload,
headers: {
"Content-Type": "application/json", // OBRIGATÓRIO!!!
"X-API-TOKEN": apiToken
}
};
request.post(options).then(function (ret) {
console.log("success:", url, payload);
}).catch(function (err) {
console.log("error: ", url);
console.log(err);
});
Exemplo: Integração com o Freshdesk
O Evento JSON pode ser usado para integração com o Freshdesk como uma regra de webhook no Dispatch’r. Isso significa que os eventos no Freshdesk podem acionador tarefas no Qualtrics, como a criação de um tíquete ou a distribuição de uma pesquisa.
- No Qualtrics, defina seu Evento como JSON Evento.
- Copie o URL.
- Em uma nova guia, faça login no Freshdesk.
- Na seção Admin, navegue até a opção que melhor se adapta ao tipo de regra que você deseja definir.
Qdica: saiba a diferença entre Dispatch’r, Supervisor e Observerna documentação de suporte do Freshdesk. - Criar uma nova regra.
- Defina condições para determinar qual evento do Freshdesk deve acionador uma tarefa no Qualtrics.
Exemplo: Talvez quando um agente do Freshdesk faz com que o status do tíquete seja alterado de qualquer status para Resolvido, você gostaria de enviar uma pesquisa CSAT usando o Qualtrics. - Adicione uma nova ação e selecione Acionador Web Hook.
- Defina o tipo de solicitação como POST.
- Em URL de retorno de chamada, cole o URL Evento JSON da Etapa 2.
- Para usar a autenticação de token, adicione cabeçalhos personalizados, insira X-API-TOKEN: e defina-o como igual ao seu token de API.
- Para usar a autenticação HTTP Basic, clique em Requires Authentication (Requer autenticação), adicione seu nome de usuário Qualtrics e, em vez de sua senha, insira seu token de API.
- Certifique-se de que a codificação seja JSON.
- Selecione manualmente o conteúdo a ser transmitido ou escolha Advanced para inserir um corpo JSON.
- Salve sua regra.
- No Qualtrics, conclua seu fluxo de trabalho. Neste exemplo, provavelmente adicionaríamos um TarefaDiretório XM .
- Não se esqueça de publicar as alterações pesquisa quando estiver pronto para o lançamento.
Exemplo: Integração com o ServiceNow
O Evento JSON pode ser usado para integração com o ServiceNow. Isso significa que os eventos no ServiceNow podem acionador tarefas no Qualtrics, como a criação de um tíquete ou a distribuição de uma pesquisa.
- No Qualtrics, defina seu Evento como JSON Evento.
- Copie o URL.
- Em uma nova guia, faça login na sua instância de desenvolvedor do ServiceNow.
- Selecione Mensagem REST.
- Clique em New.
- Dê um nome à sua mensagem de descanso.
- No campo Endpoint, cole o URL que você copiou na Etapa 2.
- Altere o tipo de autenticação para Básico.
- Vá para a guia HTTP Request (Solicitação HTTP ).
- Clique duas vezes para adicionar o X-API-TOKEN.
- Clique duas vezes para colar seu token de API.
- Em uma nova linha, adicione o nome Content-type.
- Defina o valor como application/json.
- Clique em Enviar.
- Reabra sua mensagem de descanso.
- Em Métodos HTTP, clique em Novo.
- Dê um nome ao método.
- Defina o método HTTP como POST.
- Defina o tipo de autenticação como Inherit from parent (Herdar do pai).
- Clique em Enviar.
- Reabra o método HTTP POST que você acabou de criar.
- Na parte inferior da página, selecione Preview Script Usage (Visualizar uso do script).
- Copie o texto.
- Pesquise e selecione Business Rules.
- Selecione Novo.
- Selecione uma tabela.
- Selecione Advanced (Avançado).
- Determinar quando a regra de negócios é executada.
Exemplo: Se você selecionou Incidente para sua tabela e deseja enviar uma pesquisa CSAT para tickets resolvidos, pode adicionar uma condição informando que essa regra deve ser executada quando o estado do Incidente for alterado para Resolvido.Qdica: suporte da Qualtrics pode ajudá-lo a configurar seu Evento JSON e conectá-lo por meio do ServiceNow. No entanto, pode haver algumas perguntas sobre a funcionalidade do ServiceNow que eles não podem responder. Se você tiver dúvidas sobre como e quando as regras de negócios são executadas, consulte a documentação da ServiceNow sobre como as regras de negócios funcionam.
- Vá para a guia Advanced (Avançado ).
- Cole o conteúdo que você copiou da Etapa 22, onde está escrito Add your code here (Adicione seu código aqui).
- Adicione um corpo. É aqui que você comunica as informações que gostaria de passar para o Qualtrics.
Exemplo: Este é um exemplo do código final que você incluiria nesse campo. A maior parte desse código é a mensagem de saída fornecida pelo ServiceNow e variará de um exemplo para outro. Infelizmente, suporte da Qualtrics não pode ajudá-lo com qualquer codificação personalizada; se você tiver problemas com seu código, entre em contato com a comunidade da ServiceNow para obter assistência.
A parte em negrito do código inclui três funções adicionais não incluídas no código original: um corpo JSON que extrai o ID do usuário e o estado do incidente e uma chamada que recupera o endereço de e-mail do cliente do incidente para que ele possa receber o CSAT (em itálico abaixo). Consulte a documentação da ServiceNow e consulte a comunidade se tiver outras dúvidas.
(function executeRule(current, previous /*null when async*/) { // Adicione seu código aqui try { var r = new sn_ws.RESTMessageV2('Qualtrics JSON Evento ', 'JSON Evento POST') ;var body = { "User ID": gs.getUserID() "incident state": current.state.getDisplayValue() } ; var destino = new GlideRecord('sys_user'); destino.addQuery('sys_id', '=', current.caller_id); destino.query(); while(destino avançar()) { body["email"] = destino.email.getDisplayValue(); } var response = r.execute(); var responseBody = response.getBody(); var httpStatus = response.getStatusCode(); gs.addInfoMessage(httpStatus); } catch(ex) { var message = ex.message; gs.addInfoMessage("Error communicating w Qualtrics " + message); } })(current, previous);
- Adicione o corpo à solicitação. Adicione o seguinte abaixo da parte em negrito e em itálico do código da etapa anterior:
r.setRequestBody(JSON.stringify(body));
- Clique em Enviar.
- No Qualtrics, conclua seu fluxo de trabalho. Para continuar com o exemplo da pesquisa CSAT, provavelmente adicionaríamos um TarefaDiretório XM .
- Não se esqueça de publicar as alterações pesquisa quando estiver pronto para lançá-lo.
Exemplo: Integração com o Microsoft Dynamics por meio do Microsoft Flow
O Evento JSON faz com que os eventos no Microsoft Dynamics possam acionador tarefas no Qualtrics, como a criação de um tíquete ou a distribuição de uma pesquisa. Por exemplo, sempre que você excluir um registro conta na Microsoft, poderá distribuir uma pesquisa Qualtrics ao proprietário conta com perguntas de saída. (por exemplo, Lamentamos sua saída! Como foi seu tempo conosco? Como podemos melhorar?)
Para integrar o Evento JSON com ações que ocorrem no Microsoft Dynamics, você precisa fazer a configuração no Microsoft Flow em vez de no Dynamics. Não se preocupe – o Microsoft Flow é fornecido gratuitamente com todas as conta do Microsoft Dynamics, portanto, você pode fazer login no Flow com suas informações do Dynamics aqui.
- No Qualtrics, defina seu Evento como JSON Evento.
- Copie o URL.
- Em uma guia separada, acesse https://us.flow.microsoft.com/en-us/ e use suas informações do Microsoft Dynamics para fazer login no Flow.
- Selecione My Flows (Meus fluxos ) à esquerda.
- Clique em New e selecione Automated – from blank.
- Dê um nome ao fluxo.
- Selecione um acionador. Esse é o evento que acontece na Microsoft e que iniciará a tarefa no Qualtrics. Você pode escolher o que for mais adequado aos seus objetivos, mas, neste exemplo, escolheríamos “When a record is deleted (Dynamics 365)”
- Clique em Create.
- Em Organização Name (Nome da organização), faça login em sua conta do Dynamics.
- Em Nome da entidade, escolha o tipo de registro ou arquivo. Em nosso exemplo, usaríamos “Accounts” (Contas)
- Clique em Avançar Step (Próxima etapa) e selecione Add an Action (Adicionar uma ação).
- Selecione HTTP.
- Altere o método para POST.
- Cole o URL Evento JSON no campo URI.
- Use a autenticação por token. Em Headers (Cabeçalhos), digite X-API-TOKEN e, no campo avançar, cole seu token de API.
- Em Body (Corpo), você pode inserir um corpo JSON. Isso ajuda você a decidir as informações que deseja passar do Dynamics para o Qualtrics.
Qdica: Use o botão Add dynamic content (Adicionar conteúdo dinâmico ) para selecionar os campos de registro do Dynamics que você gostaria de trazer para o Qualtrics. Certifique-se de seguir o formato JSON adequado, conforme exibido na captura de tela. Para obter ajuda na solução de problemas de conteúdo dinâmico, entre em contato com o Suporte da Microsoft.
- Quando terminar, clique em Salvar.
- No Qualtrics, conclua seu fluxo de trabalho. Neste exemplo, provavelmente adicionaríamos um TarefaDiretório XM .
- Não se esqueça de publicar as alterações pesquisa quando estiver pronto para lançá-lo.
Exemplo: Integração com o Genesys PureCloud
Usando eventos JSON, você pode integrar-se ao Genesys PureCloud para enviar aos clientes uma pesquisa de acompanhamento após a conclusão de uma interação de suporte por telefone ou chat.
- Na pesquisa que você deseja enviar, navegue até Fluxos de trabalho.
- Criar um novo fluxo de trabalho baseado em eventos.
- Para o evento fluxo de trabalho, selecione o evento JSON .
- Clique em Copiar URL para copiar o endpoint evento para a área de transferência.
- Sem fechar a janela do Evento JSON, abra uma nova guia em seu navegador e navegue até o Genesys.
- Navegue até Admin.
- Clique em Ações.
- Clique em Add Action.
- Selecione Web Services Data Actions como o nome da integração.
Qdica: se você não tiver a opção de selecionar as ações de dados dos serviços da Web, precisará ativar a integração. Consulte esta página para obter mais informações. - Dê à sua ação um nome deação.
- Clique em Adicionar.
- Navegue até a guia Setup (Configuração ).
- Vá para a guia Contratos.
- Em Input Contract (Contrato de entrada), selecione JSON.
- Configure as propriedades que são enviadas para o Qualtrics.
Exemplo: Por exemplo, o código abaixo passará o endereço de e-mail, o número de telefone, o nome e o sobrenome.
{ "type": "object", "properties": { "emailAddress": { "type": "string" }, "phoneNumber": { "type": "string" }, "firstName": { "type": "string" }, "lastName": { "type": "string" } }, "additionalProperties": true }
- Vá para a guia Configuration (Configuração ).
- Altere o tipo de solicitação para POST.
- No campo Request URL Template (Modelo de URL de solicitação ), cole o URL do Evento JSON no Qualtrics.
- Clique em Add Header (Adicionar cabeçalho).
- Na caixa Chave , digite X-API-TOKEN.
- Na caixa Value (Valor ), insira seu token de API do Qualtrics.
- Vá para a guia Teste.
- Insira valores de teste para suas propriedades.
- Clique em Run Action (Executar ação).
- O Genesys lhe dirá se a ação foi bem-sucedida. Se houver falha, a resposta de erro será exibida para ajudá-lo a corrigir o problema.
- Retorne ao seu Evento JSON no Qualtrics e verifique se suas propriedades foram passadas para o Qualtrics com sucesso.
- Clique em Salvar.
- Clique no sinal de mais ( + ) e depois em Tarefa ) para configurar a tarefa que você deseja seguir quando o evento JSON for acionado. Em nosso caso, queremos enviar uma pesquisa para os entrevistados, portanto, selecionamos a Diretório XM Tarefa.
Qdica: Ao configurar sua tarefa, use o menu texto transportado para usar valores passados do Genesys (por exemplo, e-mail do cliente, nome, etc.).
- Depois de configurar a tarefa no Qualtrics, retorne ao Genesys e clique em Save & Publicar (Salvar e publicar ).
- Clique em Yes.
- Navegue até Admin.
- Clique em Architect.
- Selecione Pesquisa Invite (Convite para pesquisa ) no menu suspenso do fluxo.
- Clique em Adicionar.
- Dê ao seu fluxo um nome, uma descrição e uma Divisão.
- Clique em Criar fluxo.
- Na seção Data (Dados) da Toolbox (Caixa de ferramentas), selecione Call Data Action (Chamar ação de dados ) e arraste-a para a caixa suspensa no fluxo.
- Dê um nome à sua ação.
- Para a categoria, selecione Web Services Data Action.
- Em Data Action (Ação de dados), selecione a ação de dados que você criou anteriormente.
- Avançar de cada propriedade, clique no menu suspenso e selecione Expression (Expressão).
- Para os valores de propriedade, insira os dados que estão sendo enviados para cada propriedade. A caixa preencherá automaticamente seus campos à medida que você digitar.
Qdica: Esta página tem todas as propriedades padrão incluídas no fluxo convite para pesquisa. Também é possível usar expressões complexas em situações em que as informações contato do cliente estão ausentes ou exigem formatação adicional.Qdica: as informações Contato são precedidas de Pesquisa.CustomerContact.
- Clique na caixa mais abaixo em seu fluxo.
- Selecione Toolbox, Pesquisa Invites e Abort Pesquisa.
- Selecione optOut para a Disposição.
- Clique em Publicar. O Genesys validará o fluxo e depois o publicar. Quando isso for feito, o fluxo estará em vigor e começará a enviar pesquisas aos clientes quando eles concluírem as interações de suporte.