Ti trovi qui:
Utilizzo di un flusso schermata per passare i dati di input a un flusso WhatsApp dinamico
Il flusso schermata può raccogliere i dati dei clienti e trasmetterli in modo sicuro nelle variabili. Queste variabili possono quindi servire come input per il flusso WhatsApp dinamico creato con un componente di messaggistica modulo basato su Apex. Per aggiungere contenuti personalizzati al messaggio, nel componente di messaggistica del modulo basato su Apex, aggiungere riferimenti dinamici a questi dati di input. Ad esempio, per pianificare un appuntamento veterinario, il flusso schermata raccoglie dettagli specifici, come il tipo di animale e il problema, e passa dinamicamente queste informazioni al componente di messaggistica del modulo basato su Apex.
Versioni (Edition) richieste
| Visualizzare le versioni supportate. | |
Questo articolo si applica a:
|
Canali WhatsApp ottimizzati, WhatsApp unificato |
Questo articolo non si applica a:
|
Chat in app ottimizzata, Chat Web ottimizzata, Facebook Messenger standard e ottimizzato, SMS standard e ottimizzato, Apple Messages for Business ottimizzato, LINEA ottimizzata e Porta il tuo canale |
| Autorizzazioni utente richieste | |
|---|---|
| Per creare componenti di messaggistica: | Personalizza applicazione E Visualizza impostazione e configurazione O Amministratore sistema |
| Per inviare e ricevere messaggi in Messaggistica: | Agente di Messaggistica |
Quando si crea un componente di messaggistica modulo basato su Apex, per impostazione predefinita sono disponibili i seguenti parametri di input standard.
| Parametro | Descrizione |
|---|---|
FormData |
Memorizza i dati di input passati al flusso. I dati sono memorizzati come stringa JSON di coppie chiave-valore. Per fare riferimento a questi dati, è necessario definire la struttura dei dati in un modello di dati. La struttura del modello di dati deve corrispondere alla struttura del JSON. È possibile accedere a questi dati utilizzando Apex o un flusso schermata. |
FormEntryScreenId |
Memorizza l'ID della schermata di immissione, ovvero la prima schermata visualizzata dall'utente finale di messaggistica. |
Questi parametri predefiniti sono riportati nella scheda Parametri della sezione Dettagli componente.
Per capire come utilizzare questi parametri e un flusso schermata per passare i dati di input, vediamo un esempio.
-
Aprire il formato Flusso del componente di messaggistica modulo basato su Apex.
-
Nel formato Flusso, fare clic su Gestisci dati per definire un modello di dati per tutti i dati di input trasmessi dal parametro FormData.
Ad esempio, il parametro FormData memorizza questi dati di input.
{“FirstName”:“Albert”,“LastName”:“Costa”,“isStudent”:“true”} -
Per aggiungere un campo al modello di dati, fare clic su Aggiungi campo e configurarne le proprietà.
Eseguire questo passaggio per ogni campo del parametro FormData. Per creare una struttura, selezionare il tipo di dati Oggetto per un campo e aggiungere campi nidificati.

- Dopo aver definito il modello di dati, salvarlo.
-
Nel formato Flusso, fare clic su Gestisci dati per definire un modello di dati per tutti i dati di input trasmessi dal parametro FormData.
-
Per utilizzare il valore di un campo modello di dati in una proprietà Flusso, aggiungere un riferimento dinamico.
-
Aprire il formato Flusso e individuare la proprietà per cui si desidera utilizzare un riferimento dinamico.
Ad esempio, è possibile aggiungere un riferimento dinamico per il campo Contenuto di testo per un elemento schermata Corpo.
- Nel campo Tipo, selezionare Riferimento dinamico.
-
In Seleziona il campo di riferimento, selezionare il campo del modello di dati.

I riferimenti dinamici possono estrarre i dati dai campi modello di dati o dai campi di input definiti in una schermata.
-
Nell'area di disegno, visualizzare in anteprima il riferimento dinamico.

