Autenticación de inicio de sesión comercial


El inicio de sesión comercial (comúnmente conocido como inicio de sesión con Facebook) es un punto de entrada que permite a los propietarios de empresas conectarlas en tu plataforma con sus perfiles de Facebook o Instagram usando un botón que dispongas en tu sitio.

El inicio de sesión comercial se encuentra en la superficie de tu plataforma (generalmente en un panel de administrador interno de tu sitio) y activa el flujo de inicio de sesión del negocio. Los propietarios de empresas pueden usar este flujo a fin de asociar sus perfiles de Facebook con la presencia de la empresa en tu sitio y, así, activar las funciones de la extensión Facebook Business.

Se crea una solución de representación (OBO) que conecta los negocios del socio y el cliente durante la instalación de la FBE. Permite que el socio obtenga el token de acceso al sistema de la FBE usando la credencial del usuario del sistema del administrador comercial del socio, además de la credencial del administrador comercial del cliente (el método actual).

Nota: Las apps comerciales se pueden usar como una alternativa al inicio de sesión comercial para la autenticación. Consulta la documentación sobre cómo usar apps comerciales.

Requisitos

Tu app debe completar la revisión de apps y recibir los siguientes permisos:

  • catalog_management: solo si la app activará las funciones de catálogo. Como alternativa, puedes solicitar el permiso ads_management si solo deseas administrar anuncios de comerciantes en nombre del cliente.
  • business_creative_management: en caso de que tu app sea una app de contenido que utiliza la API Draper.

Configuración del proceso de inicio de sesión

Para configurar el proceso de inicio de sesión, revisa estas opciones:

Carga del inicio de sesión comercial mediante URL


Para disparar el inicio de sesión comercial mediante URL, coloca un botón en tu sitio que abra una URL.

La URL de inicio de sesión comercial debe tener los siguientes parámetros de consulta:

Campo Descripción

client_id

Tipo: cadena

Obligatorio.

Identificador de la app de Meta.

display

Tipo: cadena

Obligatorio.

Muestra el tipo de inicio de sesión comercial: popup, window o page.

redirect_uri

Tipo: cadena

Obligatorio.

URI de redirección al que redirige la FBE cuando el proceso termina.

response_type

Tipo: cadena

Obligatorio.

Determina si la respuesta de inicio de sesión comercial incluida al producirse el redireccionamiento a la app está en forma de fragmentos o parámetros de URL.

Usa token si necesitas agregar el access_token al URI de redirección como un fragmento de URL o code si prefieres obtener la respuesta como parámetro de URL (debe intercambiarse por un token de acceso mediante una llamada a la API).

scope

Tipo: cadena

Obligatorio.

Se necesitan permisos o alcances: manage_business_extension.

Según el caso de uso, también pueden necesitarse ads_management o catalog_management.

En el caso de una app creativa, el alcance también debe incluir business_creative_management.

extras

Tipo: cadena

Obligatorio.

Contiene la información sobre qué procesos y parámetros verá el usuario durante el proceso. Esto incluye setup y business_config. Consulta los campos extra admitidos.

setup

Tipo: cadena

Obligatorio.

La configuración de Facebook para comerciantes, como el identificador único (external_business_id) o la divisa de su catálogo (currency). Consulta los campos setup admitidos.

business_config

Tipo: cadena

Obligatorio.

Un objeto que la FBE usa para configurar el flujo de trabajo de la FBE. Consulta los campos business_config admitidos.

Si tu app requiere URI de redireccionamiento dinámico, usa el parámetro de estado para devolver la información dinámica al URI de redireccionamiento cuando el proceso de inicio de sesión comercial haya terminado.

Para obtener más información sobre cómo darle formato a la URL y todos los parámetros requeridos, consulta los campos enumerados en Objetos de la API de la extensión Facebook Business y tipos.

En el ejemplo de abajo, el parámetro de consulta extras tiene el formato correcto y define los objetos business_config y setup.

URL de ejemplo

https://facebook.com/dialog/oauth?
client_id=<FB_APP_ID>
&display=page
&redirect_uri="https://partner-site.com/redirectlanding"
&response_type=token
&scope=manage_business_extension
//   alternatively use catalog_management or ads_management
//   &scope=manage_business_extension,catalog_management,ads_management
&extras={
  "setup": {
    "external_business_id": "foo-123",
    "timezone": "America/Los_Angeles",
    "currency": "USD",
    "business_vertical": "APPOINTMENTS"
  },
  "business_config": {
    "business": {
      "name": "Foo Business"
    },
    "page_cta": {
      "enabled": true,
      "cta_button_text": "Book Now",
      "cta_button_url": "https://partner-site.com/foo-business",
      "below_button_text": "Powered by FBE Partner"
    },
    "page_card": {
      "enabled": true,
      "see_all_text": "See All",
      "see_all_url": "https://partner-site.com/foo-business",
      "cta_button_text": "Book"
    },
    "ig_cta": {
      "enabled": true,
      "cta_button_text": "Book Now",
      "cta_button_url": "https://partner-site.com/foo-business"
    },
    "messenger_menu": {
      "enabled": true,
      "cta_button_text": "Book Now",
      "cta_button_url": "https://partner-site.com/foo-business"
    },
    "thread_intent": {
      "enabled": true,
      "cta_button_url": "https://partner-site.com/foo-business"
    }
  },
  "repeat": false
}

Para compilar un proceso de inicio de sesión de forma manual, ingresa la URL de redireccionamiento en el panel de apps:

