Conexión de un bot a FacebookConnect a bot to Facebook

El bot se puede conectar a Facebook Messenger y Facebook Workplace para comunicarse con usuarios de estas plataformas.Your bot can be connected to both Facebook Messenger and Facebook Workplace, so that it can communicate with users on both platforms. Las instrucciones siguientes muestran cómo conectar un bot a estos dos canales.The following instructions show how to connect a bot to these two channels.

Nota

La UI de Facebook puede aparecer de forma ligeramente diferente dependiendo de la versión que use.The Facebook UI may appear slightly different depending on which version you are using.

Conexión de un bot a Facebook MessengerConnect a bot to Facebook Messenger

Para obtener más información acerca del desarrollo de Facebook Messenger, consulte la documentación de la plataforma de Messenger.To learn more about developing for Facebook Messenger, see the Messenger platform documentation. Puede que quiera revisar la lista de verificación previa al lanzamiento, el tutorial de inicio rápido y la guía de configuración de Facebook.You may wish to review Facebook's pre-launch guidelines, quick start, and setup guide.

Para configurar un bot para que se comunique con Facebook Messenger, habilite Facebook Messenger en una página de Facebook y, a continuación, conecte el bot.To configure a bot to communicate using Facebook Messenger, enable Facebook Messenger on a Facebook page and then connect the bot.

Copia del id. de páginaCopy the Page ID

Se accede al bot a través de una página de Facebook.The bot is accessed through a Facebook Page.

  1. Cree una nueva página de Facebook o vaya a una página existente.Create a new Facebook Page or go to an existing Page.

  2. Abra la página Sobre de la página de Facebook y, a continuación, copie y guarde el id. de página.Open the Facebook Page's About page and then copy and save the Page ID.

Creación de una aplicación de FacebookCreate a Facebook app

  1. En el explorador, vaya a Crear una nueva aplicación de Facebook.In your browser, navigate to Create a new Facebook App.

  2. Escriba el nombre de la aplicación y seleccione crear nuevo ID. de aplicación de Facebook.Enter the name of your app and select Create New Facebook App ID.

    Crear aplicación

  3. En el cuadro de diálogo que aparece, escriba su dirección de correo electrónico y seleccione crear ID. de aplicación.In the displayed dialog, enter your email address and select Create App ID.

    Creación de un id. de aplicación

  4. Realice los pasos que le indique el asistente.Go through the wizard steps.

  5. Escriba la información de comprobación necesaria y, a continuación, seleccione omitir Inicio rápido en la parte superior derecha.Enter the required check information, then select Skip Quick Start in the upper right.

  6. En el panel izquierdo de la siguiente ventana que se muestra, expanda configuración y seleccione básica.In the left pane of the next displayed window, expand Settings and select Basic.

  7. En el panel derecho, copie y guarde el id. de aplicación y el secreto de aplicación.In the right pane, copy and save the App ID and App Secret.

    Copiar identificador y secreto de la aplicación

  8. En el panel izquierdo, en configuración, seleccione avanzadas.In the left pane, under Settings, select Advanced.

  9. En el panel derecho, cambie el control deslizante permitir el acceso de la API a la configuración de la aplicación a .In the right pane, switch the Allow API Access to App Settings slider to Yes.

    Permitir el acceso de la API a la configuración de la aplicación

  10. En la página inferior derecha, seleccione Guardar cambios.In the page bottom right, select Save Changes.

Habilitar MessengerEnable Messenger

  1. En el panel izquierdo, seleccione Panel.In the left pane, select Dashboard.

  2. En el panel derecho, desplácese hacia abajo hasta el cuadro Messenger y seleccione configurar.In the right pane, scroll down to the Messenger box and select Set Up. La entrada de Messenger se muestra en la sección PRODUCTOS del panel izquierdo.The Messenger entry is displayed under the PRODUCTS section in the left pane.

    Habilitar Messenger

