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:
- Crea un'API Mock a cui inviare i dati Infinity.
- Creare un Stream (Legacy) per acquisire un comportamento utente specifico.
- Creare una connessione Webhook in Action Center (Legacy).
- Creare una destinazione all'interno della connessione per formattare i dati trasmessi all'API mock.
- Creare un'azione per inviare i dati del flusso a un'interfaccia API mock.
Per un'illustrazione del caso d'uso immaginario, vedere il diagramma riportato di seguito.
Illustrazione casi d'uso
Prerequisiti
- Account Oracle Infinity: è necessario disporre di un account e conoscere il GUID dell'account.
- Pagina Web con Oracle Infinity implementato: è necessario disporre di una pagina Web con il tag Oracle CX implementato utilizzando il GUID account (vedere - Infinity IQ Quick Start Center - CX Tag Quick Start Guides per istruzioni sulla distribuzione del tracciamento Infinity in una pagina Web).
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.
-
Visitare Beeceptor, immettere un nome per l'endpoint, quindi fare clic su Crea endpoint.
Scegliere un nome di endpoint univoco per questa esercitazione
-
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
-
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
Creare una connessione webhook nel centro azioni (precedente)
Per inviare i dati all'endpoint mock appena creato è necessaria una connessione webhook.
-
Aprire l'interfaccia utente di Oracle Infinity.
-
Fare clic sul menu in alto a sinistra e andare a Centro azioni.
-
Fare clic su Gestisci connessioni (nell'angolo superiore destro).
-
Fare clic su +New Connection > Webhook (in alto a sinistra).
-
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
-
-
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.
-
Selezionare la connessione, quindi fare clic su Nuovo in Destinazioni.
-
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
- Nome:
-
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
-
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.
-
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
Query spiegata:
La prima parte dell'istruzione è un
SELECT
dei campi da esporre nel flusso. Si tratta dei valori correnti diwt.event_name
(Nome evento) ewt.dcsvid
(ID cliente).Entrambi i parametri selezionati con
SELECT
utilizzano Aliasing dichiarandoAS
in modo da poterli dichiarare comeevent_name
ecustomer_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 contienewt.event_name='contact us'
AND
awt.dcsvid
(ID cliente). Inoltre, è necessario utilizzaresession.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.
-
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
-
Salva flusso
Salvare ora Stream per averlo convalidato correttamente:
-
Trascinare tutti i parametri sul lato sinistro nell'area di creazione principale:
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.
-
Nell'interfaccia utente di Oracle Infinity fare clic sul menu in alto a sinistra e andare al Centro azioni.
-
Fare clic su +Create Action.
-
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.
- Nome:
-
In Destinazione selezionare:
- Webhook
- endpoint del proprio beeceptor (o qualsiasi endpoint definito per la connessione).
- Contattaci (o qualsiasi altra informazione definita Destinazione).
-
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
Cosa fanno i mapping dei campi?: I nomi
event_name
ecustomer_id
mappati sono quelli che verranno elaborati dal modello Twig impostato nella destinazione in precedenza in questa guida. -
Tornare al Centro azioni in cui è necessario visualizzare la nuova azione.
-
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.
-
Aprire la finestra del beeceptor originale, in cui è possibile visualizzare le richieste in entrata (ad esempio,
https://beeceptor.com/console/YOURNAMEOFMOCKENDPOINT
) -
Aprire la pagina di test in cui è attivo il tag Infinity/CX
-
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
*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.
Collegamenti correlati
- Infinity IQ Quick Start Center - Guide di avvio rapido tag CX: guide di avvio rapido per la distribuzione del tracciamento Infinity.
- Infinity User Help Center - Streams (precedente): documentazione di Streams (precedente).
- Infinity User Help Center - Sintassi query Streams - Sintassi query Streams (precedente).
- Infinity User Help Center - Action Center (Legacy) - Documentazione di Action Center (Legacy).
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.
Send data to an API using Oracle Infinity Streams (Legacy)
F50950-01
November 2021
Copyright © 2021, Oracle and/or its affiliates.