Plugin de chat

El 9 de mayo de 2024, ya no podrás acceder a ninguna de las funcionalidades del plugin de chat. A partir de ahora, el plugin de chat en modo invitado ya no está disponible, pero podrás seguir usando otras funciones, como los enlaces m.me.

Este documento te muestra cómo agregar el plugin de chat a tu experiencia de Messenger en un sitio web de manera programática.

Si quieres usar Meta Business Suite para agregar el plugin de chat a tu página web (recomendado), visita el servicio de ayuda de Meta para empresas a fin de obtener más información.

Cómo funciona

Cuando instalas el SDK de Facebook para JavaScript en tu página web, el plugin de chat se representa en la página web. De manera predeterminada, el cuadro de diálogo de saludo se mostrará en computadoras y en celulares, y la persona podrá hacer clic en el botón de cerrar para minimizarlo. Puedes personalizar el saludo, el aspecto, como el color, y la experiencia de mensajería, como menús y respuestas rápidas, del plugin. El estado del cuadro de diálogo se almacena en caché, maximizado o minimizado, y se conserva entre las sesiones.

Inicios de sesión

Si la persona inició sesión en Facebook, el plugin mostrará los botones "Continuar como [NOMBRE]" y "Continuar como invitado". Si la persona no inició sesión en Facebook, el plugin mostrará los botones "Iniciar sesión en Messenger" y "Continuar como invitado".

Notificaciones de webhook

Cuando una persona hace clic en el plugin para iniciar un chat o para continuar uno preexistente con tu empresa, se envía a tu servidor una notificación de webhook que contiene lo siguiente:

  • Información sobre la persona, como identificadores específicos de la página (PSID) o identificadores de referencia de usuarios
  • Identificación de la fuente del mensaje como plugin de chat
  • Información de referencia incluida en la notificación

Si implementaste la pantalla de bienvenida en el plugin y la persona hace clic en el botón "Empezar" para iniciar una conversación con tu empresa, se enviará una notificación de webhook messaging_postbacks a tu servidor. Tu empresa puede, entonces, usar el identificador de referencia de usuario para enviar mensajes a la persona dentro del intervalo de mensajes estándar de 24 horas.

Conversaciones preexistentes

Si la persona ya tiene una conversación iniciada con tu empresa, el historial de chat se cargará automáticamente en el plugin. Cuando la persona continúa la conversación (envía un mensaje, hace clic en un botón o realiza alguna otra acción que implementaste en la conversación), se envía una notificación del webhook messaging a tu servidor o una notificación del webhook messaging_referral si incluyes información de referencia. Tu empresa puede, entonces, usar el PSID para enviar mensajes a la persona dentro del intervalo de mensajes estándar de 24 horas.

Tipos de mensajes admitidos por el plugin de chat

  • Audio, video, imagen y GIF
  • Botones de llamada
  • Menú persistente
  • Botones de postback
  • Acciones del emisor
  • Mensajes de texto
  • Respuestas rápidas de texto
  • Botones de URL
  • Respuestas rápidas de correo electrónico del usuario
  • Respuestas rápidas de número de teléfono del usuario

El plugin no admite lo siguiente:

  • Botones "Comprar"
  • Botones "Jugar"
  • Plantillas de listas, contenido multimedia u Open Graph
  • Respuestas rápidas de ubicación
  • Botones "Iniciar sesión"
  • Botones "Cerrar sesión"
  • Navegadores en la app de Messenger
  • Botones "Compartir"

Antes de empezar

En esta guía, se asume que leíste el Resumen de la plataforma de Messenger y que implementaste los componentes necesarios para enviar y recibir mensajes y notificaciones.

Necesitarás lo siguiente:

  • El permiso pages_messaging
  • Un token de acceso a la página solicitado por una persona que puede realizar la tarea MODERATE en la página de Facebook
  • La app vinculada a tu página de Facebook suscrita a los campos de webhooks messaging, messaging_postbacks y messaging_referrals
  • El dominio de tu sitio web agregado a la lista de autorizados mediante la API de perfiles de Messenger o Meta Business Suite.

Las Condiciones de las herramientas empresariales de Meta se aplican al uso del plugin de chat.

Limitaciones

  • Tu sitio web debe estar activo o estar incluido en una lista de autorizados para que el plugin de chat pueda implementarse correctamente.
  • Si se establecieron restricciones de edad o país en la configuración de la página de Facebook de tu empresa, no se mostrará el plugin de chat a las personas que visiten tu sitio web sin haber iniciado sesión en sus cuentas de Facebook.
  • El cuadro de diálogo de saludo no se almacena en caché en los navegadores Safari versión 12 y posteriores y Firefox.