Agregar páginas y generar tokensAdd pages and generate tokens

  1. En el panel izquierdo, en la entrada de Messenger, seleccione configuración.In the left pane, under the Messenger entry, select Settings.

  2. En el panel derecho, desplácese hacia abajo hasta tokens de acceso y seleccione Agregar o quitar páginas.In the right pane, scroll down to Access Tokens and select Add or Remove Pages.

    Interfaz para agregar o quitar una página

  3. En la lista que aparece en la ventana siguiente, elija las páginas que quiere usar con la aplicación.From the list that comes up in the next window, choose the pages you want to use with the app.

  4. Seleccione Listo.Select Done.

  5. Para generar un token para esta página, seleccione generar token.To generate a token for this page, select Generate Token.

Habilitación de webhooksEnable webhooks

Para enviar mensajes y otros eventos desde el bot a Facebook Messenger, debe habilitar la integración de webhooks.In order to send messages and other events from your bot to Facebook Messenger, you must enable webhooks integration. Deje pendientes los pasos de configuración de Facebook.Leave the Facebook setting steps pending. Los actualizará más adelante.You'll update them later.

  1. En el explorador, abra una nueva ventana y vaya a Azure portal.In your browser open a new window and navigate to the Azure portal.

  2. En la lista de recursos, seleccione en el registro de recursos de Bot y, en la hoja relacionada, seleccione canales.In the Resource list, select on the bot resource registration and in the related blade select Channels.

  3. En el panel derecho, seleccione el icono de Facebook .In the right pane, select the Facebook icon.

  4. En el asistente, escriba la información de Facebook almacenada en los pasos anteriores.In the wizard enter the Facebook information stored in the previous steps. Si la información es correcta, en la parte inferior del asistente debería ver la dirección URL de devolución de llamada y el token de comprobación.If the information is correct, at the bottom of the wizard, you should see the callback URL and the verify token. Cópielos y almacénelos.Copy and store them.

    Interfaz para configurar el canal de Facebook Messenger

  5. Seleccione Guardar.Select Save.

  6. Vuelva a la configuración de Facebook para finalizar el proceso de configuración.Go back to the Facebook settings to finish up the configuration process.

  7. Escriba la dirección URL de devolución de llamada y compruebe los valores de token que recopiló en el Azure Portal.Enter the callback URL and verify token values that you collected from the Azure portal.

  8. En la sección configuración de webhooks, habilite las suscripciones siguientes : _ entrega de mensajes, mensajes, _ Opciones de mensajería y _ postbacks de mensajería.In the Webhooks configuration section, enable the following subscriptions: message_deliveries, messages, messaging_options, and messaging_postbacks.

Envío para revisiónSubmit for review

Facebook requiere una dirección URL de la directiva de privacidad y una dirección URL de las Condiciones del servicio en su página de configuración de aplicación básica.Facebook requires a Privacy Policy URL and Terms of Service URL on its basic app settings page. La página Código de conducta contiene vínculos a recursos de terceros para ayudar a crear una directiva de privacidad.The Code of Conduct page contains third party resource links to help create a privacy policy. La página Condiciones de uso contiene los términos de ejemplo que le ayudarán a crear un documento de condiciones del servicio adecuado.The Terms of Use page contains sample terms to help create an appropriate Terms of Service document.

Al finalizar el bot, Facebook tiene su propio proceso de revisión para las aplicaciones que se publican en Messenger.After the bot is finished, Facebook has its own review process for apps that are published to Messenger. El bot se probará para asegurarse de que es compatible con las directivasde la plataforma de Facebook.The bot will be tested to ensure it's compliant with Facebook's Platform Policies.

Publicación de la aplicación y la páginaMake the App public and publish the Page

Nota

Una aplicación se encuentra en modo de desarrollo hasta que no se publica.Until an app is published, it is in Development Mode. Los complementos y las funcionalidades de API solo funcionarán para los administradores, los desarrolladores y los evaluadores.Plugin and API functionality will only work for admins, developers, and testers.

Una vez que la revisión se considere correcta, en el panel de aplicaciones en Revisión de la aplicación, establezca la aplicación en Pública.After the review is successful, in the App Dashboard under App Review, set the app to Public. Asegúrese de que la página de Facebook asociada a este bot esté publicada.Ensure that the Facebook Page associated with this bot is published. El estado aparece en la configuración de las páginas.Status appears in Pages settings.

