Você está aqui:
Criar uma classe do Apex para processar a entrada de informações de personalização personalizada
Para cada componente da Interação de personalização registrado, você deve fornecer uma classe do Apex, que implementa a interface BulkSendPlugin do Distributed Marketing (mcdm_15).
A classe do Apex criada deve ser global e implementar este método getBulkSendPluginData:
global static Map<String, Map<String, String>>
getBulkSendPluginData(List<mcdm_15.JourneyApproval> approvals
Map<String, String> pluginData)Esse método aceita uma lista de objetos JourneyApproval e um mapa dos dados do plugin de entrada. Você então decide como processar os dados. Veja alguns exemplos.
- Você pode ter vários componentes de plugin de CPI registrados, cada um usando uma classe do Apex diferente para processamento.
- Os plugins de CPI são processados na ordem em que estão registrados.
- Cada plugin sucessivo tem acesso ao valor processado do plugin anterior. Embora seja possível criar com os dados de plugin personalizados processados, é possível fazer isso com cada plugin na cadeia.
- O mesmo método getBulkSendPluginData é chamado quando os processos de trabalho Envio em massa ou Envio automático aparecem e quando a visualização de personalização aparece durante o fluxo de trabalho Envio em massa. Atualmente, não há visualização para o plugin personalizado em massa durante um fluxo de trabalho de Envio automático.
- Não execute DML neste método. Se você fizer isso, quebrará o fluxo de trabalho de Envio em massa.
- Limites do controlador se aplicam. Os envios em massa são colocados em lote com até 500 membros por lote. Você pode executar chamadas SOQL nesse método, mas elas devem ser massificadas nestes exemplos.
- Para evitar exceções de limite do controlador, use a classe Limites do Apex. Limits.getQueries() e Limits.getLimitQueries() ajudam a determinar se alguns limites estão próximos. Fornecemos uma exceção personalizada chamada mcdm_15.BulkSendCustomPluginException que pode ser usada por meio desse método. Mensagens de erro para essa exceção são exibidas na visualização de personalização ou nos detalhes do trabalho de Envio em massa ou do trabalho de Envio automático após o processamento.
- Se um limite do controlador for gerado durante o processamento, o trabalho falhará. Nós temos um Finalizador de transação que é executado no fim de um trabalho de Envio automático ou Envio em massa. Se um erro for encontrado, a mensagem de erro aparecerá nos detalhes do trabalho. O status de todos os membros da campanha relevantes é redefinido para permitir o reenvio e você receberá uma notificação em sua organização.

