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.
"Hello ${profile.firstName}, how can I help you today?"
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 variano a seconda della 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 i 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 Oracle Web Client, è necessario impostare questi valori di profilo con la proprietà initUserProfile o 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:
- Nel campo Variabile della finestra di ispezione delle proprietà del componente in cui si desidera crearlo, selezionare Variabile ambito utente dall'elenco a discesa.
- 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.
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}.
|