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.

Les commandes de tâche remplissent plusieurs fonctions comme décrit dans le tableau suivant :
Fonctions des commandes de tâche pour les éléments de campagne
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.

L'exemple de code suivant reprend la classe d'interface de commande de tâche qui étend l'interface MarketingCampaignElementTaskCmd :

public interface CustomLevelOfSupportTargetTaskCmd extends MarketingCampaignElementTaskCmd {
  public final static String defaultCommandClassName =
  CustomLevelOfSupportTargetTaskCmdImpl.class.getName();
}
L'exemple de code suivant illustre une implémentation de commande de tâche qui étend la classe MarketingCampaignElementTaskCmdImpl. Les fragments accompagnés d'un chiffre sur leur gauche sont expliqués plus en détail à la suite de l'exemple :

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 getElementParameters pour 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.
  • 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

Ce tableau fournit des détails supplémentaires sur les méthodes standard utilisées dans les commandes de tâches de l'élément de campagne pour les déclencheurs, les cibles et les actions. Pour une liste complète et une description des méthodes disponibles pour les commandes de tâche, voir MarketingCampaignElementTaskCmdImpl.
Elément de campagne Méthodes standard utilisées
Déclencheur
  • forwardTriggersForProcessing : Requis uniquement pour les déclencheurs de vérification quotidienne : cette méthode recherche tous les clients associés au déclencheur, puis transmet ce dernier afin qu'il soit traité pour chaque client. Par défaut, cette opération est effectuée tous les jours à 2h00 du matin. Chaque client participe alors à l'activité de dialogue associée de ce jour.
  • validateParameters : cette méthode vérifie que l'utilisateur professionnel a bien défini toutes les paires nom-valeur requises pour l'élément de campagne dans l'interface utilisateur et peut éventuellement lui renvoyer des messages d'erreur. Vous pouvez utiliser d'autres méthodes dans la méthode validateParameters pour aider à valider l'élément de campagne, tels que les méthodes validateCategory ou validateProduct.
Cible
  • performExecute : cette méthode indique si le client satisfait les critères de la cible. Par exemple, si le client appartient au segment de clientèle Clients privilégiés. Dans l'affirmative, la méthode performExecute renvoie la valeur Vrai et le client passe l'examen de la cible et continue son cheminement dans l'activité marketing. Si la méthode performExecute renvoie false, le client ne passe pas la validation de la cible. Vous pouvez utiliser d'autres méthodes dans la performExecute méthode pour identifier le client, telles que les méthodes getPersonalizationId, getMemberId et getRegisteredMemberIdForPersonalizationId. Vous pouvez également utiliser d'autres méthodes pour obtenir les informations associées à la demande en cours, telles que getTriggerParameters, getStoreId et getUserDataForElement methods.
  • validateParameters : Cette méthode valide que l'utilisateur professionnel a bien défini toutes les paires nom-valeur requises pour l'élément de campagne dans l'interface utilisateur et peut éventuellement lui renvoyer des messages d'erreur. Vous pouvez utiliser d'autres méthodes dans la méthode validateParameters pour aider à valider l'élément de campagne, tels que les méthodes validateCategory ou validateProduct.
Action
  • performExecute : cette méthode effectue l'action pour le client. Dans le cas d'une activité Web, l'action consiste à afficher un élément au client dans un emplacement e-marketing. Dans le cas d'une activité de dialogue, il peut s'agir de différentes choses, comme l'envoi au client d'un courrier électronique ou l'émission au client d'un bon de réduction.
  • validateParameters : cette méthode vérifie que l'utilisateur professionnel a bien défini toutes les paires nom-valeur requises pour l'élément de campagne dans l'interface utilisateur et peut éventuellement lui renvoyer des messages d'erreur. Vous pouvez utiliser d'autres méthodes dans la méthode validateParameters pour aider à valider l'élément de campagne, tels que les méthodes validateCategory ou validateProduct.