Conexión de un bot a Facebook WorkplaceConnect a bot to Facebook Workplace

Nota

El 16 de diciembre de 2019, Workplace by Facebook cambió su modelo de seguridad de las integraciones personalizadas.On December 16, 2019, Workplace by Facebook changed its security model for custom integrations. Las integraciones anteriores creadas con Microsoft Bot Framework v4 se deben actualizar para usar los adaptadores de Facebook de Bot Framework según las instrucciones siguientes antes del 28 de febrero de 2020.Prior integrations built using Microsoft Bot Framework v4 need to be updated to use the Bot Framework Facebook adapters per the instructions below prior to February 28, 2020.

Facebook solo tendrá en cuenta las integraciones con acceso limitado a los datos del área de trabajo (permisos de baja sensibilidad) que puedan seguir utilizándose hasta el 31 de diciembre de 2020 si estas integraciones se han completado y pasado la RFI de seguridad y, si el desarrollador llega al 15 de enero de 2020, mediante soporte directo para solicitar el uso continuado de la aplicación.Facebook will only consider integrations with limited access to Workplace data (low sensitivity permissions) eligible for continued use until December 31, 2020 if such integrations have completed and passed Security RFI and if the developer reaches out before January 15, 2020 via Direct Support to request continued use of the app.

Los adaptadores de Bot Framework están disponibles para bots de JavaScript/Node.js y C#/.NET.Bot Framework adapters are available for JavaScript/Node.js and C#/.NET bots.

Facebook Workplace es una versión de Facebook orientada a la empresa que permite a los empleados conectarse y colaborar fácilmente.Facebook Workplace is a business-oriented version of Facebook, which allows employees to easily connect and collaborate. Contiene vídeos en directo, fuentes de noticias, grupos, Messenger, reacciones, búsquedas y publicaciones populares.It contains live videos, news feeds, groups, messenger, reactions, search, and trending posts. También admite:It also supports:

  • Análisis e integraciones.Analytics and integrations. Un panel con análisis, integración, inicio de sesión único y proveedores de identidades que las compañías usan para integrar Workplace con sus sistemas de TI existentes.A dashboard with analytics, integration, single sign-on, and identity providers that companies use to integrate Workplace with their existing IT systems.
  • Grupos de varias empresas.Multi-company groups. Espacios compartidos en los que los empleados de distintas organizaciones pueden trabajar juntos y colaborar.Shared spaces in which employees from different organizations can work together and collaborate.

Consulte el servicio de ayuda Workplace para aprender sobre Facebook Workplace y la documentación para desarrolladores de Workplace para instrucciones sobre cómo desarrollar para Facebook Workplace.See the Workplace Help Center to learn more about Facebook Workplace and Workplace Developer Documentation for guidelines about developing for Facebook Workplace.

Para usar Facebook Workplace con el bot, debe crear una cuenta de Workplace y una integración personalizada para conectar el bot.To use Facebook Workplace with your bot, you must create a Workplace account and a custom integration to connect the bot.

Creación de una cuenta de Workplace PremiumCreate a Workplace Premium account

  1. Envíe una aplicación a Workplace en nombre de su empresa.Submit an application to workplace on behalf of your company.
  2. Una vez aprobada la aplicación, recibirá un correo electrónico en el que se le invitará a unirse.Once your application has been approved, you will receive an email inviting you to join. La respuesta puede tardar un rato.The response may take a while.
  3. En la invitación de correo electrónico, seleccione Introducción.From the e-mail invitation, select Get Started.
  4. Escriba su información de perfil.Enter your profile information.

    Sugerencia

    Establézcase como administrador del sistema.Set yourself as the system administrator. Recuerde que solo los administradores del sistema pueden crear integraciones personalizadas.Remember that only system administrators can create custom integrations.

  5. Seleccione vista previa de perfil y compruebe que la información es correcta.Select Preview Profile and verify the information is correct.
  6. Acceda a Prueba gratuita.Access Free Trial.
  7. Cree una contraseña.Create a password.
  8. Seleccione invitar a compañeros de trabajo para invitar a los empleados a iniciar sesión.Select Invite Coworkers to invite employees to sign-in. Los empleados a los que ha invitado se convertirán en miembros en cuanto inicien sesión.The employees you invited will become members as soon as they sign. Pasarán por un proceso de inicio de sesión parecido al que se describe en estos pasos.They will go through a similar sign-in process as described in these steps.

