Compartir a través de


Cree una función de aprobaciones en el marketing saliente

Nota

Dynamics 365 Marketing y Dynamics 365 Customer Insights son ahora Customer Insights - Journeys y Customer Insights - Data. Para obtener más información, consulte Preguntas frecuentes de Dynamics 365 Customer Insights

Los nuevos clientes de Customer Insights - Journeys solo reciben características de recorridos en tiempo real. Para obtener más información, consulte Instalación de recorridos en tiempo real predeterminada.

Importante

Este artículo solo se aplica al marketing saliente, que se eliminará del producto el 30 de junio de 2025. Para evitar interrupciones, realice la transición a recorridos en tiempo real antes de esta fecha. Más información: Información general sobre la transición

Propina

Para crear un proceso de aprobación en recorridos en tiempo real, consulte Proceso de aprobación de recorridos y correo electrónico en Customer Insights - Journeys

Dynamics 365 Customer Insights - Journeys ofrece una infraestructura con las características de extensibilidad que proporcionan nuevas posibilidades a los programadores, y una forma de aprovechar esta nueva extensibilidad es crear una característica de aprobaciones, con la posibilidad de incluir la integración con Power Automate.

Este artículo describe una manera de desarrollar una función de aprobaciones para Customer Insights - Journeys. La característica descrita aquí permitiría a las organizaciones implementar un flujo de trabajo de aprobación en el que la mayoría de los usuarios no pueden usar Puesta en marcha inmediatamente con algunos tipos de entidades importantes (como correos electrónicos, los recorridos del cliente, o segmentos). En su lugar, un aprobador debe inspeccionar cada registro y decidir si permitirlo en Puesta en marcha, o si es necesario hacer más trabajo primero. El aprobador suele ser un administrador o el jefe de ventas que se identifican como un aprobador en el sistema.

Importante

La característica de aprobación descrita aquí está diseñada para admitir un flujo de trabajo colaborativo entre compañeros y le ayudará evitan accidentalmente la puesta en marcha una entidad que no está aún lista. Se recomienda también desarrollar complementos que eviten que los usuarios pongan en marcha cualquier estado que no esté aprobado e impidan que los usuarios editen campos en los registros incluidos en el estado aprobación necesaria, aprobado o en marcha.

El proceso de aprobación

Las personalizaciones descritas en este artículo le ayudan a diseñar e implementar un flujo de trabajo de aprobación que funcione como se describe a continuación:

  1. Los usuarios estándar (los no aprobadores a los que llamamos especialistas en marketing) ya no ven el botón Poner en marcha en los formularios de entidad donde están habilitadas las aprobaciones. En su lugar, se reemplazará con un botón Solicitar aprobación en la barra de comandos. Estas entidades usan una recopilación personalizada de valores de Razón para el estado, que se usan para realizar el seguimiento del estado de aprobación de cada registro. Los registros que requieren aprobación comienzan con una razón estado Aprobación necesaria.

  2. Cuando el vendedor ha terminado de crear un nuevo registro (como un diseño de correo electrónico), selecciona el botón Enviar para su aprobación, que comprueba que la entidad sea válida y desencadena los siguientes cambios:

    • La razón para el estado de los cambios de este registro pasa a Aprobación solicitada.
    • El registro queda bloqueado a otros cambios.
    • Un correo electrónico se envía automáticamente al aprobador configurado en el sistema para indicar que su aprobación es necesaria. El mensaje incluye botones para aprobar o rechazar. Tiene un vínculo para ver el registro relevante en la aplicación Dynamics 365 Customer Insights - Journeys (donde se encuentran los botones de aprobación y rechazo).
    • Para el aprobador, los botones Aprobar y Rechazar ahora aparecen en la barra de comandos.
  3. El aprobador responde con una de las siguientes acciones:

    • Aprobar: el registro cambia su razón de estado a Aprobado. El botón Puesta en marcha también está disponible para todos los usuarios del registro. Cualquier usuario puede poner en marcha el registro, siempre que no se hagan otras ediciones. Si un usuario edita un registro aprobado, el botón Puesta en marcha vuelve a sustituirse con el botón Solicitar aprobación y la razón de estado cambia a Aprobación necesaria.
    • Rechazar: el registro cambia su razón de estado a Rechazado. El botón Solicitar aprobación se agrega de nuevo a la barra de comandos. El usuario ya puede realizar cambios y a continuación reenviarlos para su aprobación.
  4. Se repita este proceso hasta que el registro está aprobado y en marcha.

Funciones de extensibilidad para admitir aprobaciones

Las funciones siguientes se agregan dentro de la solución de Customer Insights - Journeys (a partir del lanzamiento de agosto) y se pueden usar para reemplazar o usar la lógica predeterminada para las entidades con el ciclo de vida complejo (correo electrónico de marketing, recorrido del cliente, valores de contenido, página de marketing, formulario de marketing, y segmento).

Nombre de función Descripción
MsDynCrmMkt.ExtensibilityCallback.liveEditablePreAction Se usa para incluir código que se ejecuta antes de que una entidad especifique el estado editable en marcha.
MsDynCrmMkt.ExtensibilityCallback.customUpdateFormControls Se desencadena cuando el formulario de la entidad principal se ejecuta. Esto da la posibilidad para desbloquear todos los controles de la página hacerlas editables.
MsDynCrmMkt.ExtensibilityCallback.canGoLive Permite reemplazar completamente la lógica para mostrar u ocultar la cinta Puesta en marcha.
MsDynCrmMkt.ExtensibilityCallback.preventSave Permite controlar el comportamiento de guardado de la entidad.
MsDynCrmMkt.ExtensibilitySupplier.entityValidator Devuelve un factorial validador. Una vez correctamente inicializado, se puede usar para comprobar que la configuración de la entidad específica es válida.

