Inicio de sesión con Facebook para empresas

El inicio de sesión con Facebook para empresas es la solución de autenticación y autorización ideal para los proveedores de tecnología que crean integraciones con las herramientas empresariales de Meta con el fin de ofrecer soluciones de marketing, mensajería y ventas.

El inicio de sesión con Facebook para empresas te permite crear una experiencia de inicio de sesión en el panel de apps de Meta en función de las necesidades de tu app. Puedes especificar el tipo de token de acceso, los activos y los permisos que necesita tu app, y guardarlos en la configuración. Durante el inicio de sesión, a los usuarios de tu app se les muestra esta configuración, que les permite otorgar a tu app acceso a sus activos comerciales.

Requisitos

  • Tu app de Meta debe ser una app de tipo de negocios
  • El usuario de tu app debe conceder todos los permisos que tu app solicita durante el inicio de sesión. De lo contrario, no se le concederá ningún permiso.
  • Los permisos email y public_profile se conceden automáticamente a todas las apps, pero al menos uno de los otros permisos admitidos se debe incluir en cada instalación de app.
  • Para prestar servicio a empresas que no son de tu propiedad ni administras, tu app debe obtener aprobación de acceso avanzado a través de la revisión de apps de Meta
  • Las apps con acceso avanzado deben pasar por un proceso de revisión continua para conservar el acceso. No obstante, las apps que utilizan el inicio de sesión con Facebook para empresas tienen menos requisitos en relación con determinadas revisiones de cumplimiento continuas, porque se limitan a acceder a permisos y funciones comerciales.

Permisos admitidos

En la siguiente tabla, se muestran los permisos disponibles para el inicio de sesión con Facebook para empresas.

Permisos disponiblesToken de acceso del usuarioTokens de acceso del usuario del sistema de integración comercial (WhatsApp)
ads_management

ads_read

business_management

catalog_management

commerce_account_manage_orders

commerce_account_read_orders

commerce_account_read_reports

commerce_account_read_settings

commerce_manage_accounts

email

No aplicable

instagram_basic

instagram_content_publish

instagram_manage_comments

instagram_manage_insights

instagram_manage_messages

instagram_shopping_tag_products

leads_retrieval

manage_app_solutions

manage_fundraisers

pages_manage_cta

page_events

pages_manage_ads

pages_manage_engagement

pages_manage_instant_articles

pages_manage_metadata

pages_manage_posts

pages_messaging

pages_read_engagement

pages_read_user_content

pages_show_list

private_computation_access

public_profile

No aplicable

publish_video

read_insights

read_audience_network_insights

whatsapp_business_management

whatsapp_business_messaging

Funciones admitidas

  • Acceso estándar a la administración de anuncios
  • Acceso al perfil del usuario del activo comercial
  • Agente humano
  • Acceso al contenido público de Instagram
  • API de video en vivo
  • Menciones de la página
  • Acceso al contenido público de páginas
  • Acceso a metadatos públicos de páginas

Tokens de acceso compatibles

Puedes usar el inicio de sesión con Facebook para empresas para obtener tokens de acceso del usuario del sistema de integración comercial o tokens de acceso de usuario.

Token de acceso del usuario

Debes usar tokens de acceso de usuario si tu app realiza acciones en tiempo real, en función de las entradas del usuario. Por ejemplo, usa un token de acceso del usuario si tu app solicita a un usuario que ingrese texto y haga clic en un botón para publicar contenido en su página. También debes usar tokens de acceso del usuario si necesitas una API que solicite permisos de administrador en un portfolio comercial.

Tokens de acceso del usuario del sistema de integración comercial

Los tokens de acceso del usuario del sistema de integración comercial deberán usarse si tu app realiza acciones automáticas programáticas en los activos de los clientes de negocios, sin la necesidad de basarse en una entrada de un usuario de la app ni de solicitar la reautenticación en una fecha futura. Por ejemplo:

  • Llamadas a la API de conversión de servidor a servidor, automáticas y por hora.
  • Envío de respuestas automáticas como página de Facebook o como portfolio comercial de WhatsApp.
  • Actualizaciones automáticas continuas de los inventarios del catálogo de productos.
  • Recuperación automática de estadísticas de anuncios.

