Du er her:
Bruke en skjermflyt til å overføre inndata til en dynamisk WhatsApp-flyt
Skjermflyten kan samle inn kundedata og sikkert overføre dem til variabler. Disse variablene kan da fungere som inndata for den dynamiske WhatsApp-flyten som opprettes med en Apex skjemameldingskomponent. Hvis du vil legge til tilpasset innhold i meldingen, legger du til dynamiske referanser til disse inndataene i den Apex skjemameldingskomponenten. Hvis du for eksempel vil planlegge en veterinæravtale, samler skjermflyten inn bestemte detaljer, som typen dyr og problemet, og overfører dynamisk denne informasjonen til den Apex meldingskomponenten for skjemaer.
Nødvendige utgaver
| Se støttede versjoner. | |
Denne artikkelen gjelder for:
|
Forbedrede WhatsApp-kanaler, Forent WhatsApp |
Denne artikkelen gjelder ikke for:
|
Forbedret chat i app, Forbedret nettchat, Standard og forbedret Facebook Messenger, Standard og forbedret SMS, Forbedrede Apple-meldinger for firmaer, Forbedret linje og Ta med din egen kanal |
| Nødvendige brukertillatelser | |
|---|---|
| Hvis du vil oprette meddelelseskomponenter: | Tilpasse program OG Vise oppsett og konfigurasjon ELLER Systemadministrator |
| For å sende og motta meldinger med Meldinger: | Meldingsformidlingsagent |
Når du oppretter en Apex meldingskomponent for skjemaer, er disse standardinndataparameterne som standard tilgjengelig.
| Parameter | Beskrivelse |
|---|---|
FormData |
Lagrer inndata som er overført til flyten. Dataene lagres som en JSON-streng med nøkkel-verdi-par. For å referere til disse dataene må du definere strukturen til dataene i en datamodell. Strukturen til datamodellen må samsvare med strukturen til JSON-koden. Du kan få tilgang til disse dataene med Apex eller en skjermflyt. |
FormEntryScreenId |
Lagrer ID-en til inngangsskjermen, som er den første skjermen som meldingssluttbrukeren ser. |
Du finner disse standardparameterne på Parametere-fanen i Komponentdetaljer-delen.
La oss se på et eksempel for å hjelpe deg med å forstå hvordan du bruker disse parameterne og en skjermflyt til å overføre inndata.
-
Åpne Flyt-formatet for den Apex skjemameldingskomponenten.
-
I Flyt-formatet klikker du på Behandle data for å definere en datamodell for alle inndata som sendes inn fra FormData-parameteren.
FormData-parameteren lagrer for eksempel disse inndataene.
{“FirstName”:“Albert”,“LastName”:“Costa”,“isStudent”:“true”} -
Hvis du vil legge til et felt i datamodellen, klikker du på Legg til felt og konfigurerer egenskapene for det.
Utfør dette trinnet for hvert felt i FormData-parameteren. Hvis du vil opprette en struktur, velger du objektdatatypen for et felt og legger til nestede felt.

- Når du er ferdig med å definere datamodellen, lagrer du den.
-
I Flyt-formatet klikker du på Behandle data for å definere en datamodell for alle inndata som sendes inn fra FormData-parameteren.
-
Hvis du vil bruke verdien fra et datamodellfelt i en Flyt-egenskap, legger du til en dynamisk referanse.
-
Åpne Flyt-formatet og finn egenskapen som du vil bruke en dynamisk referanse for.
Du kan for eksempel legge til en dynamisk referanse for Tekstinnhold-feltet for et Body-skjermelement.
- Velg Dynamisk referanse i Type-feltet.
-
Velg datamodellfeltet i Velg referansefeltet.

Dynamiske referanser kan trekke ut data fra datamodellfelt eller inndatafelt som er definert på en skjerm.
-
Forhåndsvis den dynamiske referansen på lerretet.