Creación de una integración personalizadaCreate a custom integration

Cree una integración personalizada para Workplace con los pasos que se describen a continuación.Create a custom integration for your Workplace following the steps described below. Cuando se crea una integración personalizada, se crean una aplicación con permisos definidos y una página de tipo Bot (solo visible dentro de la comunidad de áreas de trabajo).When you create a custom integration, an app with defined permissions and a page of type Bot (visible only within your Workplace community) are created.

  1. En el panel de administración, abra la pestaña Integraciones.In the Admin Panel, open the Integrations tab.

  2. Seleccione crear su propia aplicación personalizada.Select Create your own custom App.

    Integración en Workplace

  3. Elija un nombre para mostrar y una imagen de perfil para la aplicación.Choose a display name and a profile picture for the app. Esta información se compartirá con la página de tipo Bot .Such information will be shared with the page of type Bot.

  4. Establezca Allow API Access to App Settings (Permitir el acceso de la API a la configuración de la aplicación) en "Sí".Set the Allow API Access to App Settings to "Yes".

  5. Copie el identificador, el secreto y el token de la aplicación que aparecen y guárdelos con seguridad.Copy and safely store the App ID, App Secret and App Token that's shown to you.

    Claves de Workplace

  6. Ahora ha terminado de crear la integración personalizada.Now you have finished creating a custom integration. Puede encontrar la página de tipo Bot en su comunidad de áreas de trabajo, como se muestra a continuación.You can find the page of type Bot in your Workplace community, as shown below.

    Página de Workplace

Actualización del código del bot con el adaptador de FacebookUpdate your bot code with Facebook adapter

El código fuente del bot se debe actualizar para incluir un adaptador para comunicarse con Workplace by Facebook.Your bot's source code needs to be updated to include an adapter to communicate with Workplace by Facebook. Hay adaptadores disponibles para bots de JavaScript/Node.js y C#/.NET.Adapters are available for JavaScript/Node.js and C#/.NET bots.

Aprovisionamiento de credenciales de FacebookProvide Facebook credentials

Agregue el identificador de aplicación de Facebook, el secreto de aplicación de Facebook y los valores de token de acceso a la página que copió del área de trabajo de Facebook previamente a la appsettings.jsde bot.To your bot's appsettings.json file, add the Facebook App ID, Facebook App Secret and Page Access Token values that you copied from Facebook Workplace previously. En lugar de un identificador de página tradicional, use los números que siguen al nombre de integraciones en su página acerca de.Instead of a traditional page ID, use the numbers following the integrations name on its About page. Siga estas instrucciones para actualizar el código fuente del bot en JavaScript/Node.js o C#/.NET.Follow these instructions to update your bot source code in JavaScript/Node.js or C#/.NET.

Enviar una aplicación de área de trabajo para su revisiónSubmit Workplace app for review

Consulte la sección Conexión de un bot a Facebook Messenger y la documentación para desarrolladores de Workplace para más información.Please refer to the Connect a bot to Facebook Messenger section and Workplace Developer Documentation for details.

Hacer que la aplicación del área de trabajo sea pública y publicar la páginaMake the Workplace app public and publish the Page

Consulte la sección Conexión de un bot a Facebook Messenger para más información.Please refer to the Connect a bot to Facebook Messenger section for details.

Configuración de la versión de APISetting the API version

