https://d226lax1qjow5r.cloudfront.net/blog/blogposts/integrating-multichannel-messaging-into-salesforce-with-nexmo-messages-api/unnamed-1.png

Integración de mensajería multicanal en Salesforce

Publicado el May 20, 2021

Tiempo de lectura: 9 minutos

API de Messages API de Nexmo para Salesforcecon tecnología Billenniumle permite enviar mensajes a través de SMS, MMS, WhatsApp Business, Facebook Messenger y Viber Service Messages directamente en la clase Apex de Salesforce. Esto significa que puede llamar a la API dentro de su entorno Salesforce. Tanto si es un desarrollador que crea una aplicación de mensajería como un administrador que crea un flujo de mensajería, Messages API es una forma sencilla de integrar una estrategia omnicanal.

En este tutorial, le guiaré a través de la instalación de la API de Messages API de Nexmo para Salesforce que podrá utilizar para crear una aplicación de Salesforce o su propio paquete gestionado de Salesforce que aproveche la API de Messages API de Nexmo como proveedor de mensajería subyacente. También le mostraré cómo crear un flujo con Salesforce Process Builder. Existen varias formas de integrar este paquete en su entorno de Salesforce, pero la que mostraré aquí es una herramienta de despliegue realmente ingeniosa que se encuentra alojada en nuestro repositorio de repositorio de GitHub.

Pero antes de entrar en detalles, abordemos la gran pregunta de gran pregunta: ¿Por qué utilizar la Messages API en lugar de la plétora de servicios para cada canal individual? La respuesta es la simplicidad: se accede a varios canales a través de una única API. Todo lo que tienes que hacer es especificar el canal en un parámetro de tu carga útil. Así, por ejemplo, puedes especificar que tu mensaje se va a enviar con SMS o WhatsApp con sólo incluir ese parámetro de canal en tu solicitud de API.

Otro gran valor añadido de la Messages API es que te permite integrarte con varios servicios de IA. Por ejemplo, hemos utilizado la Messages API para crear una experiencia de chatbot con plataformas de IA como IBM Watson o Google Dialogflow.

Nexmo Messaging API FlowNexmo Messaging API Flow

Instalación con un solo clic de Nexmo Messages API para Salesforce

Así que vamos a recorrer el proceso de instalación, explorando el paquete Messages API para Salesforce y lo que sucede bajo el capó. Para demostrar su capacidad, mostraré cómo se dispara una función anónima. Vea el Video a continuación para ver mi demostración de instalación completa.

Para empezar, visite la página de la comunidad Nexmo en GitHub, donde alojamos código abierto. El paquete Nexmo Messages API para Salesforce está alojado aquí en nexmo-salesforce. Tenemos algo de documentación si va a hacer algún tipo de inicio rápido o si desea instalar con Ant. De lo contrario, el Despliegue en Salesforce incrustada en la parte superior de la documentación permite la integración con un solo clic a la que me he referido antes. Haga clic en ese botón para iniciar el proceso de instalación y, a continuación, vamos a invocar la función de envío de mensajes dentro de nuestras aplicaciones de Salesforce.

Nexmo for SalesforceNexmo for Salesforce

Lo primero que debe hacer es iniciar sesión en Salesforce, ya que éste es el entorno en el que desea incrustar el paquete. Asegúrese de que su entorno de producción está marcado cuando realice la instalación.

Una vez que haya proporcionado la autorización a Salesforce, verá la página en la que se va a instalar el paquete, así como lo que se va a instalar en términos de las clases que van a estar disponibles en Salesforce. Cuando haga clic en el botón de despliegue, verá que se ha iniciado un despliegue y debería recibir actualizaciones sobre esa instalación hasta que se complete el despliegue.

Así de simple, ya ha integrado el paquete Messages API para Salesforce en su entorno Salesforce. Puede comprobar que está instalado volviendo a su entorno Salesforce, abriendo la consola de desarrollador y abriendo la clase Nexmo Apex. Verá que la clase Nexmo global está disponible dentro de su entorno Salesforce en Apex.

code examplecode example

