Elemento de aprimoramento do Strategy Builder
Obtenha previsões conduzidas por IA de serviços, como o Einstein Discovery e o Criador de previsões do Einstein, para aprimorar recomendações do Next Best Action com informações adicionais, como pontuações de propensão. O elemento Aprimorar permite que você modifique um conjunto de recomendações rapidamente sempre que uma estratégia for executada. Essas recomendações podem ser estáticas e ativas como registros no Salesforce ou dinâmicas e adquiridas de fontes de dados externas ou outros objetos do Salesforce.
Edições obrigatórias
| Exibir edições com suporte para Next Best Action. |
| Campo | Descrição |
|---|---|
| Rótulo | O nome do elemento como aparece na tela. |
| Nome da API | O nome da API do elemento. O nome de API deve ser exclusivo. |
| Descrição | Descrição opcional do elemento e como ele funciona na estratégia. |
| Ação do Apex | Pesquise ou selecione uma ação do Apex, que chame uma classe do Apex. Uma classe do Apex deve ter um método marcado como invocável para aparecer como uma ação do Apex em ferramentas declarativas, como o Strategy Builder. |
| Argumento | Especifique um ou mais parâmetros para a ação do Apex selecionada. |

A estratégia usada com um elemento Aprimorar pode ser tão simples quanto Carregar -> Aprimorar -> Saída. Todas as recomendações que o elemento Carregar recupera ou carrega são enviadas como uma lista de recomendações ao método invocável subjacente.

Ao configurar o elemento Aprimorar, selecione Aprimorar com descontos baseados em duração como a ação do Apex e especifique $Record.id como o parâmetro de entrada.

O elemento Aprimorar, por sua vez, chama o método invocável getDiscounts na classe Enhance_GetAccountDiscount. Observe como a descrição de cada recomendação tem um valor de desconto acrescentado a ela (r.Description + ‘ with a 5%
discount’).
global class Enhance_GetAccountDiscount {
@InvocableMethod(label='Enhance with Discounts Based on Age' description='Returns an enhanced set of recommendations with appropriate discounts')
global static List<List<Recommendation>> getDiscounts(List<DataContainer> inputData){
List<Recommendation> recommendations = inputData[0].recommendations;
List<List<Recommendation>> outputs = new List<List<Recommendation>>();
Account[] accounts = [SELECT Name, Description,CreatedDate, id FROM Account WHERE id = :inputData[0].accountId];
Double ageAccountMonths = accounts[0].CreatedDate.date().monthsBetween(date.today());
Double ageAccount = ageAccountMonths/12;
List<Recommendation> returnedRecommendations = new List<Recommendation>();
for (Recommendation r:recommendations){
if(ageAccount > 1){
r.Description = r.Description + ' with a 5% discount';
}
else if (ageAccount > 2){
r.Description = r.Description + ' with a 10% discount';
}
else if (ageAccount > 5){
r.Description = r.Description + ' with a 20% discount';
}
returnedRecommendations.add(r);
}
outputs.add(returnedRecommendations);
return outputs;
}
}
Uso
O elemento Aprimorar requer uma ação do Apex marcada como um método invocável.
@InvocableMethod(
label='Enhance with Discounts Based on Age'
description='Returns an enhanced set of recommendations with appropriate discounts')
Use o elemento Aprimorar junto com o elemento Gerar ou Carregar o Strategy Builder.
O elemento Aprimorar pode passar qualquer número de entradas para a ação do Apex. O parâmetro de entrada deve ser uma lista ou uma lista de listas de um objeto do Apex definido pelo usuário (por exemplo, uma classe personalizada chamada DataContainer). O objeto do Apex definido pelo usuário deve incluir uma variável List<Recommendation>. A variável List<Recommendation> é definida automaticamente com as recomendações que são passadas para o elemento Aprimorar.
global class DataContainer {
@InvocableVariable
public string accountId;
@InvocableVariable
public List<Recommendation> recommendations;
}
________
global static List<List<Recommendation>> invocableMethod(List<DataContainer> inputData)
O elemento Aprimorar retorna uma lista de recomendações, List<List<Recommendation>>. Esses aprimoramentos de recomendação existem apenas na memória e não persistem após a execução da estratégia.
global static List<List<Recommendation>> invocableMethod(List<DataContainer> inputData)
