Enviar dados para uma API usando o Oracle Infinity Streams (Legado)

Introdução

Este tutorial demonstrará a coleta de dados no Infinity e o envio a um exemplo de API (usando Streams (Legado) e Centro de Ações (Legado) Webhooks) para um caso de uso ficcional de redução de volumes de call center.

O que é um Webhook?: Um webhook é uma forma de enviar dados para um ponto final em tempo real (por exemplo, enviar dados de conversão para uma API externa).

Objetivos

Neste tutorial, você estará preenchendo um caso de uso fictício de enviar por e-mail conteúdo de ajuda relevante aos clientes quando eles clicarem no link "fale conosco" em seu site para reduzir o número de consultas enfrentadas pela sua central de atendimento.

Você não:

Consulte o diagrama a seguir para obter uma ilustração do caso de uso ficcional:

Ilustração do caso de uso

Imagem mostrando onde selecionar uma região.

Pré-requisitos

Criar um Ponto Final Mock

Criaremos um ponto final simulado para receber nossos dados do Infinity (representando a API de uma plataforma de e-mail para acionar e-mails). Estaremos usando Beeceptor para nosso ponto final simulado.

  1. Visite Beeceptor, digite um nome para seu ponto final e clique em Criar Ponto Final.

    Escolha um nome de ponto final exclusivo para este tutorial

    Imagem mostrando onde selecionar uma região.

  2. Copie seu URL de ponto final usando Clique para copiar.

    Ao abrir o URL de ponto final em outra janela/guia, você deverá ver as solicitações mostradas na janela/guia do Beeceptor existente:

    Solicitações na janela do Beeceptor original

    Imagem mostrando onde selecionar uma região.

  3. Teste seu ponto final.

    Visite o URL de ponto final que você copiou na nova janela/guia do browser para validá-lo, recebendo dados corretamente.

    Copiar para a área de transferência

    Imagem mostrando onde selecionar uma região.

Criar uma Conexão do Webhook no Centro de Ações (Legado)