Este código es de código abierto para su consumo; el punto final-https://api.nexmo.com-no cambiará. La versión puede cambiar en el futuro, pero no vamos a desaprobar esta versión a corto plazo. Simplemente hemos eliminado la necesidad de especificar el canal o de realizar múltiples peticiones para enviar mensajes a través de varios canales.

Echa un vistazo al código y verás que también puedes invocar la función de forma anónima. Ctrl+E abre esta función anónima de Apex. Puedes llamar a la función sendMessage de la clase Nexmo Apex. Por ejemplo, si introduces un número de teléfono móvil en ToNumber y un número Nexmo como dirección from, puedes probar la función. Simplemente introduce un mensaje de prueba, especifica el canal como "sms", ejecuta el código y recibirás el mensaje en tu teléfono móvil. Puedes ejecutar la misma prueba para cualquiera de los otros canales que soporta la API de Messages API de Nexmo.

La clase Nexmo Apex está disponible dentro de nuestro entorno. Y, obviamente, se puede desarrollar en la parte superior de eso, así que si usted está construyendo cualquier tipo de componente de relámpago o paquete de ti mismo, que acaba de invocar esta función con el fin de ser capaz de enviar mensajes a través de la API Messages API Nexmo. Es así de simple.

Cree un flujo de mensajería multicanal con Salesforce Process Builder

Ahora, nos guiaré a través del Process Builder y la creación de un caso de uso realmente común: las notificaciones de soporte. Cuando un agente de atención al cliente cierra un caso en Service Cloud, Process Builder activará un flujo que envía un mensaje SMS o WhatsApp al cliente. Voy a mostrarle cómo puede crear la escucha en Process Builder que enviará una notificación de alerta a sus clientes cada vez que un agente atienda una solicitud de un cliente y cierre el caso. Vea el Video a continuación para ver mi demostración completa de Process Builder.

Para empezar, abra un nuevo proceso en Process Builder e introduzca un nombre de proceso único, algo así como Nexmo_Caso_Cerrar. Para la descripción, puede introducir "Enviar un mensaje al cliente confirmando que su problema ha sido resuelto". El proceso se inicia cuando seleccione cambie un registro ya que ese es el desencadenante que iniciará el proceso.

Process builderProcess builder

El proceso se abrirá en la interfaz de Process Builder, una sencilla herramienta de construcción visual que no necesita ninguna experiencia de desarrollo para utilizar. Con el paquete Messages API para Salesforce instalado, la clase Nexmo Apex está disponible dentro de Process Builder.

process builder deep diveprocess builder deep dive

Haga clic en Añadir objeto. Seleccione Caso como objeto. Ya tenemos un proceso (Nexmo_Case_Close) que está monitoreando casos, así que sigue adelante y selecciónalo.

process builderprocess builder

Para asegurarse de que el proceso nos permite hacer un seguimiento de los casos según lo previsto, elija iniciar el proceso cuando se crea o edita un registroen lugar de sólo cuando se crea. En las opciones Avanzadas, deje la opción Recursión ("¿Permitir que el proceso evalúe un registro múltiples veces en una sola transacción?") desmarcada por ahora. Guarde el objeto.

A continuación, haga clic en Añadir criterios en el proceso. El Nombre del Criterio puede ser algo como Caso_Cerradoporque sólo queremos enviar una notificación al cliente final cuando un agente ha cerrado el caso. El Criterios para Ejecutar Acciones es donde determinaremos nuestra lógica de negocio, así que de nuevo, no necesitas ninguna experiencia en codificación para construir el proceso. Esto es realmente construir la lógica que va a determinar si las funciones en su flujo serán ejecutadas o no. Así que vamos a configurarlo para cuando se cumplan todas las condiciones.

Process builderProcess builder

