breadcrumbDescription
Brug et skærmforløb til at overføre inputdata til et dynamisk WhatsApp-forløb
Skærmforløbet kan indsamle kundedata og overføre dem sikkert til variabler. Disse variabler kan derefter fungere som input for det dynamiske WhatsApp-forløb, der oprettes med en Apex formularmeddelelseskomponent. Hvis du vil føje personligt indhold til meddelelsen, skal du i den Apex formularmeddelelseskomponent føje dynamiske referencer til disse inputdata. Hvis du f.eks. vil planlægge en veterinær aftale, indsamler skærmforløbet specifikke detaljer, f.eks. typen af dyr og problemet og overfører disse oplysninger dynamisk til den Apex formularmeddelelseskomponent.
EditionsHeading
| Vis understøttede versioner. | |
Denne artikel gælder for:
|
Forbedrede WhatsApp-kanaler, Forenet WhatsApp |
Denne artikel gælder ikke for:
|
Forbedret chat i app, Forbedret webchat, Standard og Forbedret Facebook Messenger, Standard og Forbedret sms, Forbedrede Apple-meddelelser for forretning, Forbedret linje og Bring Your Own Channel |
| Brugertilladelser påkrævet | |
|---|---|
| Hvis du vil oprette meddelelseskomponenter: | Tilpas applikation OG Vis opsætning og konfiguration ELLER Systemadministrator |
| For at sende og modtage meddelelse i Meddelelser: | Meddelelsesagent |
Når du opretter en Apex formularmeddelelseskomponent, er disse standardinputparametre som standard tilgængelige.
| Parameter | Beskrivelse |
|---|---|
FormData |
Indeholder inputdata, der er overført til forløbet. Dataene lagres som en JSON-streng af nøgle-værdi-par. Hvis du vil henvise til disse data, skal du definere strukturen af dataene i en datamodel. Strukturen af datamodellen skal matche strukturen af JSON. Du kan få adgang til disse data ved brug af Apex eller et skærmforløb. |
FormEntryScreenId |
Gemmer id'et for indtastningsskærmen, som er den første skærm, som meddelelsesslutbrugeren ser. |
Du kan finde disse standardparametre på fanen Parametre i afsnittet Komponentdetaljer.
Lad os se på et eksempel for at hjælpe dig med at forstå, hvordan du bruger disse parametre og et skærmforløb til at overføre inputdata.
-
Åbn forløbsformatet for den Apex formularmeddelelseskomponent.
-
I forløbsformatet skal du klikke på Administrer data for at definere en datamodel for alle inputdata, der overføres fra FormData-parameteren.
FormData-parameteren lagrer f.eks. disse inputdata.
{“FirstName”:“Albert”,“LastName”:“Costa”,“isStudent”:“true”} -
Hvis du vil føje et felt til datamodellen, skal du klikke på Tilføj felt og konfigurere dets egenskaber.
Udfør dette trin for hvert felt i FormData-parameteren. Hvis du vil oprette en struktur, skal du vælge datatypen Objekt for et felt og tilføje indlejrede felter.

- Når du er færdig med at definere datamodellen, skal du gemme den.
-
I forløbsformatet skal du klikke på Administrer data for at definere en datamodel for alle inputdata, der overføres fra FormData-parameteren.
-
Hvis du vil bruge værdien fra et datamodelfelt i en forløbsegenskab, skal du tilføje en dynamisk reference.
-
Åbn forløbsformatet, og find den egenskab, som du vil bruge en dynamisk reference til.
Du kan f.eks. tilføje en dynamisk reference til feltet Tekstindhold for et body-skærmelement.
- I feltet Type skal du vælge Dynamisk reference.
-
I feltet Vælg referencefelt skal du vælge datamodelfeltet.

Dynamiske referencer kan hente data fra datamodelfelter eller inputfelter, der er defineret på en skærm.
-
På lærredet kan du se et eksempel på den dynamiske reference.