É necessária uma Conexão do webhook para enviar dados ao ponto final simulado recém-criado.

  1. Abra a Interface do Usuário do Oracle Infinity.

  2. Clique no menu superior esquerdo e vá para Central de Ações.

  3. Clique em Gerenciar Conexões (no canto superior direito).

  4. Clique em +New Conexão > Webhook (no lado superior esquerdo).

  5. Informe os detalhes do ponto final.

    • Nome : My Email platform.

    • Protocolo de Conexão : Selecione HTTP.

    • Seguro (HTTPS/WSS) : Marque esta caixa.

    • FQDN do Servidor : Informe seu ponto final do Beeceptor na área de transferência (menos o https://). Por exemplo, YOURENDPOINT.free.beeceptor.com.

    • Porta : 443

    • Tipo de Autenticação : None

      detalhes da Conexão

    Imagem mostrando onde selecionar uma região.

  6. Clique em Conectar.

Crie um Destino na Sua Conexão

Um Destino em uma Conexão permite formatar dados antes de enviá-los para um local específico na sua conexão.

  1. Selecione sua Conexão e clique em Novo em Destinos.

  2. Informe os seguintes detalhes:

    • Nome : Website Actions
    • Ponto Final de URI : / (isso é usado para enviar a um caminho opcional no seu ponto final (por exemplo, myinfinitytest.free.beeceptor.com/ com / no final sendo o que você está especificando aqui).
    • Agrupamento de Eventos : Single
    • Método HTTP : POST
    • Conteúdo/Tipo de Payload : application/json
    • Formatador de Solicitação : Twig
  3. Cole o seguinte modelo de código no Modelo de Solicitação do Tesouro:

    \{\% autoescape 'json' \%\}
    {
     "customer_id":"\{\{events[0]['customer_id']\}\}",
     "event_name":"\{\{events[0]['event_name']\}\}"
    }
    \{\% endautoescape \%\}
    

    O que é Twig?: Twig é uma linguagem de modelo que permite manipular o payload antes de enviá-lo para seu ponto final. É muito poderoso para formatar seus payloads no formato correto do ponto final.

    Detalhes do destino

    Imagem mostrando onde selecionar uma região.

  4. Clique em Salvar.

Crie um Fluxo

Você precisará criar, testar e salvar um Stream (Legado) para capturar quando simulamos um usuário clicando no botão Fale Conosco em nosso caso de uso ficcional para que possamos enviá-lo ao nosso ponto final simulado.

  1. Crie o Fluxo

    Criaremos um Stream gravando uma Consulta procurando usuários que clicam no botão Entre em Contato Conosco (um evento que estaremos simulando em uma etapa posterior):

    • Na Interface do Usuário do Oracle Infinity, clique no menu superior esquerdo e vá para Streams.
    • Cole a consulta a seguir como uma Consulta: data.wt.event_name AS 'event_name',data.wt.dcsvid AS 'customer_id' WHERE data.wt.event_name='contact us' AND Exists(data.wt.dcsvid) AND session.closed='false'.
    • Pressione Iniciar.

    Definindo sua consulta

    Imagem mostrando onde selecionar uma região.

    Consulta Explicada:

    A primeira parte da instrução é um SELECT de quais campos queremos expor no fluxo. Esses seriam os valores atuais de wt.event_name (Nome do Evento) e wt.dcsvid (ID do Cliente).

    Os dois parâmetros selecionados com SELECT estão usando a Aliasing declarando AS para que possamos declará-los como event_name e customer_id (isso simplifica a criação de nossa Ação em uma etapa posterior).

    WHERE que decide quando o fluxo deve acionar uma ação. Seria quando o evento contiver wt.event_name='contact us' AND um wt.dcsvid (ID do Cliente). Além disso, devemos usar session.closed=false para permitir que a ação seja acionada imediatamente (não aguarde até o fim da sessão).

    Sintaxe de Consulta do Streams: Consulte Centro de Ajuda do Oracle Infinity - Streams para obter suporte à sintaxe de consulta completa.

  2. Testar o Fluxo

    Validaremos os dados de entrada em nosso fluxo simulando um clique em Botão Entre em Contato Conosco e verificando se podemos ver os dados de entrada:

    • Vá para seu site com o rastreamento do Infinity implementado (por exemplo, usando a Tag do Oracle CX)
    • Abra a console do browser (por exemplo, a Console de Ferramentas do Desenvolvedor no Google Chrome.
    • Copie o código a seguir e cole-o na console do browser:
    	var cxDataObject = {	
    	"wt.event_name":"contact us", // Sample Custom Variable
    	"wt.dcsvid":"MYCUSTOMERID"
    	}
    
    	// DO NOT EDIT BELOW THIS LINE - ORA.click()
    	window.ORA = window.ORA || {productReady: []};
    	ORA.productReady.push(['analytics', function(cxDataObject) {return function() {return ORA.click({"data": cxDataObject})}}(cxDataObject)]);
    

    MICUSTOMERID: Esse valor representaria o ID do cliente em uma implantação real. Em nosso caso de uso ficcional, é isso que uma plataforma de e-mail usaria para saber para quem enviar uma mensagem por e-mail.

    Página de amostra com código e solicitação dcs.gif Infinity resultante na guia Rede

    Imagem mostrando onde selecionar uma região.

  3. Salve seu Fluxo

    Salve seu Stream agora que validamos seu funcionamento corretamente:

    • Arraste todos os parâmetros do lado esquerdo para a tela principal:

      Arrastando parâmetros

      Arrastando Parâmetros.

    • Clique em Salvar seu fluxo e dê a ele um nome, como Fale Conosco.

Crie sua Ação

Agora podemos criar a ação que conectará seu Stream à sua Conexão para que os dados sejam mostrados no seu ponto final simulado.

  1. Na Interface do Usuário do Oracle Infinity, clique no menu superior esquerdo e vá para Centro de Ações.

  2. Clique em +Create Action.

  3. Complete os campos a seguir.

    • Nome : Contact Us - Email
    • Descrição : Sends Customer ID and Event Name upon Contact Us click
    • Tentar Reenviar : Deixe como configuração padrão.
  4. Em Destino, selecione:

    • Webhook
    • Meu Ponto Final do Beeceptor (ou o que você chamou sua Conexão).
    • Clique em Entre em Contato Conosco (ou o que você chamou de Destino).
  5. Em Dados, selecione Fale Conosco (ou o que tiver nomeado seu Stream) e clique em Salvar.

    Minhas Variáveis já estão mapeadas?: Como você usou Aliases em sua consulta, perceberá que os parâmetros selecionados já foram mapeados.

    Seu fluxo com mapeamentos

    Arrastando Parâmetros.

    O que os mapeamentos de campo fazem?: Os nomes event_name e customer_id mapeados internamente são o que será processado pelo modelo Twig configurado no seu destino anteriormente neste guia.

  6. Retorne à Central de Ações na qual você deverá ver sua nova Ação.

  7. Clique em Iniciar para ativar sua ação.

Testar Seu Fluxo

Agora que a configuração foi concluída, você pode enviar dados ao seu Stream e receber a saída no seu ponto final simulado - simulando o caso de uso do call center fictício.

  1. Abra a janela do beeceptor original, na qual é possível exibir solicitações de entrada (por exemplo, https://beeceptor.com/console/YOURNAMEOFMOCKENDPOINT)

  2. Abra a página de teste em que a tag Infinity/CX está ativa

  3. Acione outra solicitação de acordo com a etapa 2 em Criar um Fluxo:

    	var cxDataObject = {	
    	"wt.event_name":"contact us", // Sample Custom Variable
    	"wt.dcsvid":"MYCUSTOMERID"
    	}
    
    	// DO NOT EDIT BELOW THIS LINE - ORA.click()
    	window.ORA = window.ORA || {productReady: []};
    	ORA.productReady.push(['analytics', function(cxDataObject) {return function() {return ORA.click({"data": cxDataObject})}}(cxDataObject)]);
    

Agora você deve ver os dados mostrados dentro do seu ponto final simulado, em que o ponto final simula a plataforma de e-mail* recebendo um sinal de entrada do Infinity:

Seus dados são mostrados no ponto final simulado

Imagem mostrando onde selecionar uma região.

*Ambiente de Produção: em um ambiente de produção, você teria um payload mais complexo enviando dados para uma API de plataforma de e-mail real. No entanto, para a finalidade deste tutorial, só estamos usando um ponto final simulado para mostrar a funcionalidade Infinity.

Mais Recursos de Aprendizagem

Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal YouTube do Oracle Learning. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.

Para obter a documentação do produto, visite o Oracle Help Center.