Introducción API Salesforce Marketing Cloud. Ejemplo de uso
AGUSTÍN CARREÑO – ABRIL 2024
Salesforce pone a disposición de los consumidores múltiples servicios API REST y SOAP que nos permiten realizar múltiples operaciones dentro de Salesforce Marketing Cloud (creación, modificación y consulta de Data Extensions, assets, campañas, envíos de comunicaciones…).
Las API Salesforce nos permiten integrarnos de forma online con terceros sin tener que recurrir a procesos batch a través del SFTP. (Documentación)
En este post nos vamos a enfocar en un ejemplo práctico de, en mi opinión, la llamada API más útil que tiene Salesforce Marketing Cloud: API Fire Entry Event: Se utiliza con journeys de tipo Multistep y seleccionando la fuente de entrada API Event. Esta API Salesforce introducirá un contacto en un journey y podremos utilizar toda la potencia de Journey Builder para realizar cualquier acción (envío email, sms, push, crear/modificar objeto de Salesforce…).
A continuación se describen los pasos para configurar la API Salesforce Marketing Cloud descrita:
Paso 1: Creación del API Package en el setup de Salesforce Marketing Cloud.
[Debemos tener un usuario con permisos de administrador para realizar está acción.]
Setup > Apps > Installed Packages > New.
Damos un nombre y descripción a nuestro package y pulsamos en Add Component. Nos irán apareciendo una serie de opciones de configuración donde primero elegiremos el componente que queremos crear (Api Integration).
En segundo lugar seleccionaremos el tipo de integración (Server-to-Server).
Por último, seleccionaremos el scope del package para determinar qué tipo de acciones se podrán realizar llamando al API package que estamos creando (En este caso con marcar las opciones de Journey y List and Subscribers nos debería valer).
Paso 2: Creación de la Data Extension de envío.
Se requerirá de la creación de una data extensión de envío. Esta data extensión se creará con la opción habitual de “Create from New” y marcando el check de sendable.
Tenemos que crear todos los campos que nos vayan a informar desde la API Salesforce y seleccionar el campo que corresponda como SubscriberKey.
Paso 3: Creación y configuración del Journey.
Nos vamos a Journey Builder, pulsamos el botón de “Create new Journey” y elegimos la opción de Multi-Step Journey. Una vez creado arrastramos la Entry Source > Api Event al inicio del journey y pulsamos el link azul que dice “créate an event”.
Se nos creará un evento con una Event Definition Key (identificador de la API Salesforce) ya definida por defecto y tendremos que seleccionar la data extensión previamente creada. También podremos añadir filtros de cara a que no todas las llamadas api que se hagan entren en el Journey.
A partir de este punto podríamos desarrollar el Journey como quisiéramos y enviar una o varias comunicación por cualquier canal, actualizar datos en Sales/Service Cloud, aplicar actividades de Einstein, custom activities… Básicamente usar toda la potencia de Journey Builder.
Paso 4: Ahora toca probar.
Ya tenemos el Journey listo para usarse a través de la API Fire Entry Event. Para probar el correcto funcionamiento deberíamos darnos de alta en Postman y descargar la aplicación de escritorio. Ya dentro de Postman creamos una colección y añadimos 2 request que habrá que configurar.
- Autorización: Es necesario generar un token para realizar llamadas API Salesforce y este token se genera con otra llamada API
- Endpoint: El Authentication Base URI que hay en el package generado + v2/token
- Body: Un JSON con las credenciales.
{ “client_id”: “El client id que hay en el package generado”,
“client_secret”: “El client secret que hay en el package generado”,
“grant_type”: “client_credentials” }
- El tipo de llamada: POST
- Fire Entry Event: Esta será la API Salesforce para inyectar un contacto en el journey
- Endpoint: El Rest Base URI que hay en el package generado + interaction/v1/events
- Body: Un JSON con el identificador del cliente, el identificador de la llamada y los datos de la Data Extension.
{ “ContactKey”: “valor del campo de la data extensión relacionado con el subscriberkey”,
“EventDefinitionKey”: “Identificador del evento que tenemos en la entry source del journey”,
“Data”: { “EmailAddress”: “Campo de la Data extension”, “Nombre”: “Campo de la data extension”,
// Otros campos de la Data extension } }
- El tipo de llamada: POST
- En la pestaña de headers habrá que añadir el token obtenido de la llamada de autorización precedido del prefijo “Bearer “
Primero habrá que realizar la llamada a la Autorización y recoger del resultado el atributo token. Segundo, habría que inyectar el token en el header “Authorization” de la llamada al Fire Entry Event con el prefijo Bearer. En tercer lugar, ejecutaremos la llamada de esta última API Salesforce que, en caso de éxito, nos retornará un código evntInstanceId y nuestro contacto entrará en el Journey.
En la parte de Data de la llamada al “Fire Entry Event” podremos añadir todos los campos que queramos para que entren en el Journey mientras también sean campos de la data extensión de envío y cumplan con los criterios de tipo de campo y longitud. Si, por ejemplo, metemos en la llamada un atributo tipo texto sobre un campo que en Data extensión es numérico la API devolverá un error.
Descubre cómo aprovechar al máximo las API de Salesforce Marketing Cloud para mejorar tus interacciones online y tus integraciones con terceros.
Entradas relacionadas
¿Cómo aprovechar las ventajas del contenido dinámico con Salesforce Marketing Cloud?
25 September, 2023 - Luis Gago
Optimiza tus métricas de Email Marketing con contenido dinámico. Descubre con este contenido cómo y sus ventajas.
Leer más¿Qué es Salesforce Marketing Cloud?
8 May, 2022 - Matías Acosta
Salesforce Marketing Cloud es la plataforma de Marketing Automation que permite la automatización de comunicaciones comerciales y transaccionales.
Leer másCómo crear emails personalizados en Salesforce Marketing Cloud
17 April, 2022 - Daniel Espinoza
Te explicamos qué es Content Builder, sus capacidades y cómo crear un email usando un template base en Salesforce Marketing Cloud
Leer más