Messenger de Facebook

Mediante la integración de Facebook Messenger en Dialogflow, puedes crear un bot de Facebook Messenger para interactuar con los usuarios finales.

Cómo funciona

La integración funciona de la siguiente manera:

Crear

Para configurar la integración, debes realizar las siguientes acciones:

  1. Sigue los pasos para crear una app de Facebook: Desarrollo de aplicaciones de Facebook.

  2. Configura la app de Facebook para usar la plataforma de Facebook Messenger. Sigue los pasos que se indican en la documentación sobre la Configuración de tu aplicación de Facebook para lograr lo siguiente:

    • Agregar la plataforma de Messenger a tu app de Facebook.
    • Suscribir tu app a una página de Facebook. Asegúrate de que messages y messaging_postbacks estén habilitados en la suscripción a la página.
    • En este paso, se te proporciona un token de acceso. Copia este valor. Este token se usará para configurar la integración desde la consola de Dialogflow.
    • Aún no debes configurar el webhook ni probar tu integración.
  3. Configura la integración desde la consola de Dialogflow:

    1. Ir a la consola de Dialogflow CX
    2. Haz clic en la pestaña Administrar en el panel izquierdo.
    3. Haz clic en Integrations, en el menú de la barra lateral izquierda.
    4. Haz clic en el botón Conectar en el mosaico Facebook Messenger.
    5. Se abrirá un cuadro de diálogo de configuración:

      • Secreto de app: Ingresa el secreto de la app en Configuración básica del panel de la app de Facebook.

      • Verify Token: Puede ingresar el token privado que desees. Copia este valor. Se usará para configurar el webhook de Facebook Messenger.

      • Page access token: Ingresa el token de acceso que copiaste durante la configuración de la app de Facebook antes.

      • Habilita el botón Comenzar: Consulta la sección botón Comenzar.

      • URL de webhook: Copia este valor. Se usará para configurar el webhook de Facebook Messenger.

      • Start: Haz clic a fin de iniciar este servicio de integración para tu agente.

  4. Finaliza la configuración de la app de Facebook y pruébala. Sigue los pasos que se indican en la documentación sobre la Configuración de tu aplicación de Facebook para lograr lo siguiente:

    • Configurar el webhook de Facebook para tu app. Usa los valores de URL de webhook y Verify Token que copiaste antes. Asegúrate de habilitar messages y messaging_postbacks en la suscripción de la página.
    • Probar tu app.

Eventos

Esta integración invoca los siguientes eventos: Puedes crear controladores de eventos personalizados para definir qué hacer cuando se activen los eventos.

Evento Descripción
FACEBOOK_WELCOME Se activa cuando un usuario final hace clic en el botón Comenzar de Facebook Messenger.
FACEBOOK_MEDIA Se activa cuando el mensaje de un usuario final contiene adjuntos (p. ej., audio, imagen, video, etcétera).

Botón Comenzar

Para configurar el botón de Comenzar de Facebook Messenger, haz lo siguiente:

  1. Activa el botón Habilitar el botón Comenzar cuando habilites este servicio de integración.

    • Este servicio de integración habilitará el botón por ti mediante una llamada a la API de perfil de Facebook Messenger.

      curl -X POST \
      -H "Content-Type: application/json" \
      -d '{"get_started": {"payload": "FACEBOOK_WELCOME"}}' \
      "https://graph.facebook.com/v10.0/me/messenger_profile?access_token=${PAGE_ACCESS_TOKEN}"
      
  2. Crea un controlador de eventos personalizado para el evento FACEBOOK_WELCOME.

Para probarla, haz lo siguiente:

  1. Borra la conversación anterior con tu página de Facebook (si corresponde).

    • El botón Comenzar solo aparece en las conversaciones nuevas.
  2. Comienza una conversación nueva con tu página de Facebook.

  3. Haz clic en el botón Comenzar y verifica la respuesta del controlador de eventos personalizados.

Siempre puedes llamar a la API de perfil de Facebook Messenger para administrar el botón Comenzar. Esto puede ser útil para realizar pruebas.

Por ejemplo, la siguiente solicitud verifica el estado del botón Comenzar:

curl -X GET \
"https://graph.facebook.com/v10.0/me/messenger_profile?fields=get_started&access_token=${PAGE_ACCESS_TOKEN}"

La siguiente solicitud inhabilita el botón Comenzar:

curl -X DELETE \
-H "Content-Type: application/json" \
-d '{"fields": ["get_started"]}' \
"https://graph.facebook.com/v10.0/me/messenger_profile?access_token=${PAGE_ACCESS_TOKEN}"

Mensajes de respuesta enriquecida

Los mensajes de respuesta enriquecida son compatibles con la carga útil personalizada en Entregas. Consulta Objeto de mensaje de API de envío de Facebook Messenger para obtener el formato de mensaje.

Por ejemplo, la siguiente carga útil personalizada proporciona un mensaje de texto simple:

{
  "text": "Hello, world"
}

La siguiente carga útil personalizada proporciona un mensaje de imagen:

{
  "attachment": {
    "type": "image",
    "payload": {
      "url": "https://example.com/test.jpg"
    }
  }
}