Esta es una traducción que desde EGA Futura ofrecemos como cortesía a toda la 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.
…
En nuestra serie de blogs sobre la API de la plataforma Einstein Bots, hemos profundizado en diferentes aspectos del uso de la API para ayudarlo a aprovecharla al máximo en sus canales digitales. En esta cuarta publicación de la serie, nos centraremos en cómo usar el Marco de conector de canal de Bots de Einstein con Twitter, para que pueda usar Bots de Einstein para monitorear y responder tweets.
Hagamos un breve resumen de nuestra serie hasta ahora. El primer blog presentó los fundamentos de la API de Einstein Platform Bots, incluida la autorización, la autenticación y la gestión de sesiones. En el segundo blog , cubrimos los detalles del uso de un cliente de bot administrado por sesión y la administración de caché. El marco del conector de canales se presentó en el tercer blog , que proporciona un conjunto de herramientas para simplificar la creación de conectores de canales externos para un bot de Einstein. Es un Spring Boot Starter que puede definir una conexión a un bot preconfigurado con algunos parámetros de configuración.
El repositorio de código para Channel Connector contiene una carpeta de ejemplos con conectores de muestra para Twitter, Microsoft Teams, Slack y mensajes de texto. Estos ejemplos se pueden desarrollar y se pueden usar por sí solos o se pueden hacer referencia a ellos para desarrollar nuevos conectores personalizados. Empecemos a mirar el conector de Twitter.
Presentación de Einstein Bot Channel Connector con Twitter
Con el marco del conector de canal de Bots de Einstein, los Bots de Einstein pueden extender su alcance a Twitter. Puede configurarlos para monitorear conversaciones, responder consultas directas y conectar clientes con agentes las 24 horas del día, los 7 días de la semana.
En este artículo, veremos la implementación de un conector de canal que usa la API de Twitter para monitorear un conjunto de palabras clave o menciones. Luego, el marco del conector de canal reenvía estos tweets a un bot de Einstein. El código completo de esta demostración está disponible en la carpeta de ejemplos de este repositorio . El proyecto requiere ciertas configuraciones para conectarlo a su cuenta de desarrollador de Twitter y Bots de Einstein. Explicaremos estos parámetros y cómo obtenerlos en la siguiente sección.
requisitos previos
Para aquellos que son nuevos en Einstein Bots, Salesforce proporciona documentación detallada y módulos de Trailhead que cubren el diseño de bots. Para este ejemplo, comenzaremos con un Bot de Einstein que ya ha sido diseñado. Para acceder al bot a través de la API, debemos crear una nueva aplicación conectada y conectarla a su Einstein Bot. Después de este paso, tendrá los extremos orgId
, botId
, runtime-base url y ForceConfig
para su bot, que usaremos más adelante en el archivo application.properties
durante la configuración de la aplicación.
También se requiere una cuenta de desarrollador de Twitter para poder usar la API de Twitter. Una vez que haya configurado la cuenta de desarrollador, cree un proyecto y genere dos conjuntos de claves y tokens. El primer conjunto de claves es la clave y el secreto del consumidor de OAuth, que se puede crear siguiendo estas instrucciones . El segundo conjunto de claves es el token de acceso y el secreto. Para crear el token de acceso y el secreto:
- Active la autenticación de usuario en la configuración → Configuración de OAuth1.0a y configure los permisos. La aplicación de Twitter debe tener permisos de LECTURA y ESCRITURA.
- Instale twurl y ejecútelo usando su clave de consumidor y el secreto generado anteriormente:
twurl authorize --consumer-key "your_key" --consumer-secret "your_secret"
. Luego, siga las instrucciones en pantalla:- Visite la salida del enlace del comando anterior, que le permite autorizar la aplicación.
- Luego de ser autorizado, genera un PIN que debe ingresarse en la terminal.
twurl
almacena el token de acceso y el secreto del token de acceso en ~/.twurlrc
.
Creación de una aplicación Java Spring
Nuestra demostración está construida con Java Spring , que es un marco de código abierto que se utiliza para crear aplicaciones empresariales. Utilizaremos Apache Maven para la automatización de compilaciones y la gestión de dependencias. Se proporciona un arquetipo Maven en el directorio del proyecto para crear un nuevo proyecto.
Este conector de demostración será una aplicación independiente que monitoreará los tweets usando la API de Twitter usando un conjunto de reglas definidas. Una vez que se encuentra un tweet que cumple con los criterios requeridos, se envía a un Bot de Einstein conectado mediante la API de Bots de Einstein y la respuesta del bot se envía de regreso al autor del tweet.
El proyecto recién creado tiene el código de esqueleto y todas las dependencias para la conectividad de Einstein Bots predefinidas. A continuación, agregaremos las dependencias correspondientes para la API de Twitter como se detalla en la siguiente sección.
dependencias del proyecto
Las dependencias del proyecto se definen en pom.xml
y el proyecto recién creado incluye todas las dependencias requeridas por el marco del conector de canal de forma predeterminada. Como tal, solo requiere las dependencias para la API de Twitter que se agregaron de la siguiente manera en la sección de dependencias de pom.xml
.
<dx-code-block title language code-block=" com.twitter twitter-api-java-sdk ${twitter-sdk-version} com.squareup.okhttp3 okhttp ${okhttp-version} com.squareup.okhttp3 logging-interceptor ${okhttp-version} «>
En el momento de escribir este artículo, las versiones de la biblioteca eran twitter-sdk-version=1.1.1
y okhttp-version=4.9.2
. La configuración de la conexión del bot implica la definición de un pequeño conjunto de parámetros de configuración que se analizan en la siguiente sección. Con las dependencias resueltas, ahora podemos implementar nuestro conector de Twitter.
diseño de código
El diseño de la aplicación web consta de dos servicios principales:
-
EinsteinBotService
: un servicio que utilizaSessionManagedChatbotClient
proporcionado por Einstein Bots SDK para enviar y recibir mensajes al bot de destino -
TwitterStreamService
: un servicio que se conecta continuamente a la transmisión filtrada de Twitter y busca menciones de identificadores definidos anteriormente entwitter.user.name
TwitterStreamService
se conecta a un flujo filtrado y recibe tweets que coinciden con un conjunto definido de reglas. Estas reglas son configurables y definidas por el parámetro twitter.rule.ids
discutido en la siguiente sección. Si hay una falla o un error, el servicio espera un breve intervalo preconfigurado y vuelve a intentar conectarse a la transmisión filtrada. Cuando se recibe un tweet coincidente, su contenido de texto se envía al Bot de Einstein.
El Bot de Einstein se puede configurar para responder preguntas frecuentes, registrar estos tweets en Salesforce, interactuar directamente con el usuario final o reenviar los tweets a un agente. Después de recibir una respuesta del bot, EinsteinBotService
crea un tweet de respuesta y lo publica mediante la API de Twitter.
El resto del código trata de establecer una comunicación segura con Einstein Bots y la API de Twitter. Los parámetros de configuración, creados en los requisitos previos, deben establecerse en application.properties
de su proyecto, como se describe en la siguiente sección.
Parámetros de configuración
El proyecto es totalmente configurable y está diseñado para obtener sus configuraciones específicas de Twitter y bots de application.properties
. Los detalles de los parámetros de configuración están disponibles en el repositorio de código .
Estos parámetros son suficientes para permitir que el proyecto recién generado se conecte con éxito a su Einstein Bot y a su cuenta de Twitter. Como tal, los parámetros de configuración se pueden categorizar ampliamente en dos grupos. El primer conjunto de parámetros contiene detalles para el bot de Einstein y la organización a la que pertenece. También contiene información relacionada con OAuth, lo que le permitiría comunicarse de forma segura con el bot de Einstein.
El segundo conjunto de parámetros de configuración incluye cosas como el identificador de Twitter, reglas para filtrar las transmisiones de Twitter para identificar Tweets y detalles de autenticación para la API de Twitter. Tenga en cuenta que el acceso a la API de Twitter estará restringido detrás de un nivel pago después del 9 de febrero de 2023.
Una vez que se establecen los parámetros según las instrucciones dadas, la aplicación está lista para monitorear y enviar tweets seleccionados al bot de Einstein y enviar la respuesta del bot al usuario final. En su forma actual, el conector de Twitter está diseñado para funcionar con solo un bot de Einstein y un identificador de Twitter. Sin embargo, se puede ampliar fácilmente para monitorear varios identificadores e intercambiar mensajes con varios Bots de Einstein.
Conclusión
El conector de Twitter es solo un ejemplo de extremo a extremo desarrollado con el marco del conector de canal de Einstein Bots, y permite que Einstein Bots supervise y responda a los tweets. El marco de Channel Connector proporciona un conjunto de herramientas para simplificar y acelerar la integración de muchos canales personalizados a Einstein Bots. El marco viene empaquetado con un conjunto completo de ejemplos, incluidos conectores de muestra para Slack, Twitter, Microsoft Teams e incluso mensajes de texto que utilizan proveedores externos. Puede usar estas soluciones de muestra por sí solas o como referencia para desarrollar soluciones de conectividad personalizadas para sus Bots de Einstein.
Sobre los autores
Asif Ali es ingeniero de software principal en Salesforce y trabaja en Einstein Bots. Síguelo en LinkedIn .
Atul Kshirsagar es arquitecto de software en Salesforce y trabaja en Einstein Bots. Sígalo en LinkedIn y Twitter @atulckshirsagar .
Obtenga las últimas publicaciones de blog de desarrolladores de Salesforce y episodios de podcast a través de Slack o RSS.
Agregar a Slack Suscríbete a RSS
…
Esta es una traducción realizada por EGA Futura, y este es el link a la publicación original: https://developer.salesforce.com/blogs/2023/02/launch-your-einstein-bot-to-twitter-with-the-einstein-bots-channel-connector-framework.html