Las únicas limitaciones que quedan para personalizar la solución de Customer Insights - Journeys son:

  1. Se ignoran nuevos estados entre el estado transitorio (puesta en marcha y detención) y la fase de corrección.
  2. Si desea ir directamente al estado Activo , sin pasar por el estado En proceso de puesta en marcha , asegúrese de que los valores de la entidad no se cambian.
  3. No quite ninguno de los estados existentes.
  4. Cuando una entidad entra en estado inactivo, no se puede reactivar.

Implementación

Paso 1: Crear una nueva solución

  1. Cree una nueva solución y denomínela Aprobación de ejemplo.

  2. Agregar entidad de recorrido del cliente a la solución.

  3. Vaya a Soluciones>Aprobación de ejemplo>Entidades>Recorrido del cliente>Campos.

  4. Seleccione el atributo Statuscode y agregue los siguientes estados nuevos:

    • Aprobados

    • Aprobación solicitada

      Nota

      Copie los valores de los nuevos estados creadas para el uso adicional. Necesita estos valores para crear los botones de la cinta personalizada.

  5. Seleccione Editar transiciones de razón para el estado y haga clic en los ... junto a las opciones disponibles y agregue las razones para el estado como se muestra anteriormente; a continuación, haga clic en Aceptar.

    Transiciones de la razón para el estado.

  6. Cree un nuevo campo msdyncrm_restorestatuscode del tipo de datos Número entero, que almacena la información de estado anterior.

  7. Dentro de la solución, cree una nueva entidad que puede llamarse, por ejemplo, aprobaciones. Esta entidad se usará para decidir si el usuario que inició sesión en el sistema es una aprobador o un comercial.

  8. Cree dos nuevos usuarios: aprobador y vendedor. El aprobador tiene acceso de escritura en la entidad creada anteriores, mientras que el comercial no tiene ningún privilegio de administrador del sistema o personalizador del sistema.

Paso 2: Cree los botones de la cinta de opciones

Para que nuestra solución funcione, es necesario crear tres botones personalizados de la cinta de opciones, como se explica a continuación. Para la creación de botones personalizados de la cinta de opciones, consulte Personalización de comandos y la cinta de opciones o use cualquiera de las herramientas disponibles en la comunidad de Microsoft.

Cinta de opciones Habilitar reglas Acción
Aprobar - Ser un aprobador
- Estar en el estado Se requiere aprobación
Mueva la entidad al estado Aprobado.
Rechazar - Ser un aprobador
- Estar en el estado Se requiere aprobación
Mueve la entidad de nuevo al estado anterior (use el campo msdyncrm_rstorestatuscode para la recuperación).
Solicitar aprobación - Ser un comercial
- Estar en el estado borrador, error o detenido
Almacene el estado real de la entidad en el campo msdyncrm_restorestatuscode, ejecute una comprobación de validación en la entidad, y si la entidad es válida mover la entidad al estado Aprobación solicitada.

Debemos quitar la posibilidad de que el comercial introduzca el estado Editable en marcha. Esto es importante porque cuando una solicitud de aprobación llega desde un estado borrador, error o detenido y el aprobador decide rechazar los cambios, los cambios se conservan y es el comercial el que tiene que hacer nuevos. Esta lógica no se puede aplicar al estado editable en vivo porque si el aprobador rechaza un registro editable en vivo, vuelve a estar en vivo. Si conserváramos los cambios, el usuario podría confundirse porque qué ve un formulario distinto del qué se guarda en nuestros servicios.

Para evitar este problema, debería volver a convertir los cambios propuestos por el comercial. Si la entidad no está muy personalizada, sugerimos lograr esto introduciendo un campo extra en la entidad y usar este campo para serializar la entidad cuando un registro entre en el estado editable en marcha.

Para este ámbito, introducimos un nuevo punto de extensibilidad MsDynCrmMkt.ExtensibilityCallback.liveEditablePreAction. Si creamos un evento en la carga del formulario, nombrado como se indicó anteriormente, se llama a este código cuando el registro entra en un estado editable en vivo. La deserialización puede hacerse tanto dentro de la acción de la cinta Rechazar o dentro de un complemento. Recomendamos encarecidamente el segundo enfoque porque da un mayor control de la escritura y es compatible con la integración con Power Automate.

Paso 3: Aprovechar puntos de extensibilidad

Para nuestro ejemplo, necesitamos usar dos de los puntos de extensibilidad mencionados anteriormente. Ambos se deben agregar como evento en carga en el formulario principal del recorrido del cliente dentro de la nueva solución creada antes.

  • MsDynCrmMkt.ExtensibilityCallback.canGoLive: esta característica, si está definida, se usa para decidir cuándo mostrar el botón Puesta en marcha. Para nuestro ejemplo, necesitamos verificar que la entidad esté en estado de borrador, error, detención y que el usuario que inició sesión sea un comercializador, o que estemos en el estado aprobado.
  • MsDynCrmMkt.ExtensibilityCallback.customUpdateFormControls: esta característica, si está definida, se ejecuta después de que el formulario esté cargado completamente. En nuestro caso específico, puede usarlo para desbloquear los campos que deseamos hacer editables para los vendedores.

Paso 4: Cree dos vistas del sistema

Para fácilmente identificar las entidades que se encuentren en el estado Aprobación necesaria y Aprobar, se recomienda crear dos vistas del sistema en la entidad de recorrido del cliente para mostrar todas las entidades que requieren aprobación, así como todas las entidades que son ya aprobadas y esperan la Puesta en marcha. Más información: Crear o editar una vista.