Invia dati a un'interfaccia API utilizzando Oracle Infinity Streams (precedente)

Introduzione

Questa esercitazione illustrerà la raccolta dei dati in Infinity e l'invio a un esempio di API (utilizzando Streams (Legacy) e Action Center (Legacy) Webhooks) per un caso d'uso fittizio di riduzione dei volumi del call center.

Che cos'è un webhook?: un webhook è un modo per inviare i dati a un endpoint in tempo reale (ad esempio, l'invio dei dati di conversione a un'API esterna).

Obiettivi

In questo tutorial, si completa un caso d'uso fittizio di e-mail dei clienti rilevanti contenuto della Guida quando fanno clic sul link "contattaci" sul tuo sito web per ridurre il numero di query affrontate dal tuo contact center.

Questa:

Per un'illustrazione del caso d'uso immaginario, vedere il diagramma riportato di seguito.

Illustrazione casi d'uso

Immagine che mostra dove selezionare un'area.

Prerequisiti

Creare un endpoint Mock

Verrà creato un endpoint mock per ricevere i dati Infinity (rappresentando l'API di una piattaforma di posta elettronica per l'attivazione dei messaggi di posta elettronica). Verrà utilizzato Beeceptor per il nostro endpoint mock.

  1. Visitare Beeceptor, immettere un nome per l'endpoint, quindi fare clic su Crea endpoint.

    Scegliere un nome di endpoint univoco per questa esercitazione

    Immagine che mostra dove selezionare un'area.

  2. Copiare l'URL dell'endpoint utilizzando Fare clic per copiare.

    Quando si apre l'URL dell'endpoint in un'altra finestra/scheda, è necessario visualizzare le richieste visualizzate nella finestra/scheda Beeceptor esistente:

    Richieste nella finestra originale Beeceptor

    Immagine che mostra dove selezionare un'area.

  3. Eseguire il test dell'endpoint.

    Visitare l'URL dell'endpoint copiato nella nuova finestra/scheda del browser per verificarne la corretta ricezione dei dati.

    Copia negli Appunti

    Immagine che mostra dove selezionare un'area.

Creare una connessione webhook nel centro azioni (precedente)

Per inviare i dati all'endpoint mock appena creato è necessaria una connessione webhook.

  1. Aprire l'interfaccia utente di Oracle Infinity.

  2. Fare clic sul menu in alto a sinistra e andare a Centro azioni.

  3. Fare clic su Gestisci connessioni (nell'angolo superiore destro).

  4. Fare clic su +New Connection > Webhook (in alto a sinistra).

  5. Immettere i dettagli dell'endpoint.

    • Nome: My Email platform.

    • Connection Protocol: selezionare HTTP.

    • Secure (HTTPS/WSS): selezionare questa casella.

    • DN FQServer: immettere l'endpoint Beeceptor dagli Appunti (meno https://). Ad esempio, YOURENDPOINT.free.beeceptor.com.

    • Porta : 443

    • Tipo di autenticazione: None

      Dettagli connessione

    Immagine che mostra dove selezionare un'area.

  6. Fare clic su Connetti.

Creare una destinazione all'interno della connessione

Una destinazione all'interno di una connessione consente di formattare i dati prima di inviarli a una posizione specifica all'interno della connessione.

  1. Selezionare la connessione, quindi fare clic su Nuovo in Destinazioni.

  2. Immettere i dettagli riportati di seguito.

    • Nome: Website Actions
    • Endpoint URI: / (utilizzato per l'invio a un percorso facoltativo sull'endpoint (ad esempio, myinfinitytest.free.beeceptor.com/ con / alla fine di quanto specificato qui).
    • Raggruppamento eventi: Single
    • Metodo HTTP: POST
    • Contenuto/tipo di payload: application/json
    • Formatter richieste: Twig
  3. Incollare il seguente modello di codice nel modello di richiesta di applicazione:

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

    Che cos'è Twig?: Twig è un linguaggio di modellazione che consente di manipolare il payload prima di inviarlo all'endpoint. La formattazione dei payload è molto efficace nel formato corretto per l'endpoint.

    Dettagli destinazione

    Immagine che mostra dove selezionare un'area.

  4. Fare clic su Salva.

Genera flusso

Sarà necessario build, test e salvare un Stream (Legacy) da acquisire quando simuliamo un utente facendo clic sul pulsante Contattaci nel nostro caso d'uso immaginario in modo da poterlo inviare all'endpoint del mock.

  1. Genera flusso

    Verrà creato un semplificatore scrivendo una query in cui vengono cercati gli utenti che fanno clic sul pulsante Contattateci (evento che verrà simulato in un passo successivo):

    • Nell'interfaccia utente di Oracle Infinity fare clic sul menu in alto a sinistra e passare a Streams.
    • Incolla la query seguente come Query: 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'.
    • Premere Inizio.

    Definizione della query

    Immagine che mostra dove selezionare un'area.

    Query spiegata:

    La prima parte dell'istruzione è un SELECT dei campi da esporre nel flusso. Si tratta dei valori correnti di wt.event_name (Nome evento) e wt.dcsvid (ID cliente).

    Entrambi i parametri selezionati con SELECT utilizzano Aliasing dichiarando AS in modo da poterli dichiarare come event_name e customer_id (ciò semplifica la creazione della nostra azione in un passo successivo).

    WHERE che decide quando il flusso deve attivare un'azione. Ciò si verifica quando l'evento contiene wt.event_name='contact us' AND a wt.dcsvid (ID cliente). Inoltre, è necessario utilizzare session.closed=false per consentire l'attivazione immediata dell'azione (non attendere fino alla fine della sessione).

    Sintassi query Streams: vedere Oracle Infinity Help Center - Streams per il supporto completo della sintassi delle query.

  2. Test del flusso

    Convalideremo i dati in entrata nel nostro flusso simulando un pulsante Contattateci e verificando se è possibile visualizzare i dati in entrata:

    • Vai al tuo sito Web con il monitoraggio Infinity implementato (ad esempio, utilizzando il tag Oracle CX)
    • Aprire la console del browser, ad esempio Developer Tools Console in Google Chrome.
    • Copiare il seguente codice e incollarlo nella console del 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)]);
    

    MYCUSTOMERID: questo valore rappresenterebbe l'ID del cliente in una distribuzione reale. Nel nostro caso d'uso immaginario, questo è ciò che una piattaforma di posta elettronica userebbe per sapere chi inviare un messaggio di posta elettronica.

    Pagina di esempio con codice e richiesta infinita dcs.gif risultante nella scheda Rete

    Immagine che mostra dove selezionare un'area.

  3. Salva flusso

    Salvare ora Stream per averlo convalidato correttamente:

    • Trascinare tutti i parametri sul lato sinistro nell'area di creazione principale:

      Parametri di trascinamento

      Parametri di trascinamento.

    • Fare clic su Salva il flusso e assegnare un nome, ad esempio Contattaci.