Requisitos

Para obtener tokens de acceso del usuario de integración comercial a partir de tus clientes de negocios, ten en cuenta lo siguiente:

  • Tu app solo puede solicitar inicios de sesión de plataformas web.
  • Los negocios que se registran en tu app deben tener un portfolio comercial, o bien estar dispuestos a crear uno.
  • Tu app debe estar asociada a un portfolio comercial, del cual tienes control total. Debe ser independiente del portfolio comercial que pertenece a tu cliente comercial.

Para probar el proceso del token de acceso del usuario del sistema de integración comercial, el evaluador debe tener un rol en la app y el control total del negocio del cliente.

Tokens de acceso del usuario del sistema de integración comercial detallados

Si necesitas diferentes configuraciones de acceso para diferentes propósitos o departamentos, puedes usar varios tokens de acceso del usuario del sistema de integración comercial detallados por negocio del cliente, con el fin de mejorar la escalabilidad y la seguridad de tus integraciones.

Los tokens de acceso detallados siguen siendo específicos del portfolio comercial del cliente. No se pueden compartir ni es posible acceder a ellos desde diferentes empresas cliente. Su alcance y lista de activos son un subconjunto del token de acceso del usuario del sistema de integración comercial original.

Con el fin de aislar potenciales incidentes relativos a la seguridad, en caso de que haya un token comprometido, solo ese negocio del cliente se verá afectado y no todos los portfolios comerciales de todos los negocios del cliente.

API de administración del token de acceso del usuario del sistema de integración comercial

Cuando un negocio del cliente instala una app mediante el inicio de sesión con Facebook para empresas y genera un token de acceso del usuario del sistema de integración comercial, el token incluye un identificador del negocio del cliente. Este identificador representa el negocio del cliente, y tu app lo usa para hacer llamadas a la API.

El punto de conexión /<CLIENT_BUSINESS_ID>/system_user_access_tokens te permite administrar tus tokens de acceso del usuario del sistema de integración comercial preexistentes. Las acciones incluyen lo siguiente:

  • Generación de más tokens de acceso del usuario del sistema de integración comercial detallados a partir de los tokens de acceso del usuario del sistema de integración comercial preexistentes
  • Recuperación de tokens de acceso del usuario del sistema de integración comercial
Parámetros
ObjetoDescripción

access_tokenCadena

Obligatorio. El token de acceso requiere el permiso business_management

appsecret_proofCadena

Obligatorio. El appsecret_proof es un hash sha256 del token de acceso que garantiza que las llamadas a la API se hagan desde un servidor más seguro.

assetNúmero entero

Opcional. Si quieres generar un token más detallado, puedes configurar una lista de identificadores de asset, separada por comas. La lista de recursos tendrá que ser un subconjunto de recursos del token de acceso original.

fetch_onlyBooleano

Opcional. La marca que debes usar para obtener el token actual e indicar que la operación es de solo lectura.

scopeBooleano

Opcional. Cuando quieres generar un token más detallado, puedes configurar una lista de identificadores de scope, separada por comas. La lista de recursos tendrá que ser un subconjunto de los alcances del token de acceso original.

set_token_expires_in_60_daysBooleano

Opcional. Cuando generes un nuevo token, configúralo en true para que el token caduque en 60 días.

system_user_idNúmero entero

Opcional. El identificador del usuario del sistema que se incluye en el token de acceso.

Ejemplo de solicitud

El formato se modificó para facilitar la lectura.

curl -i -X POST "https://graph.facebook.com/v21.0/<CLIENT_BUSINESS_ID>/system_user_access_tokens
    ?appsecret_proof=<APPSECRET_PROOF_HASH>
    &access_token=<ACCESS_TOKEN>
    &system_user_id=<SYSTEM_USER_ID>
    &fetch_only=true"

Si la operación se realiza correctamente, tu app recibirá una respuesta JSON con un nuevo token de acceso que podrá utilizarse en las posteriores llamadas a la API.

{
  "access_token": "<NEW_ACCESS_TOKEN>" 
}

Comparación

