Visualizzazione di promozioni basate sulla valuta di transazione nelle organizzazioni con più valute (beta)
Completare questa impostazione facoltativa per visualizzare le promozioni in base alla valuta della transazione. Per impostazione predefinita, quando si utilizzano più valute nell'organizzazione, la finestra Sfoglia cataloghi mostra le promozioni in base alla valuta dell'account associato alla transazione.
Versioni (Edition) richieste
| Disponibile nelle versioni: Lightning Experience |
| Disponibile in: Enterprise Edition, Unlimited Edition e Developer Edition di Gestione del reddito (precedentemente Revenue Cloud) con licenza Revenue Cloud Advanced e licenza aggiuntiva di base Gestione globale delle promozioni o licenza Gestione programmi fedeltĆ - Growth or Advanced. |
| Autorizzazioni utente necessarie | |
|---|---|
| Per personalizzare le definizioni contesto: | Amministratore servizio contesto |
| Per personalizzare i flussi: | Gestisci flusso |
Importante
Ć possibile visualizzare promozioni basate sulla valuta della transazione solo se non sono state impostate promozioni basate sul canale.
Configurazione della definizione contesto di Product Discovery
Modificare la definizione per visualizzare le promozioni in base alla valuta della transazione.
-
Modificare la definizione contesto estesa di Product Discovery.
- Da Imposta, trovare e selezionare Definizioni contesto.
- Fare clic su Definizioni personalizzate.
-
Fare clic sulla definizione contesto estesa di Product Discovery.
Se si utilizza la definizione contesto predefinita, estendere la definizione contesto ProductDiscoveryContext.
- Fai clic su Modifica.
- Nella pagina Modifica definizioni contesto, fare clic su Avanti.
-
Nella pagina Modifica struttura, fare clic su
accanto a Promotion__std.
- Per il nome, immettere Transaction__c e fare clic su Avanti.
- Fare clic su Transaction__c.
-
Fare clic su Aggiungi attributi e aggiungere i dettagli della valuta.
- Come nome, immettere ccycode__c.
- Per Tipo, selezionare INPUT OUTPUT
- Per Tipo di dati, selezionare STRINGA.
-
Fare clic su Aggiungi attributi e aggiungere i dettagli dell'account.
- Come nome, immettere accountId__c.
- Per Tipo, selezionare INPUT OUTPUT.
- Per Tipo di dati, selezionare STRINGA.
-
Fare clic su Aggiungi attributi e aggiungere i dettagli dell'ID.
- Come nome, immettere id__c.
- Per Tipo, selezionare INPUT OUTPUT.
- Per Tipo di dati, selezionare STRINGA.
- Fai clic su Avanti.
-
Nella pagina Modifica tag attributo, aggiungere i nomi degli attributi come nomi di tag.
- Accanto a accountId__c, fare clic su Aggiungi tag.
- Per il nome del tag, immettere accountId__c.
- Fai clic su Chiudi.
-
Ripetere questi passaggi per aggiungere tag per ccycode__c e id__c.
Utilizzare il nome dell'attributo come nome del tag.
- Salva le modifiche.
Creazione di una mappatura delle promozioni personalizzata
- Aprire la scheda Dati mappa.
-
Accanto a ProductDiscoveryPromoMapping, fare clic su
e selezionare Clone.
- Immettere un nome e salvare le modifiche.
- Eliminare la mappatura tra il nodo Account e il nodo SalesTransaction.
-
Mappare questi nodi e attributi.
Contesto individuazione prodotto Contesto transazione di vendita Transaction__c SalesTransaction ccycode__c CurrencyIsoCode accountId__c Account - Salva le modifiche.
-
Accanto a ProductDiscoveryMapping, fare clic su
e selezionare Modifica mappatura input.
- Fare clic su Genera mappature nodo.
- Nella finestra Genera mappature nodo, fare clic su Conserva e Genera.
- Salva le modifiche.
- Attivare la definizione contesto.
Creazione di una classe Apex
Creare una classe Apex per un'azione di flusso.
-
Fare clic su
e selezionare Developer Console.
- Selezionare File | Nuovo | Classe Apex .
- Come nome, immettere DiscoverProductFlowAction.
-
Aggiungere questo codice e salvare le modifiche.
public class DiscoverProductFlowAction { // Define input parameters public class FlowInput { @InvocableVariable(required=false) public String objectApiName; @InvocableVariable(required=false) public String recordId; } // Define output parameters public class FlowOutput { @InvocableVariable public runtime_industries_cpq.ContextDataInput[] additionalContextData; } // This method is invoked from a flow @InvocableMethod(label='Process Input' description='Creates the Array of ContextDataInput for additional Context Data') public static List<FlowOutput> generateAdditionalContextData(List<FlowInput> inputs) { String objectApiName; String recordId; String ccyCode; String accountId; Quote quoteObject; Order orderObject; FlowOutput output = new FlowOutput(); // Capture input from the flow for(FlowInput input : inputs ){ objectApiName = input.objectApiName; recordId = input.recordId; } //Write logic to Query Currency from Transaction Entity if(objectApiName == 'Quote') { quoteObject = [SELECT CurrencyIsoCode,AccountId FROM Quote WHERE Id = :recordId LIMIT 1][0]; ccyCode = quoteObject.CurrencyIsoCode; accountId = quoteObject.AccountId; } else if(objectApiName == 'Order') { orderObject = [SELECT CurrencyIsoCode,AccountId FROM Order WHERE Id = :recordId LIMIT 1]; ccyCode = orderObject.CurrencyIsoCode; accountId = orderObject.AccountId; } //Populate the ContextDataInput list to store additional context data List<runtime_industries_cpq.ContextDataInput> listContextData = new List<runtime_industries_cpq.ContextDataInput>(); runtime_industries_cpq.ContextDataInput cd1 = new runtime_industries_cpq.ContextDataInput(); cd1.nodeName = 'Transaction'; //Where Quote is the name of the node in the context definition. cd1.nodeData = new Map<String,Object>(); cd1.nodeData.put('id',recordId); cd1.nodeData.put('ccycode',ccyCode); cd1.nodeData.put('accountId',accountId); listContextData.add(cd1); // Return the additional Context Data to a flow output.additionalContextData = listContextData; return new List<FlowOutput>{output}; } }
Personalizzazione del flusso di individuazione dei prodotti
- In Imposta, trovare e selezionare Flussi.
-
Aprire il flusso Discovery prodotto.
Se si utilizza il flusso predefinito, aprire Scopri prodotti.
-
Prima dell'elemento schermata Elenco prodotti, fare clic su
e selezionare Azione.
- Immettere un'etichetta e un nome API.
- Trovare e selezionare DiscoverProductFlowAction.
- Attivare objectAPIName e immettere objectAPIName come valore.
- Attivare recordId e immettere recordId come valore.
- Salva le modifiche.
- Fare clic su Elenco prodotti.
- Fare clic su Contenitore pagina elenco prodotti.
- Per l'attributo Array di input dati contesto, selezionare l'output dell'azione.
- Salvare le modifiche.
- Attivare il flusso.
Questo articolo ha risolto il problema?
Facci sapere, cosƬ possiamo migliorare!