-
Aprire il formato Flusso e individuare la proprietà per cui si desidera utilizzare un riferimento dinamico.
-
Per passare i dati al componente di messaggistica, creare un flusso schermata.
Il flusso schermata può raccogliere dati dalla sessione di messaggistica e utilizzarli nel componente di messaggistica Modulo basato su Apex. Per illustrare come funziona, creare un flusso schermata di esempio.
-
Definire le variabili del flusso schermata.
Variabile Valore sessionIdMemorizza l'ID record della sessione di messaggistica. initialDataMemorizza i dati di input per il modulo basato su Apex. I campi di questa stringa JSON devono corrispondere ai nomi dei campi aggiunti al modello di dati. initialScreenIdMemorizza l'ID schermata iniziale del modulo basato su Apex. Questa è la prima schermata visualizzata da un utente finale di messaggistica. meuNameMemorizza il nome dell'utente finale di messaggistica. itemsQuesta variabile raccolta memorizza un elenco di elementi. -
Nel flusso schermata, aggiungere queste azioni in questo ordine. Per recuperare i dati da un oggetto Salesforce, aggiungere un'azione Ottieni record. Per assegnare valori alle variabili schermata, aggiungere un'azione Assegnazione.
Azione Descrizione Azione getSession Ottieni record Ottenere la sessione di messaggistica in base all'ID sessione. È possibile ottenere dati pertinenti da quella sessione di messaggistica. In questo caso, recupera e memorizza i valori dei campi Id e MessagingEndUserId. Azione getMEU Ottieni record Ottenere il record Utente messaggistica in base a MessagingEndUserId. Azione di assegnazione setMEUName Impostare la variabile meuNamesul valore del campo Nome utente messaggistica del record Utente messaggistica.Azione getDynamicFlowItem Ottieni record Ottenere tutti i record DynamicFlowItem dall'oggetto DynamicFlowItem, memorizzando i campi ID, ItemId__c e itemTitle__c nella variabile raccolta items.Azione GeneraJson Apex Converte i dati di input dalle variabili itemsemeuNamenel formato JSON. I campi dell'oggetto JSON vengono mappati ai campi del modello di dati del flusso. Questa azione è basata su una classe Apex. Vedere classe Apex di esempio dopo questa tabella.azione setData Assignment Impostare la variabile InitialDatasul valore dell'azione JSON generata.Questa classe Apex trasforma i dati di input strutturati (il nome di un utente e un elenco di record Salesforce) in una singola stringa JSON. Questa stringa JSON viene quindi utilizzata per passare i dati di input al componente di messaggistica del modulo basato su Apex.
public class FlowJSONBuilder { // 1. Input parameters public class FlowInput { @InvocableVariable(label='User Name' required=true) public String meuName; // CHANGE: Use List<SObject> instead of List<DynamicFlowItems__c> to avoid compile error @InvocableVariable(label='Flow Items' required=true) public List<SObject> items; } // 2. Output parameters public class FlowOutput { @InvocableVariable(label='Generated JSON') public String jsonString; } // 3. Internal Wrapper classes public class JSONStructure { public String greeting; public List<ItemWrapper> items; } public class ItemWrapper { public String id; public String title; } // 4. Main Method @InvocableMethod(label='Generate Custom JSON' description='Builds the JSON string from Flow items') public static List<FlowOutput> generateJson(List<FlowInput> requests) { List<FlowOutput> outputs = new List<FlowOutput>(); for (FlowInput request : requests) { FlowOutput output = new FlowOutput(); JSONStructure jsonRoot = new JSONStructure(); jsonRoot.greeting = 'Hello ' + request.meuName + '!'; jsonRoot.items = new List<ItemWrapper>(); if (request.items != null) { // Loop through generic SObjects for (SObject genericRec : request.items) { // CAST the generic SObject to your specific Custom Object DynamicFlowItem__c rec = (DynamicFlowItem__c)genericRec; ItemWrapper item = new ItemWrapper(); item.id = rec.itemId__c; item.title = rec.itemTitle__c; jsonRoot.items.add(item); } } output.jsonString = JSON.serialize(jsonRoot); outputs.add(output); } return outputs; } } -
Aggiungere un'azione Schermata al flusso schermata e quindi trascinare il componente Messaggio ottimizzato sullo schermo.

-
Per specificare i dati di input, impostare queste proprietà del componente Messaggio ottimizzato come indicato.
Proprietà Valore ID sessione di messaggistica Selezionare sessionId, la variabile del flusso schermata che contiene l'ID sessione.Nome componente messaggistica Selezionare il nome del componente di messaggistica modulo basato su Apex creato. Dati modulo Apex Selezionare initialData, la variabile del flusso schermata che contiene i dati di input.ID schermata di immissione modulo Apex Selezionare initialScreenId, la variabile del flusso schermata che contiene l'ID schermata iniziale.In fase di esecuzione, l'azione schermata richiama il componente di messaggistica modulo basato su Apex e gli passa questi dati di input.
-
Salvare e attivare il flusso schermata.

-
Definire le variabili del flusso schermata.
-
Per consentire a un agente dell'assistenza di eseguire il flusso schermata, incorporare il flusso schermata attivo nella pagina Service Console.
Ad esempio, aggiungere il componente Flusso alla pagina del record Sessione di Messaggistica.

Durante una sessione di messaggistica, per avviare il flusso schermata dalla pagina, l'agente dell'assistenza può fare clic su Avanti.
Per inserire il componente di messaggistica del flusso nella conversazione con il cliente, l'agente dell'assistenza può fare clic su Inserisci messaggio.

L'agente dell'assistenza può quindi inviare il messaggio al cliente.