Si recibe una notificación de Facebook sobre una determinada versión de Graph API en desuso, vaya a la página para desarrolladores de Facebook.If you receive a notification from Facebook about deprecation of a certain version of the Graph API, go to Facebook developers page. Vaya a la configuración de la aplicación de Bot y vaya a configuración > avanzada > actualización API versión y cambie actualizar todas las llamadas a la versión 4,0.Navigate to your bot's App Settings and go to Settings > Advanced > Upgrade API version, then switch Upgrade All Calls to version 4.0.

Conexión de un bot a Facebook con el adaptador de FacebookConnect a bot to Facebook using the Facebook adapter

Use el adaptador de Bot Framework para Facebook para conectar su bot con el área de trabajo de Facebook.Use the Bot Framework Facebook adapter to connect your bot with Facebook Workplace. Para conectarse a Facebook Messenger, puede usar el canal de Facebook o el adaptador de Facebook.To connect to Facebook Messenger, you can use the Facebook channel or the Facebook adapter. Los adaptadores de Facebook están disponibles para bots de JavaScript/Node.js y C#/.NET.Facebook adapters are available for JavaScript/Node.js and C#/.NET bots.

En este artículo, aprenderá a conectar un bot a Facebook mediante el adaptador.In this article you will learn how to connect a bot to Facebook using the adapter. Este artículo le guiará a través de la modificación del ejemplo echo bot para conectarlo a Facebook.This article will walk you through modifying the Echo bot sample to connect it to Facebook.

Las instrucciones siguientes tratan sobre la implementación en C# del adaptador de Facebook.The instructions below cover the C# implementation of the Facebook adapter. Para obtener instrucciones sobre el uso del adaptador de JavaScript, que forma parte de las bibliotecas de BotKit, consulte la documentación de BotKit sobre Facebook.For instructions on using the JavaScript adapter, part of the BotKit libraries, see the BotKit Facebook documentation.

PrerrequisitosPrerequisites

Creación de una aplicación y una página de Facebook y recopilación de credencialesCreate a Facebook app, page and gather credentials

  1. Inicie sesión en https://developers.facebook.com.Log into https://developers.facebook.com. En el menú principal, seleccione mis aplicaciones > crear aplicación.In the main menu, select My Apps > Create App.

    Creación de una aplicación

  2. En el cuadro de diálogo que aparece, escriba un nombre para mostrar para la nueva aplicación y, a continuación, seleccione crear ID. de aplicación.In the dialog that appears, enter a display name for your new app and then select Create App ID.

    Definición del nombre de la aplicación

Configuración de Messenger y asociación de una página de FacebookSet up Messenger and associate a Facebook page

  1. Una vez creada la aplicación, verá una lista de productos disponibles para configurar.Once your app has been created, you will see a list of products available to set up. Seleccione configurar junto al producto de Messenger .Select Set Up next to the Messenger product.

  2. Ahora debe asociar la nueva aplicación a una página de Facebook — para crear una página si no tiene una página existente que quiera usar, seleccione crear nueva página en la sección tokens de acceso .You now need to associate your new app with a Facebook page—to create a page if you do not have an existing page you want to use, select Create New Page in the Access Tokens section. Seleccione Agregar o quitar páginas, elija la página que quiera asociar a la aplicación y, a continuación, seleccione siguiente.Select Add or Remove Pages, choose the page you want to associated with your app, and select Next. Deje la opción administrar y tener acceso a las conversaciones de la página en Messenger habilitada y seleccione listo.Leave the Manage and access Page conversations on Messenger setting enabled and select Done.

Configuración de Messenger

  1. Una vez que haya asociado la página, seleccione generar token para generar un token de acceso a la página.Once you have associated your page, select Generate Token to generate a page access token. Tome nota de este token, ya que lo necesitará en un paso posterior al configurar la aplicación de bot.Make a note of this token as you will need it in a later step when configuring your bot application.

Obtención del secreto de la aplicaciónObtain your app secret

  1. En el menú de la izquierda, seleccione configuración y, después, seleccione básica para ir a la página de configuración básica de la aplicación.In the left hand menu, select Settings and then select Basic to navigate to the basic settings page for your app.

  2. En la página Configuración básica, seleccione Mostrar junto al secreto de la aplicación.On the basic settings page, select Show next to your App Secret. Tome nota de este secreto, ya que lo necesitará en un paso posterior al configurar la aplicación de bot.Make a note of this secret as you will need it in a later step when configuring your bot application.

