Insertar un bot en un sitio webEmbed a bot in a website

se aplica a: SDK V4APPLIES TO: SDK v4

Aunque los bots comúnmente existen fuera de los sitios web, también pueden estar integrados en estos.Although bots commonly exist outside of websites, they can also be embedded within a website. Por ejemplo, puede insertar un bot de conocimiento dentro de un sitio web para que los usuarios puedan encontrar información que, de lo contrario, podría ser difícil de ubicar dentro de las estructuras complejas del sitio web.For example, you may embed a knowledge bot within a website to enable users to quickly find information that might otherwise be challenging to locate within complex website structures. Asimismo, también podría insertar un bot dentro de un sitio web del departamento de soporte técnico para que actúe como primer respondedor a solicitudes entrantes de los usuarios.Or you might embed a bot within a help desk website to act as the first responder to incoming user requests. El bot puede resolver problemas sencillos de manera independiente y derivar problemas más complejos a un agente humano.The bot could independently resolve simple issues and handoff more complex issues to a human agent.

En este artículo se explora la integración de bots con sitios web y el proceso de utilizar el mecanismo backchannel para facilitar la comunicación privada entre una página web y un bot.This article explores integrating bots with websites and the process of using the backchannel mechanism to facilitate private communication between a web page and a bot.

Microsoft proporciona dos formas diferentes de integrar un bot en un sitio web: el control web de Skype y un control web de código abierto.Microsoft provides two different ways to integrate a bot in a website: the Skype web control and an open source web control.

Control web de SkypeSkype web control

Nota

A partir del 31 de octubre de 2019, el canal Skype ya no acepta nuevas solicitudes de publicación de bots.As of October 31, 2019 the Skype channel no longer accepts new Bot publishing requests. Esto significa que puede seguir desarrollando bots con el canal Skype, pero su bot estará limitado a 100 usuarios.This means that you can continue to develop bots using the Skype channel, but your bot will be limited to 100 users. No podrá publicar su bot para un público mayor.You will not be able to publish your bot to a larger audience. Los bots de Skype actuales seguirán ejecutándose sin interrupciones.Current Skype bots will continue to run uninterrupted. Obtenga más información sobre por qué algunas características ya no están disponibles en Skype.Read more about why some features are not available in Skype anymore.

El control web de Skype es esencialmente un cliente de Skype en un control habilitado para la web.The Skype web control is essentially a Skype client in a web-enabled control. La autenticación integrada de Skype permite que el robot autentique y reconozca a los usuarios, sin que el desarrollador tenga que escribir ningún código personalizado.Built-in Skype authentication enables the bot to authenticate and recognize users, without requiring the developer to write any custom code. Skype reconocerá automáticamente las cuentas de Microsoft utilizadas en su cliente web.Skype will automatically recognize Microsoft Accounts used in its web client.

Debido a que el control web de Skype simplemente actúa como interfaz para Skype, el cliente de Skype del usuario tiene acceso automático al contexto completo de cualquier conversación que facilite el control web.Because the Skype web control simply acts as a front-end for Skype, the user's Skype client automatically has access to the full context of any conversation that the web control facilitates. Incluso después de que se cierre el navegador web, el usuario puede continuar interactuando con el bot mediante el cliente de Skype.Even after the web browser is closed, the user may continue to interact with the bot using the Skype client.

Control web de código abiertoOpen source web control

El control Chat en web de código abierto se basa en ReactJS y usa Direct Line API para comunicarse con Bot Framework.The open source web chat control is based upon ReactJS and uses the Direct Line API to communicate with the Bot Framework. El control de chat en web proporciona un lienzo en blanco para implementar el chat en web, lo que le proporciona un control total sobre el comportamiento que tendrá y la experiencia del usuario que ofrecerá.The web chat control provides a blank canvas for implementing the web chat, giving you full control over its behaviors and the user experience that it delivers.

El mecanismo backchannel permite que la página web que aloja el control se comunique directamente con el bot de una manera totalmente invisible para el usuario.The backchannel mechanism enables the web page that is hosting the control to communicate directly with the bot in a manner that is entirely invisible to the user. Esta capacidad proporciona cierta cantidad de escenarios útiles:This capability enables a number of useful scenarios:

  • La página web puede enviar datos relevantes al bot (por ejemplo, la ubicación GPS).The web page can send relevant data to the bot (e.g., GPS location).
  • La página web puede asesorar al bot sobre las acciones del usuario (por ejemplo, "el usuario acaba de seleccionar la opción A del menú desplegable").The web page can advise the bot about user actions (e.g., "user just selected Option A from the dropdown").
  • La página web puede enviar el bot al token de autenticación de un usuario conectado.The web page can send the bot the auth token for a logged-in user.
  • El bot puede enviar datos relevantes a la página web (por ejemplo, el valor actual de la cartera del usuario).The bot can send relevant data to the web page (e.g., current value of user's portfolio).
  • El bot puede enviar "comandos" a la página web (por ejemplo, cambiar el color de fondo).The bot can send "commands" to the web page (e.g., change background color).

Usar el mecanismo backchannelUsing the backchannel mechanism

El control de chat en web de código abierto se comunica con los bots mediante Direct Line API, lo que permite que se envíen y reciban activities entre el cliente y el bot.The open source web chat control communicates with bots by using the Direct Line API, which allows activities to be sent back and forth between client and bot. El tipo más común de actividad es message, pero hay otros tipos también.The most common type of activity is message, but there are other types as well. Por ejemplo, el tipo de actividad typing indica que un usuario está escribiendo o que el bot está trabajando para compilar una respuesta.For example, the activity type typing indicates that a user is typing or that the bot is working to compile a response.

Puede usar el mecanismo de Backchannel para intercambiar información entre el cliente y el bot sin presentarla al usuario estableciendo el tipo de actividad en event.You can use the backchannel mechanism to exchange information between client and bot without presenting it to the user by setting the activity type to event. El control de chat en web ignorará automáticamente las actividades en las que type="event".The web chat control will automatically ignore any activities where type="event".

Código de ejemploSample code

El control de chat en web de código abierto está disponible en GitHub.The open source web chat control is available via GitHub. Para más detalles sobre cómo puede implementar el mecanismo backchannel mediante el control de chat en web de código abierto y Bot Framework SDK para Node.js, consulte Uso del mecanismo backchannel.For details about how you can implement the backchannel mechanism using the open source web chat control and the Bot Framework SDK for Node.js, see Use the backchannel mechanism.

Recursos adicionalesAdditional resources