A continuación, vamos a establecer condiciones. La única condición es que el caso esté cerrado, así que para el campo Campodesplazarnos por la lista y seleccionar Cerrado, que será de tipo Booleano (verdadero o falso) y el Nombre API será IsClosed. Así que la forma en que nuestras condiciones seleccionadas se leerían es: si el caso está cerrado, entonces el proceso haría algo. La opción Avanzada es "¿Desea ejecutar las acciones sólo cuando se realicen los cambios especificados en el registro?" Siga adelante y marque Sí, porque probablemente no desea actualizaciones cada vez que el caso es editado, hay algún tipo de mensaje interno, o el estado pasa de abierto a trabajando o abierto a escalado. Lo que quieres es que se ejecute sólo cuando se cierre el caso. Haz clic en Guardar.

Ahora tenemos un registro que estamos supervisando. Hemos incorporado una lógica para saber cuándo se cierra un caso.

A continuación, vamos a añadir una acción. Podemos seleccionar Apex como Tipo de Acción. El Nombre de la Acción puede ser "Enviar Mensaje de Actualización". Para Apex Class, "Send Nexmo Message" aparecerá y como has instalado ese paquete, debería estar disponible directamente.

process builderprocess builder

Lo que viene a continuación son las variables Apex, las variables que vas a pasar a tu solicitud como parte de esa carga útil. Puedes especificar el canal, que en este caso es WhatsApp. El fromId sería un número de WhatsApp habilitado para Nexmo. El texto sería algo parecido a "Hola, gracias por tu consulta. Su problema se ha resuelto. Te hemos enviado un reembolso de la cantidad xyz." Este podría ser un valor dinámico, pero para este ejercicio, vamos a mantenerlo estático. El toId va a ser su número de teléfono. Con todas las cadenas correctamente configuradas, puedes guardar las variables. Todo lo que tienes que hacer ahora es activar el proceso.

process builderprocess builder

Para probar el proceso, puede asumir el papel de un agente y ver si se comporta como se espera. Vaya a su App Launcher y abra la Consola de Servicio. Imagina que eres un agente sentado en tu contact center revisando los casos abiertos que se están acumulando en tu cola.

process builderprocess builder

Elija un caso por su número y suponga que su descripción es algo así como: "Hola, he visto su anuncio. Puede responder al cliente escribiendo un mensaje que diga: "Estupendo, nos pondremos en contacto con usted directamente. Gracias por su apoyo" y compartirlo.

salesforce

El paso clave aquí es actualizar el estado del caso, porque tenemos el disparador establecido para cuando el caso esté cerrado. Así que adelante, cierra el caso y mira si el proceso lo detecta.

case detailscase details

Cerrar el caso debería haber disparado el trigger cuando este evento fue ingestado por nuestro flujo de Process Builder. Deberías recibir un mensaje de Process Builder en tu Account de WhatsApp diciendo: "Hola, gracias por tu consulta. Tu incidencia ha sido resuelta. Te hemos enviado un importe de reembolso de xyz".

Esperemos que su flujo le haya enviado correctamente un mensaje sobre el caso cerrado. Usamos Process Builder, pero hay muchas herramientas que puede usar para hacer esto. También puedes usar algo como un flujo MuleSoft o puedes construirlo internamente dentro de tu propia aplicación cliente o aplicación del lado del servidor.

Primeros pasos con Nexmo Messages API para Salesforce

Si desea obtener más información sobre el paquete Nexmo Messages API para Salesforce, consulte nuestra documentación. Encontrará información para integrar el servicio directamente en su aplicación, ya sea en el lado del servidor o del cliente, dentro de Salesforce o no. Y de nuevo, le permite enviar mensajes a través de los distintos canales utilizando la interfaz única, y es realmente sencillo de integrar.

Si desea acceder al código y utilizar el propio paquete, vaya a nuestra página de la comunidad GitHub y puedes instalarlo con esa herramienta de instalación con un solo clic o utilizando Ant, lo que mejor se adapte a tus necesidades.

Para ver cómo utilizan el paquete nuestros socios, vea esta demostración de la solución de mensajería multicanal de SMS Magic con la tecnología de Messages API de Nexmo para Salesforce.

Compartir:

https://a.storyblok.com/f/270183/400x400/ea554d9ec0/oscar-rodriguez.png
Oscar Rodriguez

Oscar Rodriguez is the Director Global Solution Engineering at Nexmo, the Vonage API Platform