Cómo desarrollar un bot para Facebook Platform en ASP.NET

- , ,

Bien es cierto que existen una gran cantidad de plataformas que te ayudan a implementar tus bots en Facebook Messenger. Sin embargo, desde Facebook cuentan con su propio framework para poder desarrollarlo. Lo que está claro es que puede resultarte algo complejo si no sabes cómo hacerlo. Teniendo en cuenta esto, en este post voy a explicarlos cómo desarrollar un bot en Facebook Platform usando C#.

Facebook Messenger es una de las plataformas de mensajería instantánea más potente del mundo. Sus más de 1.000 millones de usuarios la convierten en un atractivo para todas las empresas. No importa si son grandes o pequeñas, ya que todas ellas tienen la posibilidad de alcanzar a sus clientes a través de este canal. Y como bien anunció Facebook en el F8, todos los pasos que den en el futuro estarán relacionados con esta plataforma y la Inteligencia Artificial.

Desarrollo de ChatBots para empresas

Creamos chatbots en WhatsApp, Facebook Messenger, Telegram...

Contáctanos en nuestra web

Teniendo en cuenta esto, para las marcas resulta esencial contar con un bot en messenger. Un asistente conversacional que se encargue de interactuar con tus clientes de una forma eficaz, rápida y sencilla. Dicho lo cual, me dejo de rodeos y comencemos con el desarrollo del bot.

ASP.NET MVC Solution

Bien, pongámonos manos a la obra. Para empezar, crearemos una aplicación simple de ASP.NET MVC. En el caso de que no tengas ni idea de crear uno, te recomiendo que antes de empezar, leas estos tutoriales de la cuenta ASP.NET MVC.

Llegados a este punto, y partiendo de la base de que cuentas con MVC, ya podemos comenzar a dar vida a nuestro bot.

Para ello, tienes que generar este código:

Como puedes comprobar, ahora tu FacebookBotController cuenta con tres métodos diferentes. Analicemos cada uno de ellos por separado para comprenderlos mejor:

“Receive”

Este método se utiliza principalmente para conseguir la primera validación de Facebook. La validación se envía como un HPPT. Tendrás que comprobar el token de verificación y responder validando al usuario.

En caso de que algo salga mal, tendrás que devolver la respuesta HTTP con el código de estado 404.

“PostRaw”

Este es única y exclusivamente un método de ayuda. Te explica cómo enviar post request a C#. Es el envio simple de texto, pero en esta situación funciona bien.

“ReceivePost”

Este es sin duda nuestro método principal, a través de él recibirás toda la información de Facebook. Al ser el más importante, voy a extenderme en la explicación par que puedas comprenderlo aún mejor.

[ActionName(“Receive”)]
[AcceptVerbs(HttpVerbs.Post)]

Ambos aspectos sirven para el routing. Con este metodo se activa cuando nuestra pagina asp.ne trecibe una llamada HTTP por el metodo POST y con el nombre Recived.

Por favor, no olvides que el tipo de parámetro de entrada es BotRequest. BotRequest es la “clase” que representa al webhook de Facebook. No olvides, que la solicitud de Facebook no puede estar representada solo por una clase. Necesita que crees toda la jerarquía de clases. Este link de Msirkovsky os servirá de ayuda.

Crear una cuenta de Facebook

Después, lo que necesitas es una cuenta de Facebook developer.

Regístrate o accede a tu cuenta para poder crear un nueva aplicación. Los pasos para crear la aplicación son muy sencillos. Solo tienes que rellenar el campo del nombre, un correo electrónico de contacto y la categoría que tendrá.

Cuando ya tengas creada la nueva aplicación, podrás añadir la opción de “Añadir nuevo producto”. Tu aplicación de Facebook puede contener productos como Facebook login, Audiencie network y s.o. Eso sí, para tener nuestro bot necesitamos Facebook Messenger. Por eso, haz click en el botón Configurar ubicado en la sección de Messenger.

Cuando tengas abierta esa página, tendrás que indicar la página donde el Messenger se “alojará” y, a continuación, hacer click en “Configurar Webhooks”.

WebHook es una herramienta muy útil cuando necesitas saber lo que está ocurriendo en Facebook en tiempo real. En nuestro caso, necesitamos obtener información sobre cuándo los usuarios abren el chat y hablan con el bot. Si quieres obtener más información sobre esta gran herramienta, te recomiendo que eches un vistazo a esta página web:

En la ventana de Web Hook no olvides rellenar el campo de “Callback URL”. Esa será la URL de tu aplicación, la ruta del controlador y el nombre del método.

También deberás verificar el token: puedes elegir el tuyo propio, pero no olvides que en el servidor y en la entrada debe ser el mismo.

Desde los campos de suscripción, elije “message_deliveries”, “messages”, “messaging_optins”, y “messaging_postbacks”, tal y como puedes comprobar en la imagen que hay justo debajo. Si necesitas seleccionar alguna opción más, introdúcela. Esto es solo un tutorial de las cuestiones más básicas. Recordarte que podrás modificar estas cuestiones cundo estimes oportuno.

Después de realizar este paso, ya tienes todo listo para poder probar tu bot.


Cuando acabes, oficialmente tendrás tu primer bot. Seguramente se trate de un bot simple, incluso más bien tonto, que solo es capaz de decir hola y poco más. Pero con el paso del tiempo, cuando tengas dominados todos los actores y códigos, podrás comenzar a replantearte otras cuestiones como la experiencia de usuario, la introducción de respuestas graciosas…

¡Si te ha gustado este post, no olvides darle a ️añadir un aplauso y por supuesto contarme tu experiencia en los comentarios!

Referencias:

Código por Msirkovsky en GitHub.

Entradas del mismo autor

Deja un comentario