Conexión del adaptador de Facebook en el botWiring up the Facebook adapter in your bot

Ahora que tiene la aplicación de Facebook, la página y las credenciales, debe configurar la aplicación de bot.Now that you have your Facebook app, page and credentials, you need to configure your bot application.

Instalación del paquete de NuGet del adaptador de FacebookInstall the Facebook adapter NuGet package

Agregue el paquete de NuGet Microsoft. bot. Builder. Adapters. Facebook .Add the Microsoft.Bot.Builder.Adapters.Facebook NuGet package. Para más información sobre el uso de NuGet, consulte Instalación y administración de paquetes en Visual Studio.For more information on using NuGet, see Install and manage packages in Visual Studio.

Creación de una clase de adaptador de FacebookCreate a Facebook adapter class

Cree una nueva clase que herede de la FacebookAdapter clase.Create a new class that inherits from the FacebookAdapter class. Esta clase actuará como nuestro adaptador para el canal de Facebook e incluirá funciones de control de errores (similar a la BotFrameworkAdapterWithErrorHandler clase ya en el ejemplo, que se usa para controlar otras solicitudes desde Azure bot Service).This class will act as our adapter for the Facebook channel and include error handling capabilities (similar to the BotFrameworkAdapterWithErrorHandler class already in the sample, used for handling other requests from Azure Bot Service).

public class FacebookAdapterWithErrorHandler : FacebookAdapter
{
    public FacebookAdapterWithErrorHandler(IConfiguration configuration, ILogger<BotFrameworkHttpAdapter> logger)
            : base(configuration, logger)
        {
            OnTurnError = async (turnContext, exception) =>
            {
                // Log any leaked exception from the application.
                logger.LogError(exception, $"[OnTurnError] unhandled error : {exception.Message}");

                // Send a message to the user
                await turnContext.SendActivityAsync("The bot encountered an error or bug.");
                await turnContext.SendActivityAsync("To continue to run this bot, please fix the bot source code.");

                // Send a trace activity, which will be displayed in the Bot Framework Emulator
                await turnContext.TraceActivityAsync("OnTurnError Trace", exception.Message, "https://www.botframework.com/schemas/error", "TurnError");
            };
        }
}

Creación de un nuevo controlador para controlar las solicitudes de FacebookCreate a new controller for handling Facebook requests

Cree un nuevo controlador que controlará las solicitudes de Facebook en un nuevo api/facebook punto de conexión en lugar del punto de conexión predeterminado que se api/messages usa para las solicitudes de los canales de Azure bot Service.Create a new controller which will handle requests from Facebook, on a new api/facebook endpoint instead of the default api/messages endpoint used for requests from Azure Bot Service channels. Al agregar un punto de conexión adicional al bot, puede aceptar solicitudes de canales de Bot Service, así como de Facebook, con el mismo bot.By adding an additional endpoint to your bot, you can accept requests from Bot Service channels, as well as from Facebook, using the same bot.

[Route("api/facebook")]
[ApiController]
public class FacebookController : ControllerBase
{
    private readonly FacebookAdapter _adapter;
    private readonly IBot _bot;

    public FacebookController(FacebookAdapter adapter, IBot bot)
    {
        _adapter = adapter;
        _bot = bot;
    }

    [HttpPost]
    [HttpGet]
    public async Task PostAsync()
    {
        // Delegate the processing of the HTTP POST to the adapter.
        // The adapter will invoke the bot.
        await _adapter.ProcessAsync(Request, Response, _bot);
    }
}

Inserción del adaptador de Facebook en el archivo startup.cs del botInject the Facebook adapter in your bot startup.cs

Agregue la siguiente línea al ConfigureServices método en el archivo Startup.CS .Add the following line to the ConfigureServices method within your startup.cs file. Esto registrará el adaptador de Facebook y lo pondrá a disposición de la nueva clase de controlador.This will register your Facebook adapter and make it available for your new controller class. El adaptador usará automáticamente las opciones de configuración que agregó en el paso anterior.The configuration settings you added in the previous step will be automatically used by the adapter.

