Skip to content

How to Integrate Salesforce CMS with Marketing Cloud Content Builder

Esta es una traducción que desde EGA Futura ofrecemos como cortesía a todo el Ohana y comunidad de programadores, consultores, administradores y arquitectos de Salesforce para toda Iberoamérica.

El enlace a la publicación original, lo encontrarás al final de este artículo.

El enfoque híbrido de Salesforce CMS le permite crear y mantener contenido y activos en una única ubicación. Algunos sistemas como Experience Cloud cuentan con integraciones preconstruidas para sindicar este contenido. Otros, como Marketing Cloud Content Builder, no la tienen.

Este blog le mostrará cómo construir dicha integración usted mismo. Utilizaremos el CMS de Salesforce sin cabeza y el SDK de Content Builder Block para ello.

Resumen de la integración

Antes de adentrarnos en la implementación propiamente dicha, veamos el resultado final. El siguiente GIF muestra cómo crear un nuevo mensaje de correo electrónico. Parte del proceso de creación del mensaje consiste en seleccionar contenido personalizado en el panel izquierdo. La fuente de contenido con el logotipo de Salesforce representa la integración personalizada que se describe en esta entrada del blog. Al arrastrar el icono sobre el correo electrónico, se obtiene una lista de imágenes. Estas imágenes son activos del CMS de Salesforce, que ahora están perfectamente integrados.

Nuestra integración tiene tres partes móviles:

  • Salesforce CMS, que proporciona los activos compartibles. Se trata de una función de su org. de Salesforce.
  • Constructora de contenidos, que proporciona los activos compartibles
  • Content Builder, que forma parte de Marketing Cloud. Content Builder es la herramienta para organizar de forma centralizada sus activos de Marketing Cloud.
  • Cuidado con el contenido, que forma parte de Salesforce
  • Una aplicación Node.js independiente, que es la capa de integración entre Salesforce CMS y Marketing Cloud. Esto podría ser escrito en cualquier lenguaje de programación de su elección.

El siguiente diagrama muestra la arquitectura de implementación de alto nivel. A la izquierda está la org de Salesforce con el CMS. La aplicación Node.js se encarga de la autenticación en la org, y las consultas al CMS utilizando la API de entrega, así como de renderizar la salida para Content Builder. La salida renderizada se basa en la especificación del Bloque SDK de Content Builder.

Vamos a profundizar en las diferentes partes.

Preparación de la org y el CMS de Salesforce

Como se ha mencionado anteriormente, usted utiliza el CMS de Salesforce para crear y mantener sus activos en una ubicación central. Con el CMS puede gestionar activos que sean privados para sus entornos o de acceso público. Esto se define cuando se crea un canal CMS.

El siguiente GIF muestra el proceso básico de definición de dicho canal. Una vez creado, ten a mano el ID del canal para un paso posterior. El GIF muestra cómo obtener este ID a través del punto final de la API /services/data/v51.0/connect/cms/delivery/channels de la org. Si bien se ve cómo recuperar esta información utilizando Workbench, le recomendamos que utilice una herramienta más moderna como Salesforce API Collection for Postman para este paso.

Como el CMS forma parte de su organización de Salesforce, se aplican los mecanismos estándar de autenticación y autorización. Para manejar esto, la integración utiliza el flujo de portador JWT de OAuth 2.0, el método de mejores prácticas para la comunicación de servidor a servidor.

La condición previa para este flujo de autenticación es una Salesforce Connected App. Como puede ver en el siguiente GIF, la configuración de una Connected App está totalmente dirigida por la interfaz de usuario.

Si quieres aprender más sobre Connected Apps, te recomiendo encarecidamente la serie de vídeos en Trailhead Live. La aplicación de ejemplo en GitHub también contiene instrucciones detalladas paso a paso para esta configuración específica. En el siguiente paso veremos la aplicación Node.js, y cómo integrarla con Marketing Cloud.

Uso de Node.js con el SDK del bloque de construcción de contenidos

Para proporcionar contenido personalizado utilizamos una aplicación Node.js personalizada. Esta aplicación obtiene los datos relevantes de la org de Salesforce utilizando los puntos finales de la API de entrega. A continuación, construye la interfaz de usuario que se incorpora a Content Builder utilizando el SDK de bloques. El código fuente completo está disponible en Github.

Para instanciar el SDK en la aplicación Node.js, se instala una nueva instancia del objeto global sfdc.BlockSDK. En el siguiente fragmento de código puedes ver dicha instanciación. Con los parámetros del BlockSDK, se controla el aspecto de la interfaz de usuario en el Content Builder. En nuestro ejemplo, definimos qué pestañas queremos que estén disponibles para el usuario.

// Lógica del SDK para establecer y recuperar los atributos del bloque
var sdk = new window.sfdc.BlockSDK({ pestañas: ['stylingblock', 'htmlblock']
});