Crea azione

Ora è possibile creare l'azione che connetterà Stream alla connessione in modo che i dati vengano visualizzati nell'endpoint mock.

  1. Nell'interfaccia utente di Oracle Infinity fare clic sul menu in alto a sinistra e andare al Centro azioni.

  2. Fare clic su +Create Action.

  3. Completare i campi riportati di seguito.

    • Nome: Contact Us - Email
    • Descrizione: Sends Customer ID and Event Name upon Contact Us click
    • Rinvio tentativo: impostazione predefinita.
  4. In Destinazione selezionare:

    • Webhook
    • endpoint del proprio beeceptor (o qualsiasi endpoint definito per la connessione).
    • Contattaci (o qualsiasi altra informazione definita Destinazione).
  5. In Dati selezionare Contattaci (o qualsiasi elemento denominato Stream), quindi fare clic su Salva.

    Le mie variabili sono già mappate?: poiché nella query sono stati utilizzati Alias, si noterà che i parametri selezionati sono già mappati.

    Il flusso con i mapping

    Parametri di trascinamento.

    Cosa fanno i mapping dei campi?: I nomi event_name e customer_id mappati sono quelli che verranno elaborati dal modello Twig impostato nella destinazione in precedenza in questa guida.

  6. Tornare al Centro azioni in cui è necessario visualizzare la nuova azione.

  7. Fare clic su Avvia per attivare l'azione.

Test del flusso

Una volta completata la configurazione, è possibile inviare i dati a Stream e ricevere l'output nell'endpoint mock, simulando lo use case del call center fittizio.

  1. Aprire la finestra del beeceptor originale, in cui è possibile visualizzare le richieste in entrata (ad esempio, https://beeceptor.com/console/YOURNAMEOFMOCKENDPOINT)

  2. Aprire la pagina di test in cui è attivo il tag Infinity/CX

  3. Attiva un'altra richiesta in base al passo 2 all'interno di Genera un flusso:

    	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)]);
    

Ora dovresti vedere i dati che mostrano all'interno del tuo endpoint mock, dove l'endpoint mock simula la piattaforma email* ricevendo un segnale in entrata da Infinity:

Dati visualizzati nell'endpoint mock

Immagine che mostra dove selezionare un'area.

*Ambiente di produzione: in un ambiente di produzione si dispone di un payload più complesso che invia i dati all'API di una piattaforma di posta elettronica reale. Tuttavia, per questo tutorial stiamo utilizzando solo un endpoint mock per mostrare la funzionalità Infinity.

Altre risorse di apprendimento

Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti di apprendimento gratuito sul canale Oracle Learning YouTube. Inoltre, visitare education.oracle.com/learning-explorer per diventare Oracle Learning Explorer.

Per la documentazione del prodotto, visitare il sito Oracle Help Center.