services.AddSingleton<FacebookAdapter, FacebookAdapterWithErrorHandler>();

Una vez agregado, el ConfigureServices método debería tener este aspecto.Once added, your ConfigureServices method should look like this.

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);

    // Create the default Bot Framework adapter (used for Azure Bot Service channels and Emulator).
    services.AddSingleton<IBotFrameworkHttpAdapter, BotFrameworkAdapterWithErrorHandler>();

    // Create the Facebook adapter
    services.AddSingleton<FacebookAdapter, FacebookAdapterWithErrorHandler>();

    // Create the bot as a transient. In this case the ASP controller is expecting an IBot.
    services.AddTransient<IBot, EchoBot>();
}

Obtención de una dirección URL para el botObtain a URL for your bot

Ahora que ha conectado el adaptador en el proyecto del bot, debe proporcionar el punto de conexión correcto de la aplicación a Facebook, para que el bot reciba mensajes.Now that you have wired up the adapter in your bot project, you need to provide to Facebook the correct endpoint for your application, so that your bot will receive messages. También necesitará esta dirección URL para completar la configuración de la aplicación de bot.You also need this URL to complete configuration of your bot application.

Para completar este paso, debe implementar el bot en Azure y anotar la dirección URL del bot implementado.To complete this step, deploy your bot to Azure and make a note of the URL of your deployed bot.

Nota

Si no está listo para implementar el bot en Azure, o desea depurar el bot cuando se usa el adaptador de Facebook, puede usar una herramienta como ngrok (que probablemente ya tenga instalada si ha usado anteriormente el emulador de bot Framework) para Tunelizar hasta el bot que se ejecuta localmente y proporcionar una dirección URL de acceso público para ello.If you are not ready to deploy your bot to Azure, or wish to debug your bot when using the Facebook adapter, you can use a tool such as ngrok (which you will likely already have installed if you have used the Bot Framework Emulator previously) to tunnel through to your bot running locally and provide you with a publicly accessible URL for this.

Si desea crear un túnel de ngrok y obtener una dirección URL al bot, use el siguiente comando en una ventana de terminal (se supone que el bot local se ejecuta en el puerto 3978, modifique los números de puerto en el comando si no es así).If you wish create an ngrok tunnel and obtain a URL to your bot, use the following command in a terminal window (this assumes your local bot is running on port 3978, alter the port numbers in the command if your bot is not).

ngrok.exe http 3978 -host-header="localhost:3978"

Adición de la configuración de aplicación de Facebook al archivo de configuración del botAdd Facebook app settings to your bot's configuration file

Agregue la configuración que se muestra a continuación al appsettings.jsen el archivo del proyecto de bot.Add the settings shown below to your appsettings.json file in your bot project. Debe rellenar FacebookAppSecret y FacebookAccessToken con los valores que recopiló al crear y configurar la aplicación de Facebook.You populate FacebookAppSecret and FacebookAccessToken using the values you gathered when creating and configuring your Facebook App. FacebookVerifyToken debe ser una cadena aleatoria que cree y se usará para asegurarse de que el punto de conexión de bot es auténtico cuando lo llama Facebook.FacebookVerifyToken should be a random string that you create and will be used to ensure your bot's endpoint is authentic when called by Facebook.

"FacebookVerifyToken": "",
"FacebookAppSecret": "",
"FacebookAccessToken": ""

Una vez que haya rellenado la configuración anterior, debe volver a implementar (o reiniciar, si se ejecuta localmente con ngrok) el bot.Once you have populated the settings above, you should redeploy (or restart if running locally with ngrok) your bot.

Configuración completa de la aplicación de FacebookComplete configuration of your Facebook app

