Altri tipi di variabili

Oltre alle variabili di flusso e globali, è possibile utilizzare le variabili di ambito utente, profilo e sistema.

Variabili profilo-ambito per contesto utente

È possibile accedere ai valori di nome, impostazioni nazionali e ora locale di un utente utilizzando variabili di ambito profilo che accedono alle impostazioni del profilo dal client di chat.

Ad esempio:
"Hello ${profile.firstName}, how can I help you today?"

Questa è un'immagine del file profile.firstName nell'output.
Utilizzare queste variabili predefinite per eseguire l'output specifico del contesto per l'utente skill.
Questa operazione... Usa questo...
Recupera il nome dell'utente bot. ${profile.firstName}
Recupera il cognome dell'utente bot. ${profile.lastName}
Recupera le impostazioni nazionali dell'utente bot. ${profile.locale}
Recupera il fuso orario dell'utente (offset in millisecondi). ${profile.timezoneOffset}

Queste variabili predefinite vengono impostate automaticamente dai valori che la piattaforma di messaggistica trasmette. I valori differiscono per piattaforma di messaggistica e alcune piattaforme di messaggistica potrebbero non fornirli. Per l'assistente digitale come integrazioni agente, ad esempio, profile.firstName, profile.lastName e profile.email hanno valori solo se l'utente ha eseguito l'accesso a Oracle Service Cloud o se un utente ha compilato campi per il nome, il cognome e l'indirizzo e-mail nella pagina di avvio della chat di Oracle Service Cloud prima di richiedere una chat. Per il client Web Oracle, questi valori di profilo devono essere impostati con la proprietà initUserProfile o con il metodo updateUser.

Salva valori specifici dell'utente per le visite di restituzione

È possibile creare variabili di ambito utente per rendere persistenti più sessioni.

In generale, quando una conversazione utente con uno skill o un assistente digitale termina, i valori delle variabili impostati dall'input utente vengono eliminati. Tuttavia, è anche possibile definire variabili di ambito utente per conservare l'input utente dalle sessioni precedenti e migliorare le nuove conversazioni. Le variabili di ambito utente vengono create direttamente nei componenti stessi.

Per creare una variabile di ambito utente:

  1. Nel campo Variabile della finestra di ispezione delle proprietà del componente in cui si desidera crearlo, selezionare Variabile ambito utente dall'elenco a discesa.
  2. Nel campo Nome variabile con ambito visualizzato, immettere il nome della variabile.

    Immettere il nome senza il prefisso user.. Sebbene tale prefisso venga utilizzato quando si fa riferimento a una variabile di ambito utente, non viene utilizzato durante la definizione.

Per fare riferimento a una variabile di ambito utente, utilizzare un'espressione come ${user.VAR_NAME}.

Ad esempio, nella competenza di esempio Pizza Skill - Visual Flow Designer, la variabile di ambito utente lastOrderNumber viene impostata dopo che l'utente ha inserito l'ordine nel flusso service.reg.placeOrder. A questa variabile fa riferimento l'espressione ${((user.lastOrderNumber)?has_content)} nel primo stato del flusso chiamato all'avvio dello skill (handler.startSkill) per determinare se l'utente ha effettuato ordini precedenti.

Nota

I valori delle variabili di ambito utente sono specifici del canale. Ad esempio, se un utente accede a uno skill su un canale Web e successivamente accede allo skill tramite un canale Microsoft Teams, il canale Teams avrà le proprie istanze delle variabili utente e non riconoscerà i valori della conversazione precedente nel canale Web.

Variabili di sistema

Variabile Digita descrizione;
system.nlpresult Risultato NLP Utilizzato per memorizzare il risultato NLP per l'espressione utente. Per ottenere il risultato NLP completo, è possibile utilizzare l'espressione ${skill.system.nlpresult.value}.
system.intent.utterance Stringa Quando questa variabile ha un valore, verrà utilizzata per la corrispondenza degli intenti anziché per l'ultimo messaggio utente. Per accedere a questa variabile, è possibile utilizzare l'espressione ${skill.system.intent.utterance}.
system.event Mappa Quando uno degli eventi built-in viene mappato nel flusso principale o in un flusso secondario, questa variabile contiene le proprietà evento che è possibile utilizzare per gestire l'evento. Ad esempio, per ottenere un payload evento, utilizzare un'espressione nel formato ${skill.system.event.value.EVENT_NAME}.
system.rb bundle di risorse Utilizzato per accedere alle voci del bundle di risorse della lingua. Per accedere a una voce di bundle di risorse, è possibile utilizzare un'espressione nel formato ${skill.system.rb.RB_ENTRY_NAME}.