Tokens de acceso del usuario del sistema de integración comercialToken de acceso del usuario

Designaciones relativas al acceso

El acceso se delega explícitamente en el momento de la autorización. Tu app solo puede acceder a los activos que designó tu cliente de negocios cuando completó el proceso del inicio de sesión con Facebook para negocios. Proveedores de tecnología únicamente.

El acceso se hereda del acceso de la cuenta actual del usuario de la app. Tu app puede acceder a los mismos recursos comerciales a los que tiene acceso el usuario de la app en estos momentos.

Asociación de cuentas

Asociado al portfolio comercial del cliente de negocios, en lugar de a un usuario específico. Los administradores del grupo de administradores del cliente de negocios pueden otorgar a tu app un token de acceso del usuario del sistema.

Asociado a la cuenta personal de Facebook del usuario de la app.

Caducidad y actualización

Según el valor predeterminado, nunca caducan en el caso de las comunicaciones offline comunes de servidor a servidor.

Un token de corta duración en relación con las actividades en línea, como navegadores web.

Tipo de permiso de OAuth

Solo permiso de código de autorización.

Permiso implícito de forma predeterminada, compatible con el permiso de código de autorización para obtener más seguridad. Se usa principalmente en el caso de los clientes basados en agentes de usuario, como navegadores web y apps para celulares.

Representación

Parte de la infraestructura de integración del proveedor de tecnología, inicializada por el negocio del cliente a través de la instalación de la app del proveedor.

Representa a servidores o software que realizan llamadas de la API a activos que son propiedad del administrador comercial.

Invalidación del token

Tus clientes del negocio pueden invalidar los tokens de acceso del usuario del sistema de integración comercial si van a Administrador comercial > Configuración > Configuración del negocio > Integraciones > Apps conectadas y eliminan tu app.

En el caso de los tokens de acceso del usuario, tus clientes del negocio pueden invalidarlos si van a Facebook, se desplazan a Configuración y privacidad > Configuración > Seguridad e inicio de sesión > Integraciones comerciales y eliminan la app.

Experiencia del proceso de inicio de sesión

Proceso de inicio de sesión con el token de acceso de usuarioProceso de inicio de sesión con el token de acceso de usuario de integración comercial
Se produjo un error
Tenemos problemas para reproducir este video.
Se produjo un error
Tenemos problemas para reproducir este video.

Primeros pasos

A continuación, te mostramos los pasos que debes seguir para configurar el inicio de sesión con Facebook para empresas si todavía no tienes una app.

Crear una app

  1. En el panel de apps de Meta, crea una app de tipo de negocios.
  2. Agrega el producto Inicio de sesión con Facebook para empresas.
  3. En el menú de la izquierda, selecciona Configuraciones.
  4. Puedes usar + Crear una configuración para crear una configuración o Crear desde una plantilla para seleccionar una de las configuraciones predeterminadas de Meta. Puedes crear varias configuraciones y mostrarlas a diferentes grupos de usuarios.
  5. Ponle un nombre a tu configuración.
  6. Elige el tipo de token de acceso que deseas solicitar a tus clientes de negocios, un token de acceso de usuario o un token de acceso de usuario del sistema y la fecha de caducidad del token. Si seleccionas "Token de usuario del sistema", los usuarios de tu app iniciarán sesión con su cuenta personal de Facebook. Si seleccionas "Token de acceso del usuario del sistema", los usuarios de tu app deberán iniciar sesión con un portfolio comercial. Esto se exige únicamente si la configuración necesita acceso continuo a los activos comerciales, como páginas de Facebook, cuentas publicitarias o cuentas de Instagram.
  7. Selecciona todos los activos a los que es necesario que acceda tu app.
  8. Selecciona los permisos que necesita tu app y haz clic en Crear.

Recibirás un identificador de configuración que deberás usar en tu código para invocar el cuadro de diálogo de inicio de sesión.

Crear una configuración de registro insertado en la Plataforma de WhatsApp Business

Para crear una configuración de registro insertado en WhatsApp, visita nuestra guía de registro insertado para WhatsApp.

Crear una configuración de la API de conversiones para Business Messaging

Para crear una configuración de la API de conversiones para Business Messaging, visita nuestra guía de la API de marketing sobre la API de conversiones para Business Messaging.

Crear una configuración de la API Graph de Instagram

Para crear una configuración de la API Graph de Instagram, visita nuestra documentación sobre la API Graph de Instagram.

Invocar el cuadro de diálogo de inicio de sesión

Invoca un cuadro de diálogo de inicio de sesión usando uno de nuestros SDK (recomendado) o crea manualmente tu proceso de inicio de sesión.

Invocación con nuestros SDK

Puedes usar cualquiera de nuestros SDK para invocar el cuadro de diálogo si reemplazas la lista de alcances (permisos) que requiere tu app con tu identificador de configuración y el tipo de permiso de OAuth necesario del token de acceso.

Si no tienes experiencia con nuestros SDK, te recomendamos que primero instales el SDK para JavaScript y que, antes de continuar, lo hagas funcionar con el producto de inicio de sesión con Facebook para consumidores, como se muestra en los siguientes ejemplos que hacen referencia al SDK.

Configuración del token de acceso del usuario del sistema de integración comercial

Aquí te mostramos un ejemplo del método FB.login() del SDK para JavaScript, que se modificó para configurar un token de acceso del usuario del sistema. Ten en cuenta que config_id reemplazó a scope (que no se debe usar), se configuró el response_type en code, dado que los SUAT requieren el tipo de permiso del código de autorización, y el override_default_response_type se debe configurar en true. Si es verdadero, cualquier tipo de respuesta que se pase en el response_type tendrá prioridad sobre los tipos predeterminados.

FB.login(
  function(response) [
    console.log(response);
  ],
  [
    config_id: '<CONFIG_ID>',
    response_type: 'code',
    override_default_response_type: true
  ]
);

Cuando el usuario complete el proceso del cuadro de diálogo de inicio de sesión, lo redirigiremos automáticamente a tu URL de redireccionamiento e incluiremos un código. Luego, deberás intercambiar este código por un token de acceso, para lo que es necesario realizar una llamada de servidor a servidor a nuestros servidores.

GET https://graph.facebook.com/v21.0/oauth/access_token?
  client_id=<APP_ID>
  &client_secret=<APP_SECRET>
  &code=<CODE>

Consulta Intercambiar código por un token de acceso para obtener más información sobre este paso.

Configuración de tokens de acceso del usuario

Aquí te mostramos un ejemplo del método FB.login() del SDK para JavaScript, que se modificó para configurar el token de acceso de usuario. Ten en cuenta que config_id reemplazó a scope (aunque se puede seguir usando scope, te recomendamos no hacerlo).

FB.login(
  function(response) {
    console.log(response);
  },
  {
    config_id: '<CONFIG_ID>' // configuration ID goes here
  }
);

Aquí te mostramos un ejemplo del botón de inicio de sesión del SDK para JavaScript, que se modificó para configurar el token de acceso de usuario:

<fb:login-button config_id="<CONFIG_ID>" onlogin="checkLoginState();"></fb:login-button>

Creación manual de un proceso de inicio de sesión

Consulta Crear un proceso de inicio de sesión de forma manual para obtener información sobre cómo invocar el cuadro de diálogo de inicio de sesión de manera manual. Al invocar el cuadro de diálogo de inicio de sesión y configurar la URL de redireccionamiento, incluye el identificador de tu configuración como parámetro opcional (aunque aún se puede incluir el alcance, te recomendamos no hacerlo).

config_id=<CONFIG_ID>

Cambiar al inicio de sesión con Facebook para empresas

Te recomendamos realizar pruebas e informarte sobre los problemas que puedan surgir antes de cambiar al inicio de sesión con Facebook para empresas.

El inicio de sesión con Facebook para empresas está disponible en las apps de tipo de negocios.

Si tu app cumple los requisitos para cambiar al inicio de sesión con Facebook para empresas, deberías poder ver un banner de opción al seguir los pasos que se indican a continuación:

  1. Selecciona tu app en el panel de apps.
  2. Ve al producto Inicio de sesión con Facebook o agrégalo.
  3. Haz clic en Configuración o Inicio rápido, en el menú del lado izquierdo.
  4. Haz clic en el botón "Primeros pasos para el inicio de sesión con Facebook para empresas" en la parte superior de la página.

Ten en cuenta que tus tokens de acceso actuales no se verán afectados al cambiar al inicio de sesión con Facebook para empresas. Además, toda app de prueba vinculada a esta app también cambiará al inicio de sesión con Facebook para empresas.

Después de realizar el cambio, tu app se encontrará dentro del tipo "Negocios". Si tu app no funciona como estaba previsto, podrá volver al inicio de sesión con Facebook dentro de los 30 días posteriores al cambio.

Solución de problemas

Es posible que los clientes comerciales vean mensajes de error por los siguientes motivos:

  • El identificador de configuración no es válido
  • El token de acceso del usuario del sistema del administrador comercial no es compatible actualmente con los dispositivos móviles
  • El token de acceso del usuario del sistema del administrador comercial está configurado con el "response_type" incorrecto

Posibles cambios radicales:

  • Si actualmente el tipo de tu app es Ninguno, cuando cambies al inicio de sesión con Facebook para empresas, se cambiará el tipo a Negocios y la app solo conservará el acceso a los permisos, funciones y productos que se enumeran arriba.
  • Si solicitas permisos o funciones de clientes comerciales no compatibles con el inicio de sesión con Facebook para empresas, dichos permisos o funciones serán revocados de inmediato una vez que cambies la app al inicio de sesión con Facebook para empresas.
  • Si solicitas únicamente email o public_profile a tus clientes comerciales, cambiar la app al inicio de sesión con Facebook para empresas provocará que caduque la validez de todos los tokens instalados previamente para estos clientes.
  • Si tu app tiene el inicio de sesión con Facebook para empresas y la extensión de Meta para empresas, la experiencia de la extensión de Meta para empresas estará limitada a los permisos que sean compatibles con el inicio de sesión con Facebook para empresas.
  • Es posible que el acceso al perfil del usuario del activo comercial afecte la forma en que se accede a los datos del perfil del usuario y se administran a través de nuestras API.
  • Ten en cuenta lo siguiente: Si el cuadro de diálogo de inicio de sesión del inicio de sesión con Facebook para empresas se invoca desde el identificador de configuración y tú decides volver al inicio de sesión con Facebook, es posible que el cuadro de diálogo de inicio de sesión no se pueda cargar, ya que el inicio de sesión con Facebook no admite el parámetro config_id. En ese caso, reemplaza el parámetro config_id por el parámetro scope.

Obtén más información sobre la extensión de Meta para empresas.

Volver al inicio de sesión con Facebook

Esta función solo está disponible si una app preexistente cambió al inicio de sesión con Facebook para empresas. Las apps de tipo de negocios que se crearon recientemente no pueden volver al inicio de sesión con Facebook.

Después de volver al inicio de sesión con Facebook para empresas, si tu app no funciona según lo esperado, puedes volver al inicio de sesión con Facebook. Para ello, ve al panel de apps > Inicio de sesión con Facebook para empresas > Configuración y haz clic en el enlace Cambiar al inicio de sesión con Facebook. Se te mostrará una encuesta, que nos ayudará a mejorar la experiencia a la hora de configurar el inicio de sesión con Facebook para empresas. Las apps pueden volver al inicio de sesión con Facebook dentro de los 30 días posteriores al cambio.

Preguntas frecuentes

The easiest way to add Facebook Login for Business is to create a new Business Type app, where Facebook Login for Business is automatically available, and request supported business permissions through Meta App Review. If you want to use it for an existing None type app, your app must have advanced access to at least one supported business permission.

If you are not a Tech Provider building solutions using Meta’s business APIs, Facebook Login is recommended for consumer authentication.

Only request the minimum permissions necessary for your app's functionality. Be transparent with users about why you need each permissions and features. Note that the email and public_profile permissions must be requested with at least one other supported business permission.

Yes, advanced access to the public_profile permission is required for Facebook Login for Business apps before they go live. This requirement is crucial to ensure that the app can support authorization from users who do not have an app role, commonly referred to as external users.