-
Åpne Flyt-formatet og finn egenskapen som du vil bruke en dynamisk referanse for.
-
Opprett en skjermflyt for å overføre data til meldingskomponenten.
Skjermflyten kan samle inn data fra meldingsøkten og bruke den i den Apex meldingskomponenten Skjema. La oss lage et eksempel på en skjermflyt for å illustrere hvordan dette fungerer.
-
Definer skjermflytvariablene.
Variabel Verdi sessionIdLagrer post-IDen for meldingsøkten. initialDataLagrer inndataene for det Apex skjemaet. Feltene i denne JSON-strengen må samsvare med feltnavnene du la til i datamodellen. initialScreenIdLagrer den første skjerm-ID-en for det Apex skjemaet. Dette er den første skjermen som en meldingssluttbruker ser. meuNameLagrer navnet på meldingssluttbrukeren. itemsDenne samlingsvariabelen lagrer en liste over elementer. -
Legg til disse handlingene i denne rekkefølgen i skjermflyten. For å hente data fra et Salesforce-objekt legger du til en Hent poster-handling. Legg til en Tildeling-handling for å tildele verdier til skjermvariablene.
Handling Beskrivelse handlingen getSession Get Records (Hent poster for getSession) Hent meldingsøkten basert på økt-ID-en. Du kan hente relevante data fra denne meldingsøkten. I dette tilfellet henter og lagrer den Id- og MessagingEndUserId-feltverdiene. handlingen getMEU Get Records (Hent poster) Hent Meldingsbruker-posten basert på MessagingEndUserId. handlingen setMEUName Assignment (Tildeling av navn) Angi meuName-variabelen til verdien i Navn på meldingsbruker-feltet i Meldingsbruker-posten.handlingen getDynamicFlowItem Hent poster Hent alle DynamicFlowItem-poster fra DynamicFlowItem-objektet og lagre feltene ID, ItemId__c og itemTitle__c i samlingsvariabelen items.GenererJson Apex Konverterer inndataene fra items- ogmeuName-variablene til JSON-formatet. Feltene i JSON-objektet tilordnes til feltene i flytens datamodell. Denne handlingen er basert på en Apex. Se eksempel på Apex etter denne tabellen.handlingen setData Tildeling Angi InitialData-variabelen til verdien i den genererte JSON-handlingen.Denne Apex transformerer strukturerte inndata – en brukers navn og en liste over Salesforce-poster – til en enkelt JSON-streng. Denne JSON-strengen brukes deretter til å overføre inndata til den Apex skjemameldingskomponenten.
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; } } -
Legg til en Skjerm-handling i skjermflyten, og dra deretter Forbedret melding-komponenten til skjermen.

-
For å angi inndataene angir du disse egenskapene for Forbedret melding-komponenten som vist.
Egenskap Verdi Meldingsøkt-ID Velg sessionId, skjermflytvariabelen som inneholder økt-ID-en.Navn på meddelelseskomponent Velg navnet på den Apex skjemameldingskomponenten som du opprettet. Apex Velg initialData, skjermflytvariabelen som inneholder inndataene.Skjerm-ID for Apex Velg initialScreenId, skjermflytvariabelen som inneholder den første skjerm-ID-en.Ved kjøretid kaller skjermhandlingen opp den Apex skjemameldingskomponenten og overfører disse inndataene til seg.
-
Lagre og aktiver skjermflyten.

-
Definer skjermflytvariablene.
-
Hvis du vil aktivere en servicerepresentant til å kjøre skjermflyten, bygger du inn den aktive skjermflyten på servicekonsollsiden.
Legg for eksempel til Flyt-komponenten på postsiden Meldingsøkt.

Under en meldingsøkt kan servicerepresentanten klikke på Neste for å starte skjermflyten fra siden.
For å sette inn flytens meldingskomponent i samtalen med kunden, kan servicerepresentanten klikke på Sett inn melding.

Servicerepresentanten kan da sende meldingen til kunden.