La URL de redireccionamiento es un mecanismo de protección para las redirecciones de la FBE. Si el redireccionamiento desde la FBE no coincide con el dominio en el campo de URL de redireccionamiento de tu app, la FBE no redireccionará a la URL cuando finalice el proceso.

  1. Ve al panel de apps y elige tu app.
  2. Desplázate hasta Agregar un producto y haz clic en Configurar, en la tarjeta de inicio de sesión con Facebook.
  3. Selecciona Configuración en la ventana de navegación del lado izquierdo.
  4. Desplázate hasta Configuración del cliente de OAuth y escribe la URL de redireccionamiento en el campo URI de redireccionamiento de OAuth válidos.

Al igual que con el inicio de sesión con Facebook normal, al finalizar el proceso, se devuelve un access_token, que usarás para obtener el identificador del píxel, el identificador de la página y el identificador de Instagram para empresas.



Carga del inicio de sesión comercial mediante el SDK de Facebook


Paso 1: Carga el SDK de Facebook para JavaScript.

Puedes descargar el SDK y alojarlo en tu plataforma, o extraer el SDK alojado por Facebook. Recomendamos que uses el SDK alojado por Facebook.

Paso 2: Adjunta la función fbAsyncInit al objeto Window para configurar los ajustes de SDK.

Para poder cargar el SDK para JavaScript, debe existir la función fbAsyncInit en el objeto window. El SDK llamará a la función para configurar la llamada window.fbAsyncInit() adecuada.

Esta configuración incluye lo siguiente:

  • appId: identificador de la app de Facebook.
  • cookie: activa las cookies para permitir que el servidor acceda a la sesión.
  • xfbml: analiza los plugins sociales en esta página.
  • version: le dice al SDK qué versión de API Graph usar (este documento se redactó cuando la versión 6.0 era la más reciente).

Antes de cargar el SDK para JavaScript, adjunta el fbAsyncInit al objeto window.

Paso 3: Inicia la FBE mediante la función FB.login() (también llamada "Inicio de sesión comercial").

Después de cargar el SDK y de iniciarlo con la información adecuada, usa el SDK para cargar FB.login(). Los parámetros importantes que deben completarse para la función FB.login() son los siguientes:

  1. Función de devolución de llamada de respuesta
  2. Objeto para los campos scope y extras
Campo Descripción

scope

Obligatorio.

Los permisos o los alcances necesarios: manage_business_extension y ads_management o catalog_management.

extras

Obligatorio.

Contiene la información sobre qué procesos y parámetros ve el usuario durante el flujo de trabajo de la FBE. Esto incluye setup y business_config.

setup

Obligatorio.

Define la configuración de Facebook para comerciantes, como el identificador único (external_business_id) o la divisa de su catálogo (currency). Consulta los campos setup admitidos.

business_config

Obligatorio.

Un objeto que la FBE usa para configurar el flujo de trabajo de la FBE. Consulta los campos business_config admitidos.

Consulta Objetos de la API de la extensión Facebook Business y tipos para obtener más información.

Ejemplo:

<script>
    window.fbAsyncInit = function() {
    //2. FB JavaScript SDK configuration and setup
        FB.init({
            appId      : '<app_id>', // FB App ID
            cookie     : true,  // enable cookies to allow the server to access the session
            xfbml      : true,  // parse social plugins on this page
            version    : 'v4.0' // uses graph api version v4.0
        });
    };

    //1. Load the JavaScript SDK asynchronously
    (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.js";
        fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));

     //3. Facebook login with JavaScript SDK
    function launchFBE() {
        FB.login(function (response) {
            if (response.authResponse) {
                // returns a User Access Token with scopes requested
                const accessToken = response.authResponse.accessToken;
                const message = {
                    'success':true,
                    'access_token':accessToken,
                };
                // store access token for later  
            } else {
              console.log('User cancelled login or did not fully authorize.');
            }
        }, {
            scope: 'catalog_management,manage_business_extension',
          // refer to the extras object table for details
            extras: {
                "setup":{
                  "external_business_id":"<external_business_id>",
                  "timezone":"America\/Los_Angeles",
                  "currency":"USD",
                  "business_vertical":"ECOMMERCE"
                },
                "business_config":{
                  "business":{
                     "name":"<business_name>"
                  },
                  "ig_cta": {
                    "enabled": true,
                    "cta_button_text": "Book Now",
                    "cta_button_url": "https://partner-site.com/foo-business"
                  }
                },
                "repeat":false
            }
        });
    }
</script>

Paso 4: Crea un botón o enlace para iniciar la FBE.

Para cargar la pantalla, agrega un botón o vincula la función onClick que llama a launchFBE():

<button onclick="launchFBE()"> Launch FBE Workflow </button>

Ingresa la URL de redireccionamiento en el panel de apps:

La URL de redireccionamiento es un mecanismo de protección para los redireccionamientos de la FBE. Si el redireccionamiento desde la FBE no coincide con el dominio en el campo de URL de redireccionamiento de tu app, la FBE no redireccionará a la URL cuando finalice el proceso.

  1. Ve al panel de apps y elige tu app.
  2. Desplázate hasta Agregar un producto y haz clic en Configurar, en la tarjeta de inicio de sesión con Facebook.
  3. Selecciona Configuración en la ventana de navegación a la izquierda.
  4. Desplázate hasta Configuración del cliente de OAuth y, en el campo URI de redireccionamiento de OAuth válidos, ingresa la URL de redireccionamiento.

Dispositivo móvil

Para la implementación de FBE en dispositivos móviles, consulta nuestra documentación sobre celulares.

Más información