Agregar el plugin de chat

Paso 1: Agregar el SDK

Agrega el SDK de Facebook para JavaScript a cada página de tu sitio web donde quieras que se muestre el plugin.

<!-- Messenger Chat Plugin Code --> <div id="fb-root"></div> <div id="fb-customer-chat" class="fb-customerchat"></div> <script> var chatbox = document.getElementById('fb-customer-chat'); chatbox.setAttribute("page_id", "PAGE-ID"); chatbox.setAttribute("attribution", "biz_inbox"); </script> <script> window.fbAsyncInit = function() { FB.init({ xfbml : true, version : 'API-VERSION' }); }; (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = 'https://connect.facebook.net/en_US/sdk/xfbml.customerchat.js'; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk')); </script> 

Paso 2: Personalizar el plugin

Usar la API

Envía una solicitud POST al punto de conexión /PAGE-ID/chat_plugin para personalizar el saludo, el color, el icono y demás elementos de tu plugin.

Ejemplo de solicitud

El formato se modificó para facilitar la lectura.
curl -i -X POST "https://graph.facebook.com/v21.0/PAGE-ID/chat_plugin
    ?welcome_screen_greeting:YOUR-WELCOME-TEXT
    &theme_color:553399
    &entry_point_icon:MESSENGER-ICON
    &entry_point_label:CHAT
    &access_token=PAGE-ACCESS-TOKEN"

Consulta la referencia del plugin de chat para obtener más información sobre los campos que se usan para personalizar el plugin.

Usar atributos HTML

Recomendamos que solo uses este método para las personalizaciones que no estén disponibles mediante la herramienta de configuración de la página o la API.

AtributoDescripción

theme_color

Opcional. El color que se usará como tema para el plugin, incluido el color de fondo del icono del plugin de chat y el color de fondo de los mensajes que envíen los usuarios. Admite cualquier código de color hexadecimal con el signo de numeral al principio (p. ej., #0084FF), excepto el blanco. Te recomendamos que elijas un color que tenga un alto contraste con respecto al blanco.

logged_in_greeting

Opcional. El texto de saludo que se mostrará si el usuario ya inició sesión en Facebook. No debe superar los 80 caracteres.

logged_out_greeting

Opcional. El texto de saludo que se mostrará si el usuario aún no inició sesión en Facebook. No deben superar los 80 caracteres.

greeting_dialog_display

Opcional. Establece cómo se verán el plugin y el cuadro de diálogo de saludo. Se admiten los siguientes valores:


  • show: se muestra el cuadro de diálogo de saludo, y queda abierto en la computadora o el celular después de la cantidad de segundos establecida en el atributo greeting_dialog_delay.
  • fade: se muestra brevemente el cuadro de diálogo de saludo después de la cantidad de segundos establecida en el atributo greeting_dialog_delay; luego desaparece y queda oculto en el escritorio.
  • hide: el cuadro de diálogo de saludo permanece oculto hasta que un usuario hace clic en el plugin en una computadora o un celular. El texto de saludo se mostrará junto al icono.
  • icon: el cuadro de diálogo de saludo permanece oculto hasta que un usuario hace clic en el plugin en una computadora o un celular. No se mostrará el texto de saludo.

El valor predeterminado del plugin es show en computadoras y celulares. Para obtener más información, consulta la sección Comportamiento del almacenamiento en caché, que aparece a continuación.

greeting_dialog_delay

Opcional. Establece después de cuántos segundos se muestra el cuadro de diálogo de saludo una vez que se carga el plugin. Sirve para personalizar el momento en el que quieres que aparezca el cuadro de diálogo de saludo. Si se define greeting_dialog_delay, pero no greeting_dialog_display, demoraremos el cuadro de diálogo de saludo en computadoras, pero no aplicaremos esa demora en celulares.

ref

Opcional. Pasa un parámetro "ref" opcional si quieres incluir contexto adicional para devolverlo en el evento del webhook. Se puede usar con muchos fines, por ejemplo, para realizar el seguimiento de la página donde el usuario eligió iniciar la conversación, dirigir al usuario a contenido o funciones específicas disponibles en el bot, o asociar a un usuario de Messenger con una sesión o cuenta en el sitio web.

Notificaciones de webhook

Cuando una persona envía un mensaje a tu empresa, se envía una notificación de webhook a tu servidor.

Conversaciones preexistentes

Cuando una persona envía un mensaje a una conversación preexistente con tu empresa, se envía notificación del webhook messaging. La notificación incluirá el ID específico de la página de la persona y el parámetro source del objeto tags configurado en customer_chat_plugin.

Notificación de mensaje

{
    "object": "page",
    "entry": [
        {
            "id": "PAGE-ID",
            "time": 1559598624359,
            "messaging": [
                {
                    "sender": {
                        "id": "PSID"
                    },
                    "recipient": {
                        "id": "PAGE-ID"
                    },
                    "timestamp": 1559598623749,
                    "message": {
                        "tags": {
                            "source": "customer_chat_plugin"
                        },
                        "mid": "nhEqs_THGoYyAhpK93uNCrIfLZD...",
                        "text": "hello, from customer chat!"
                    }
                }
            ]
        }
    ]
}

Notificación de referencia de mensajes

Si configuras el atributo ref en tu plugin de chat, se enviará una notificación del webhook messaging_referrals a tu servidor.

{
    "object": "page",
    "entry": [
        {
            "id": "PAGE-ID",
            "time": 1559598385735,
            "messaging": [
                {
                    "recipient": {
                        "id": "PAGE-ID"
                    },
                    "timestamp": 1559598385735,
                    "sender": {
                        "user_ref":"USER-REFERENCE-ID"
                    },
                    "referral": {
                        "ref": "REF-PARAMETER-INFORMATION",
                        "source": "CUSTOMER_CHAT_PLUGIN",
                        "type": "OPEN_THREAD",
                        "referer_uri": "REFERRAL-URI"
                    }
                }
            ]
        }
    ]
}

Conversaciones nuevas

Cuando una persona inicia una conversación haciendo clic en el botón "Empezar" de la pantalla de bienvenida del plugin, se envía una notificación del webhook messaging_postbacks.

Notificación de postback de mensaje

{
    "object": "page",
    "entry": [
        {
            "id": "PAGE-ID",
            "time": 1559598624359,
            "messaging": [
                {
                    "sender": {
                        "user_ref": "USER-REFERENCE-ID"
                    },
                    "recipient": {
                        "id": "PAGE-ID"
                    },
                    "timestamp": 1559598623749,
                    "postback":{
                        "title": "TITLE-FOR-THE-CTA",  
                        "payload": "PAYLOAD-DEFINED-BY-CTA",
                        "referral": {
                            "ref": "ADDITIONAL-INFORMATION",
                            "source": "CUSTOMER_CHAT_PLUGIN",
                            "type": "OPEN_THREAD",
                    }
                }
            ]
        }
    ]
}

Solicitudes de suscripción a mensajes de marketing

Consulta nuestra guía de mensajes de marketing para aprender a crear solicitudes de suscripción a mensajes de marketing.

Limitaciones

Solo se admite el tema Actualizaciones y promociones en las notificaciones recurrentes del plugin de chat.

Notificación de suscripción a mensajes

Se envía una notificación del webhook messaging_optins a tu servidor cuando una persona se suscribe para recibir mensajes de marketing de tu empresa.

"object": "page",
    "entry": [
        {
            "id": "PAGE-ID",
            "time": TIMESTAMP,
            "messaging": [
                {
                    "recipient": {
                        "id": "PAGE-ID"
                    },
                    "timestamp": TIMESTAMP,
                    "optin": {
                        "type": "notification_messages",
                        "payload": "empty_payload",
                        "notification_messages_token": "NOTIFICATION-MESSAGE-TOKEN",
                        "notification_messages_frequency": "MESSAGE-FREQUENCY",
                        "topic": "NOTIFICATION-MESSAGE-TOPIC",
                        "token_expiry_timestamp": EXPIRATION-DATE-TIMESTAMP,
                        "ref": "ADDITIONAL-INFORMATION",
                        "user_token_status": "NOT_REFRESHED",
                        "notification_messages_status": "RESUME_NOTIFICATIONS"
                    }
                }
            ]
        }
    ]
}

Puedes configurar el valor de notification_messages_token con el valor del identificador del objeto recipient para enviar mensajes de marketing a una persona.

Consejos para solucionar problemas

  • No se muestra...
    • Asegúrate de que se haya autorizado el dominio.
    • Asegúrate de que se haya configurado el encabezado Referrer-Policy de tal manera que se envíe la URL de referencia.
  • No se muestra el plugin de chat en Firefox
    • Elimina la extensión del contenedor de Facebook para Firefox.
    • Desactiva el bloqueo de contenido (haz clic en el escudo de color gris en la barra de búsqueda) para que se muestre el plugin.

Consulta también: