Een schermstroom gebruiken om invoergegevens door te geven aan een dynamische WhatsApp-stroom
De schermstroom kan klantgegevens verzamelen en deze veilig doorgeven aan variabelen. Deze variabelen kunnen vervolgens dienen als invoer voor de dynamische WhatsApp-stroom die is gemaakt met een op Apex gebaseerde component voor berichtenverkeer. Als u gepersonaliseerde inhoud aan het bericht wilt toevoegen, voegt u in de op Apex gebaseerde component voor berichtenverkeer dynamische verwijzingen naar deze invoergegevens toe. Om bijvoorbeeld een afspraak met een dierenarts te plannen, verzamelt de schermstroom specifieke details, zoals het type dier en het probleem, en geeft deze informatie dynamisch door aan de op Apex gebaseerde component voor berichtenverkeer.
Vereiste editions
| Ondersteunde editions weergeven. | |
Dit artikel is van toepassing op:
|
Uitgebreide WhatsApp-kanalen, Gecombineerde WhatsApp |
Dit artikel is niet van toepassing op:
|
Uitgebreide in-app chat, Uitgebreide webchat, Standaard en uitgebreide Facebook Messenger, Standaard en uitgebreide sms, Uitgebreide Apple-berichten voor bedrijven, Uitgebreide lijn en Uw eigen kanaal inbrengen |
| Benodigde gebruikersmachtigingen | |
|---|---|
| Om berichtenverkeerscomponenten te maken: | Toepassing aanpassen EN Set-up en configuratie weergeven OR Systeembeheerder |
| Als u berichten wilt verzenden en ontvangen in Berichtenverkeer: | Berichtenverkeer-agent |
Wanneer u een op Apex gebaseerde component voor berichtenverkeer voor formulieren maakt, zijn deze standaard invoerparameters standaard beschikbaar.
| Parameter | Beschrijving |
|---|---|
FormData |
Slaat invoergegevens op die aan de stroom zijn doorgegeven. De gegevens worden opgeslagen als een JSON-tekenreeks van sleutel-waardeparen. Voor verwijzing naar deze gegevens moet u de structuur van de gegevens in een gegevensmodel definiëren. De structuur van het gegevensmodel moet overeenkomen met de structuur van de JSON. U hebt toegang tot deze gegevens met behulp van Apex of een schermstroom. |
FormEntryScreenId |
Slaat de ID op van het invoerscherm, het eerste scherm dat de eindgebruiker van berichtenverkeer ziet. |
U vindt deze standaardparameters op het tabblad Parameters van de sectie Componentdetails.
Laten we eens naar een voorbeeld kijken om u te helpen begrijpen hoe u deze parameters en een schermstroom gebruikt om invoergegevens door te geven.
-
Open de stroomindeling van de op Apex gebaseerde component voor berichtenverkeer voor formulieren.
-
Klik in de stroomindeling op Gegevens beheren om een gegevensmodel te definiëren voor alle invoergegevens die worden doorgegeven vanuit de parameter FormData.
Zo slaat de parameter FormData deze invoergegevens op.
{“FirstName”:“Albert”,“LastName”:“Costa”,“isStudent”:“true”} -
Klik voor het toevoegen van een veld aan het gegevensmodel op Veld toevoegen en configureer de eigenschappen ervan.
Voer deze stap uit voor elk veld in de parameter FormData. Als u een structuur wilt maken, selecteert u het gegevenstype Object voor een veld en voegt u geneste velden toe.

- Nadat u klaar bent met het definiëren van het gegevensmodel, slaat u het op.
-
Klik in de stroomindeling op Gegevens beheren om een gegevensmodel te definiëren voor alle invoergegevens die worden doorgegeven vanuit de parameter FormData.
-
Voeg voor het gebruik van de waarde uit een gegevensmodelveld in een eigenschap Flow een dynamische verwijzing toe.
-
Open de stroomindeling en zoek de eigenschap waarvoor u een dynamische verwijzing wilt gebruiken.
Zo kunt u een dynamische verwijzing toevoegen voor het veld Tekstinhoud voor een schermelement Hoofdtekst.
- Selecteer Dynamische verwijzing in het veld Type.
-
Selecteer in Het verwijzingsveld selecteren het gegevensmodelveld.

Dynamische verwijzingen kunnen gegevens ophalen uit gegevensmodelvelden of invoervelden die in een scherm zijn gedefinieerd.
-
Bekijk op het doek een voorbeeld van de dynamische verwijzing.

-
Open de stroomindeling en zoek de eigenschap waarvoor u een dynamische verwijzing wilt gebruiken.
-
Maak voor het doorgeven van gegevens aan de berichtenverkeerscomponent een schermstroom.
De schermstroom kan gegevens verzamelen uit de berichtenverkeerssessie en deze gebruiken in de op Apex gebaseerde berichtenverkeerscomponent Formulier. Laten we een voorbeeld van een schermstroom maken om te illustreren hoe dit werkt.
-
Definieer de schermstroomvariabelen.
Variabele Waarde sessionIdSlaat de record-ID van de berichtenverkeerssessie op. initialDataSlaat de invoergegevens op voor het op Apex gebaseerde formulier. De velden in deze JSON-tekenreeks moeten overeenkomen met de veldnamen die u aan het gegevensmodel hebt toegevoegd. initialScreenIdSlaat de initiële scherm-ID op voor het op Apex gebaseerde formulier. Dit is het eerste scherm dat een eindgebruiker van berichtenverkeer ziet. meuNameSlaat de naam van de eindgebruiker van berichtenverkeer op. itemsDeze verzamelingsvariabele slaat een lijst van items op. -
Voeg in de schermstroom deze acties in deze volgorde toe. Voeg voor het ophalen van gegevens uit een Salesforce-object een actie Records ophalen toe. Voeg voor het toewijzen van waarden aan de schermvariabelen een actie Toewijzing toe.
Actie Beschrijving actie getSession Records ophalen Haal de berichtenverkeerssessie op basis van de sessie-ID op. U kunt relevante gegevens ophalen uit die berichtenverkeerssessie. In dit geval worden de veldwaarden Id en MessagingEndUserId opgehaald en opgeslagen. actie getMEU Records ophalen Haal de record Gebruiker van berichtenverkeer op basis van MessagingEndUserId op. actie setMEUName-toewijzing Stel de variabele meuNamein op de waarde van het veld Gebruikersnaam van berichtenverkeer uit de record Gebruiker van berichtenverkeer.actie getDynamicFlowItem Records ophalen Haal alle DynamicFlowItem-records op uit het object DynamicFlowItem, waarbij de velden ID, ItemId__c en itemTitle__c worden opgeslagen in de verzamelingsvariabele items.Apex actie GenerateJson Converteert de invoergegevens van de variabelen itemsenmeuNamenaar de JSON-indeling. De velden van het JSON-object worden toegewezen aan de velden in het gegevensmodel van de stroom. Deze actie is gebaseerd op een Apex klasse. Zie voorbeeld Apex klasse na deze tabel.actie setData Assignment Stel de InitialDatain op de waarde van de gegenereerde JSON-actie.Deze Apex klasse transformeert gestructureerde invoergegevens—een gebruikersnaam en een lijst van Salesforce-records—tot één JSON-tekenreeks. Deze JSON-tekenreeks wordt vervolgens gebruikt om invoergegevens door te geven aan de op Apex gebaseerde component voor berichtenverkeer voor formulieren.
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; } } -
Voeg een schermactie toe aan de schermstroom en sleep vervolgens de component Uitgebreid bericht naar het scherm.

-
Als u de invoergegevens wilt opgeven, stelt u deze eigenschappen van de component Uitgebreid bericht in zoals getoond.
Eigenschap Waarde ID van berichtenverkeersessie Selecteer sessionId, de schermstroomvariabele die de sessie-ID bevat.Naam van component voor Berichtenverkeer Selecteer de naam van de op Apex gebaseerde component voor berichtenverkeer die u hebt gemaakt. Apex formuliergegevens Selecteer initialData, de schermstroomvariabele die de invoergegevens bevat.Scherm-ID van Apex formulierinvoer Selecteer initialScreenId, de schermstroomvariabele die de initiële scherm-ID bevat.Tijdens run-time roept de schermactie de op Apex gebaseerde component voor formulierberichtenverkeer aan en geeft deze invoergegevens eraan door.
-
Sla de schermstroom op en activeer deze.

-
Definieer de schermstroomvariabelen.
-
Als u een servicevertegenwoordiger de schermstroom wilt laten uitvoeren, bedt u de actieve schermstroom in op de serviceconsolepagina.
Voeg bijvoorbeeld de component Stroom toe aan de recordpagina Berichtenverkeerssessie.

Tijdens een berichtenverkeerssessie kan de servicevertegenwoordiger op Volgende klikken om de schermstroom vanaf de pagina te starten.
Als u de berichtenverkeerscomponent van de stroom wilt invoegen in het gesprek met de klant, kan de servicevertegenwoordiger klikken op Bericht invoegen.

De servicevertegenwoordiger kan het bericht vervolgens naar de klant verzenden.