-
Åbn forløbsformatet, og find den egenskab, som du vil bruge en dynamisk reference til.
-
Hvis du vil overføre data til meddelelseskomponenten, skal du oprette et skærmforløb.
Skærmforløbet kan indsamle data fra meddelelsessessionen og bruge dem i den Apex formularmeddelelseskomponent. Lad os illustrere, hvordan dette fungerer, ved at oprette et eksempel på skærmforløb.
-
Definer skærmforløbsvariablerne.
Variabel Værdi sessionIdGemmer id'et for meddelelsessessionsregistreringen. initialDataGemmer inputdataene for den Apex formular. Felterne i denne JSON-streng skal matche de feltnavne, som du har føjet til datamodellen. initialScreenIdGemmer det indledende skærm-id for den Apex formular. Dette er den første skærm, som en meddelelsesslutbruger ser. meuNameIndeholder navnet på meddelelsesslutbrugeren. itemsDenne samlingsvariabel lagrer en liste over elementer. -
Tilføj disse handlinger i denne rækkefølge i skærmforløbet. Hvis du vil hente data fra et Salesforce-objekt, skal du tilføje en Hent registreringer-handling. Hvis du vil tildele værdier til skærmvariablerne, skal du tilføje en Tildeling-handling.
Handling Beskrivelse getSession Hent registreringer-handling Hent meddelelsessessionen baseret på sessions-id'et. Du kan hente relevante data fra denne meddelelsessession. I denne situation henter og lagrer det Id- og MessagingEndUserId-feltværdierne. getMEU Hent registreringer-handling Hent meddelelsesbrugerregistreringen baseret på MessagingEndUserId. setMEUName-tildelingshandling Indstil meuName-variablen til værdien i feltet Navn på meddelelsesbruger fra meddelelsesbrugerregistreringen.getDynamicFlowItem Get Records action Hent alle DynamicFlowItem-registreringer fra objektet DynamicFlowItem, der lagrer felterne id, ItemId__c og itemTitle__c i items-samlingsvariablen.GenerateJson Apex Konverterer inputdata fra itemsogmeuNametil JSON-format. Felterne i JSON-objektet knyttes til felterne i forløbets datamodel. Denne handling er baseret på en Apex. Se eksempel på Apex efter denne tabel.setData-tildelingshandling Indstil InitialData-variablen til værdien af den genererede JSON-handling.Denne Apex transformerer strukturerede inputdata – en brugers navn og en liste over Salesforce-registreringer – til en enkelt JSON-streng. Denne JSON-streng bruges derefter til at overføre inputdata til den Apex formularmeddelelseskomponent.
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; } } -
Føj en skærmhandling til skærmforløbet, og træk derefter komponenten Forbedret meddelelse hen på skærmen.

-
Hvis du vil angive inputdataene, skal du indstille disse Forbedret meddelelse-komponentegenskaber som vist.
Egenskab Værdi Id for meddelelsessession Vælg sessionId, den skærmforløbsvariabel, der indeholder sessions-id'et.Navn på meddelelseskomponent Vælg navnet på den Apex formularmeddelelseskomponent, som du oprettede. Apex Vælg initialData, den skærmforløbsvariabel, der indeholder inputdataene.Skærm-id for Apex Vælg initialScreenId, den skærmforløbsvariabel, der indeholder det indledende skærm-id.På kørselstidspunktet kalder skærmhandlingen den Apex formularmeddelelseskomponent og overfører disse inputdata til den.
-
Gem og aktiver skærmforløbet.

-
Definer skærmforløbsvariablerne.
-
Hvis du vil gøre det muligt for en servicemedarbejder at køre skærmforløbet, skal du integrere det aktive skærmforløb på servicekonsolsiden.
Føj f.eks. komponenten Forløb til registreringssiden Meddelelsessession.

Under en meddelelsessession kan servicemedarbejderen klikke på Næste for at starte skærmforløbet fra siden.
Hvis du vil indsætte forløbets meddelelseskomponent i samtalen med kunden, kan servicemedarbejderen klikke på Indsæt meddelelse.

Servicemedarbejderen kan derefter sende meddelelsen til kunden.