La verdadera integración del activo de contenido, en nuestro caso una imagen, ocurre en una función personalizada setImage(). El siguiente fragmento de código contiene una versión abreviada de la función completa. En él se destacan dos elementos clave del SDK de bloques.

  • Usando sdk.setContent() se tiene un control total sobre el HTML que se colocará dentro del correo electrónico. Se puede pasar cualquier tipo de marcador de posición de cadena como parte de esa función.
  • Con sdk.setData() se especifican los datos a pasar al Content Builder. El objeto que se pasa puede contener cualquier par clave/valor. En tiempo de ejecución, los datos se utilizan para reemplazar los marcadores de posición de la llamada sdk.setContent().
función setImage() { sdk.setContent('<div style="font-size: 0.85rem !important;font-family:Helvetica,Arial,sans-serif !important;text-align: ' + alignment + ';"> <a href="' + link + '"><img style="width: 100%" src="' + imageurl + '" /></a><br>'+title+'<br><br>'+htmlBody+'</div>'); sdk.setData({ contentType: contentType, link: link, width: width, altura: altura, imageurl: imageurl, alineación: alineación, escala: escala, title: title, htmlBody: htmlBody });
}

Puedes enriquecer la experiencia del usuario final proporcionando también una interfaz de usuario personalizada, como en la app de ejemplo. Como has visto en el primer GIF, la app tiene más características.

Por ejemplo, proporciona una interfaz de usuario personalizada completa para el usuario final, donde pueden escalar o alinear la imagen desde el CMS, directamente desde el Content Builder. Todo esto está construido con HTML y JavaScript, y puede ser personalizado para sus propias necesidades.

Resumen

El CMS de Salesforce es una gran función para proporcionar activos desde un único repositorio central. Con el enfoque de la API, puede utilizar estos activos en cualquier sistema de destino. Esto hace que sea perfecto para integrarse en sistemas extensibles, como el generador de contenidos de Marketing Cloud.

Trailhead ofrece excelentes recursos para empezar a utilizar CMS de Salesforce y el SDK de bloques de Content Builder. Para ponerse manos a la obra, consulte las instrucciones en GitHub.

Originalmente publicado en: https://developer.salesforce.com/blogs/2021/03/how-to-integrate-salesforce-cms-with-marketing-cloud-content-builder.html

Últimas novedades 
de EGA Futura
1954
Desde hace más de 25 años potenciamos a las Empresas de Iberoamérica

🎬 Video de EGA Futura » Qué es un Almacén?

🎬 Video de EGA Futura » Qué es el Stock de almacén?

🎬 Video de EGA Futura » Los 7 pecados capitales que llevarán al infierno a tus argumentos de MKT y ventas [Cómo evitarlo…

🎬 Video de EGA Futura » Por qué Jefes y Gerentes frecuentemente Fallan al motivar Empleados [y en particular a Vendedores]

🎬 Video de EGA Futura » Estrategia de Precios . Cómo funciona este misterioso proceso y cómo Maximizar las Ganancias de …

🎬 Video de EGA Futura » 👉Atrévete a Liderar (levántate fuerte y cambia el Destino de tu Trabajo)

🎬 Video de EGA Futura » 😑 ¿Odias a tu propia Empresa? Guía para dejar de ser un Perdedor (Y encontrar una Salida)

🎬 Video de EGA Futura » 🤑 7 Estrategias Clave para hacer Crecer tu Empresa [Michael Gerber]

🎬 Video de EGA Futura » Qué hacer si Mercado Libre SUSPENDE mi Cuenta? 🤬

🎬 Video de EGA Futura » Como USAR el Manual del Usuario de EGA Futura? [Sistema de Gestión Windows] 😍

🎬 Video de EGA Futura » Recursos Humanos Aprovecha las Fortalezas y construye el Equipo perfecto

🎬 Video de EGA Futura » 8 Reglas de Oro para crear una Empresa Nueva

🎬 Video de Juan Manuel Garrido » Que Clientes DEBO priorizar en mi Empresa?

🎬 Video de EGA Futura » Las relaciones son todo: Claves para la Influencia Estratégica [y el Éxito de Ventas]

🎬 Video de EGA Futura » La Quinta Disciplina de Peter Senge [Método de Transformación continua]

🎬 Video de Juan Manuel Garrido » Adicto al Trabajo y sin Tiempo para tu Familia?

🎬 Video de EGA Futura » Costo dentro de una empresa

🎬 Video de EGA Futura » Aspectos Legales de la Empresa

🎬 Video de EGA Futura » Areas funcionales de una empresa

🎬 Video de EGA Futura » Por qué Dropbox es un Éxito

🎬 Video de EGA Futura » El “Método Turbina” para Potenciar tu Empresa [Receta ganadora]

🎬 Video de Juan Manuel Garrido » Tu energía debe estar puesta en las cosas que puedas cambiar

🎬 Video de Juan Manuel Garrido » Software para #ordenar y #administrar tu #negocio

🎬 Video de EGA Futura » Los 10 Mandamientos del Éxito [Para construir una empresa o carrera exitosa]

🎬 Video de Juan Manuel Garrido » Tu empresa necesita tener métricas claras