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 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:

  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}.