Commandes de tâche d'élément de campagne
Chaque déclencheur, cible et action comporte une commande de tâche associée dénommée commande de tâche d'élément de campagne. Cette commande de tâche effectue les travaux associés à l'élément de campagne. La définition du modèle d'élément de campagne doit spécifier la commande de tâche à utiliser.
| Fonction de la commande de tâche | Méthode appelée dans la commande de tâche | S'applique aux déclencheurs ? | S'applique aux cibles ? | S'applique aux actions ? |
|---|---|---|---|---|
| Validation des paramètres de l'élément de campagne lors de l'activation de l'activité marketing | validateParameters | Oui, le cas échéant. | Oui, le cas échéant. | Oui, le cas échéant. |
Réalisation du travail prescrit lorsqu'un client parvient à l'élément de campagne dans une activité marketing![]() |
performExecute | Non | Oui, obligatoire. | Oui, obligatoire. |
| Transmettez les en vue de leur traitement une fois par jour lorsque le type de déclencheur est un contrôle quotidien. Les exemples incluent le déclencheur Le client appartient au segment et le déclencheur Le client abandonne son panier. |
forwardTriggersForProcessing | Oui, le cas échéant. | Non | Non |
Format de commande de tâche
Une commande de tâche d'un élément de campagne doit être une classe qui implémente l'interface MarketingCampaignElementTaskCmd.
Pour comprendre le format d'une commande de tâche, examinez l'exemple de code ci-après. Cet exemple est destiné à un exemple de cible personnalisée. L'objet de la cible est de déterminer le niveau de support auquel a souscrit le client, comme le niveau or, argent ou bronze.
public interface CustomLevelOfSupportTargetTaskCmd extends MarketingCampaignElementTaskCmd {
public final static String defaultCommandClassName =
CustomLevelOfSupportTargetTaskCmdImpl.class.getName();
}
public class CustomLevelOfSupportTargetTaskCmdImpl
extends MarketingCampaignElementTaskCmdImpl
implements CustomLevelOfSupportTargetTaskCmd {
private final static String PARAM_SUPPORT_LEVEL = "supportLevel";
private final static String SUPPORT_TYPE_IS_MISSING = "_ERR_SUPPORT_TYPE_IS_MISSING";
private static final Logger LOGGER = LoggingHelper.getLogger(CustomLevelOfSupportTargetTaskCmdImpl.class);
private final static String CLASSNAME = CustomLevelOfSupportTargetTaskCmdImpl.class.getName();
public CustomLevelOfSupportTargetTaskCmdImpl() {}
1 public void performExecute() {
final String METHOD_NAME = "performExecute";
if (LoggingHelper.isEntryExitTraceEnabled(LOGGER)) {
LOGGER.entering(CLASSNAME, METHOD_NAME);
}
boolean rc = false;
1a // get the parameters set in the DMELEMENTNVP table
Hashtable parameters = getElementParameters();
// example of getting one of the parameters
String desiredSupportLevel = (String)parameters.get(PARAM_SUPPORT_LEVEL);
1b // determine if the customer meets the criteria of the target
String actualSupportLevel = getSupportLevel(getRegisteredMemberIdForPersonalizationId());
if (desiredSupportLevel.equals(actualSupportLevel)) {
rc = true;
}
1c // for a target, return true or false as is appropriate
setReturnValue(rc);
if (LoggingHelper.isEntryExitTraceEnabled(LOGGER)) {
LOGGER.exiting(CLASSNAME, METHOD_NAME, result);
}
}
public String getSupportLevel(Long memberId) {
// go to the custom database table
// and return the support level for the customer
// TODO…
}
2 public List validateParameters(Map elementParameters) {
final String METHOD_NAME = "validateParameters";
if (LoggingHelper.isEntryExitTraceEnabled(LOGGER)) {
LOGGER.entering(CLASSNAME, METHOD_NAME, elementParameters);
}
List validationErrors = new ArrayList();
Object supportLevel = elementParameters.get(PARAM_SUPPORT_LEVEL);
if (supportLevel == null || supportLevel.toString().length() == 0) {
ApplicationError validateError = new ApplicationError(
ApplicationError.TYPE_GENERIC_ERROR,
SUPPORT_TYPE_IS_MISSING,
null, LOGGER.getResourceBundleName());
validationErrors.add(validateError);
}
if (LoggingHelper.isEntryExitTraceEnabled(LOGGER)) {
LOGGER.exiting(CLASSNAME, METHOD_NAME, validationErrors);
}
return validationErrors;
}
}
- 1 Ce fragment définit la méthode
performExecute, laquelle procède à une évaluation de la cible et renvoie true ou false :- 1a Ce fragment appelle la méthode
getElementParameterspour extraire les paramètres utilisés par la commande de tâche pour effectuer l'évaluation. Les paramètres sont définis en tant qu'arguments dans la commande de tâche de l'élément de campagne. - 1b Ce code évalue si la cible doit renvoyer la valeur true ou false. Par exemple, si la cible vise les clients avec un niveau de support Or, elle doit renvoyer la valeur true lorsque le client évalué est habilité à ce niveau de support.
- 1c Ce fragment indique aux services marketing si la cible a renvoyé true ou false.
- 1a Ce fragment appelle la méthode
- 2 Ce fragment définit la méthode validateParameters pour validation des paramètres de la cible et renvoie les erreurs éventuelles.
Méthodes utilisées dans la commande de tâche de l'élément de campagne
| Elément de campagne | Méthodes standard utilisées |
|---|---|
| Déclencheur |
|
| Cible |
|
| Action |
|