El paso final consiste en configurar el punto de conexión de mensajería de la aplicación de Facebook para asegurarse de que el bot recibe mensajes.The final step is to configure your new Facebook app's Messenger endpoint, to ensure your bot receives messages.

  1. En el panel de la aplicación, seleccione Messenger en el menú de la izquierda y, a continuación, seleccione configuración.Within the dashboard for your app, select Messenger in the left hand menu and then select Settings.

  2. En la sección webhooks , seleccione Agregar URL de devolución de llamada.In the Webhooks section select Add Callback URL.

  3. En el cuadro de texto Callback URL (Dirección URL de devolución de llamada),escriba la dirección URL del bot, más el punto de conexión api/facebook que especificó en el controlador recién creado.In the Callback URL text box enter your bot's URL, plus the api/facebook endpoint you specified in your newly created controller. Por ejemplo, https://yourboturl.com/api/facebook.For example, https://yourboturl.com/api/facebook. En el cuadro de texto comprobar token , escriba el token de comprobación que creó anteriormente y que se usó en la appsettings.jsde la aplicación de bot en el archivo.In the Verify Token text box enter the verify token you created earlier and used in your bot application's appsettings.json file.

    Edición de la dirección URL de devolución de llamada

  4. Seleccione comprobar y guardar.Select Verify and Save. Asegúrese de que el bot está en ejecución, ya que Facebook realizará una solicitud al punto de conexión de la aplicación y lo comprobará mediante el token de verificación.Ensure you bot is running, as Facebook will make a request to your application's endpoint and verify it using your Verify Token.

  5. Una vez comprobada la dirección URL de devolución de llamada, seleccione Agregar suscripciones que se muestran ahora.Once your callback URL has been verified, select Add Subscriptions that is now shown. En la ventana emergente, elija las suscripciones siguientes y seleccione Guardar.In the pop-up window, choose the following subscriptions and select Save.

    • messagesmessages
    • messaging_postbacksmessaging_postbacks
    • messaging_optinsmessaging_optins
    • messaging_deliveriesmessaging_deliveries

    Suscripciones de webhooks

Prueba del bot con el adaptador en FacebookTest your bot with adapter in Facebook

Ahora puede probar si el bot está conectado a Facebook correctamente mediante el envío de un mensaje mediante la página de Facebook asociada a la nueva aplicación de Facebook.You can now test whether your bot is connected to Facebook correctly by sending a message via the Facebook Page you associated with your new Facebook app.

  1. Vaya a la página de Facebook.Navigate to your Facebook Page.

  2. Seleccione Agregar un botón.Select Add a Button.

    Adición de un botón

  3. Elija ponerse en contacto con usted y Enviar el mensaje y, después, seleccione siguiente.Choose Contact You and Send Message, then select Next.

    Elija los botones para mostrar

  4. Cuando se le pregunte ¿dónde desea que le envíen los usuarios? , elija Messenger y, a continuación, seleccione Finalizar.When asked Where would you like this button to send people to? choose Messenger, then select Finish.

    Elija el lugar en el que los botones envían personas

  5. Mantenga el mouse sobre el nuevo botón Enviar mensaje que se muestra ahora en la página de Facebook y seleccione el botón probar en el menú emergente.Hover over the new Send Message button that is now shown on your Facebook Page and select Test Button from the pop-up menu. Se iniciará una nueva conversación con la aplicación mediante Facebook Messenger, que puede usar para probar la mensajería del bot.This will start a new conversation with your app via Facebook Messenger, which you can use to test messaging your bot. Una vez que el bot recibe el mensaje, le enviará un mensaje de vuelta que muestra el texto de su mensaje.Once the message is received by your bot, it will send a message back to you, echoing the text from your message.

También puede probar esta característica con el Bot de ejemplo del adaptador de Facebook rellenando el appsettings.jsen el archivo con los mismos valores descritos en los pasos anteriores.You can also test this feature using the sample bot for the Facebook adapter by populating the appsettings.json file with the same values described in the steps above.

Consulte tambiénSee also

  • Código de ejemplo.Sample code. Use el bot de ejemplo Facebook-events para explorar la comunicación del bot con Facebook Messenger.Use the Facebook-events sample bot to explore the bot communication with Facebook Messenger.