Definición de implementación para destinos y acciones

La definición de implementación es un fragmento de XML en una definición de plantilla de elemento de campaña. Todos los destinos y acciones deben tener una definición de implementación.

El segmento XML de definición de implementación define la siguiente información para un destino o acción:
  • El nombre exclusivo de la plantilla de elemento de campaña para el destino o la acción.
  • El mandato de tarea asociado al destino o acción. Para obtener más información, consulte Mandatos de tarea de elementos de campaña.
  • Los parámetros de la plantilla de elemento de campaña que se deben pasar al mandato de tarea. Para obtener más información, consulte Parámetros de plantilla de elementos de campaña.
    • Para un destino, los parámetros que definen los criterios para el destino. Por ejemplo, un destino puede requerir que un cliente pertenezca al segmento de clientes Clientes preferentes. Si el cliente cumple los criterios para el destino, el mandato de tarea devuelve true.
    • Para una acción, los parámetros definen la acción, por ejemplo la acción para enviar un correo electrónico al cliente o mostrar contenido en una zona de e-Marketing.

Dónde se almacenan las definiciones de implementaciones

Formato de las definiciones de implementaciones

Las definiciones de implementaciones utilizan el formato siguiente:


<FlowElementImplementation type="UNIQUE_NAME">
 <Implementation invocationType="TaskCommand">
  <Class name="TASK_COMMAND_CLASS_NAME">
   <Argument name="paramName1" value="MARKETING_paramName1"/>
   <Argument name="paramName2" value="paramValue2"/>
  </Class>
 </Implementation>
</FlowElementImplementation>

Parámetros de las definiciones de implementaciones

Cada parámetro que una definición de implementación puede contener, como se muestra en el ejemplo de formato anterior, se describe a continuación:

tipo
El nombre exclusivo de la plantilla de elemento de campaña para este destino o acción.
invocationType
Este valor siempre es TaskCommand.

Para el elemento <Class>: Cada destino y acción tiene un mandato de tarea asociado. Este valor debe ser una clase que implemente la interfaz MarketingCampaignElementTaskCmd.

name
El nombre de la clase del mandato de tarea de elemento de campaña para este elemento de campaña. Si va a crear un nuevo destino o acción, el valor que especifique aquí debe coincidir con el nombre del mandato de tarea personalizado que cree para dar soporte al nuevo elemento de campaña. Por ejemplo:
com.your_company_name.marketing.commands.elements.CustomLevelOfSupportTargetTaskCmd

Para el elemento <Argument>: El XML de definición de la implementación puede tener ninguno o varios de estos parámetros de plantilla de elementos de campaña. Cuando un cliente alcanza un elemento de destino o de acción en una actividad de marketing, los servicios de marketing pasan los parámetros al mandato de tarea de elemento de campaña. El mandato de tarea recupera los parámetros utilizando el método getElementParameters y luego utiliza los parámetros para evaluar el destino o realizar la acción.

name
El nombre del parámetro que se debe pasar al mandato de tarea para su proceso a fin de que el destino o acción pueda realizar su trabajo.
valor
El valor del parámetro. Si el valor del parámetro proviene de la interfaz de usuario, el valor debe estar en el formato MARKETING_paramName. Si el valor del parámetro proviene de un lugar distinto de la interfaz de usuario, el valor no necesita el prefijo MARKETING_.

Ejemplos

Los fragmentos de código siguientes muestran fragmentos de XML de ejemplo para definiciones de implementación:
  • Ejemplo de fragmento de XML para una acción que muestra una recomendación de categoría en una zona de e-Marketing de una página de tienda.
    
    <FlowElementImplementation type="Category">
        <Implementation invocationType="TaskCommand">
            <Class name="com.ibm.commerce.marketing.commands.elements.DisplayCategoryActionTaskCmd">
                <Argument name="categoryIdList" value="MARKETING_categoryIdList"/>
            </Class>
        </Implementation>
    </FlowElementImplementation>
  • Ejemplo de fragmento de XML para un destino que comprueba si un cliente está en un segmento de clientes.
    
    <FlowElementImplementation type="Customer Segment">
        <Implementation invocationType="TaskCommand">
            <Class name="com.ibm.commerce.marketing.commands.elements.CustomerSegmentTargetTaskCmd">
                <Argument name="segmentIdList" value="MARKETING_segmentIdList"/>
                <Argument name="anyOrAll" value="MARKETING_anyOrAll"/>
                <Argument name="containsOperator" value="MARKETING_containsOperator"/>
            </Class>
        </Implementation>
    </FlowElementImplementation>