Actividades en nombre de una empresa

La API de actividades en nombre de una empresa permite a un socio:

  • Obtener acceso para actuar en nombre de su cliente.
  • Crear un usuario del sistema en el Business Manager del cliente y obtener el identificador de acceso.

Un usuario del sistema es alguien que puede realizar tareas repetitivas mediante programación como, por ejemplo, actualizar un catálogo de productos, enviar eventos entre servidores o actualizar audiencias personalizadas.

En esta situación, el usuario del sistema tiene acceso de empleado y solo puede acceder a los activos asignados (en el momento de la creación) mediante el identificador de acceso de usuario administrador.

La ventaja de utilizar un identificador de acceso de usuario del sistema en lugar de un identificador de acceso de usuario es que los usuarios pueden abandonar la empresa, pero los identificadores de acceso de usuario del sistema no caducan. Con este enfoque, el cliente sigue siendo el propietario de la empresa y permite al socio acceder a su cuenta de Business Manager y a los activos mediante un usuario del sistema. El cliente puede acceder a su cuenta de Business Manager y revocar el usuario del sistema del socio o denegarle el acceso a determinados activos mediante programación.

Empezar

Antes de empezar, te recomendamos que revises los requisitos e información siguientes:

Business Manager para el cliente

Si el cliente ha creado una cuenta comercial mediante Commerce Manager, ya está conectada a su cuenta de Business Manager. Para encontrar su identificador de Business Manager, sigue estas instrucciones.

Si el cliente no tiene una cuenta de Business Manager, crea una antes de continuar. Para obtener instrucciones, consulta API de Business Manager.

Permisos de la aplicación

  • business_management

Identificadores

  • PARTNER_BM_ID: identificador de la cuenta de Business Manager del socio que debería ser propietario de la aplicación.
  • CLIENT_BM_ID: identificador de la cuenta de Business Manager del cliente al que pertenece la página de Facebook conectada a la cuenta de Commerce Manager del cliente.

Identificadores de acceso

  • USERS_ACCESS_TOKEN: identificador de acceso de un administrador de la cuenta de Business Manager del cliente, creado con los permisos business_manage mediante la aplicación que pertenece a la cuenta de Business Manager del socio. Este identificador se genera mediante el inicio de sesión con Facebook.
  • PARTNER_BM_ADMIN_SYSTEM_USER_ACCESS_TOKEN: identificador de acceso del usuario administrador del sistema en la cuenta de Business Manager del socio para la aplicación.
  • CLIENT_BM_SU_ACCESS_TOKEN: identificador de acceso del usuario del sistema en la cuenta de Business Manager del cliente.
  • CLIENT_BM_SU_PAGE_ACCESS_TOKEN: identificador de acceso a la página del usuario del sistema de la cuenta de Business Manager del cliente.

Pasos recomendados

Paso 1

Crea la relación En nombre de entre el socio y la cuenta de Business Manager del cliente.

Al hacerlo, se crea un perímetro de relación entre la cuenta de Business Manager del socio y la cuenta de Business Manager del cliente. Esto permite al socio crear un usuario del sistema con la API en el siguiente paso.

Identificador de acceso utilizado:USERS_ACCESS_TOKEN


curl -i -X POST \
 "https://graph.facebook.com/v21.0/<PARTNER_BM_ID>/managed_businesses?existing_client_business_id=<CLIENT_BM_ID>&access_token=<USERS_ACCESS_TOKEN>"
		

Paso 2

Obtén el identificador de acceso del usuario del sistema en la cuenta de Business Manager del cliente. Esto descarga la aplicación en la cuenta de Business Manager del cliente y crea un usuario del sistema. De forma predeterminada, el nombre del usuario del sistema es “{Client_Business_Manager_Name} SYSTEM USER”. El cliente podrá ver la aplicación del socio en su cuenta de Business Manager como un activo compartido. (No tendrá acceso a la aplicación, excepto como usuario de prueba, como máximo).

En el parámetro scope, incluye los permisos que deba tener el usuario del sistema para poder acceder a los extremos de la API pertinentes. Consulta las referencias de las API correspondientes para obtener más información sobre qué permisos se necesitan para acceder a ellas.

Identificador de acceso utilizado:PARTNER_BM_ADMIN_SYSTEM_USER_ACCESS_TOKEN. Este identificador de acceso necesita el permiso business_management y todos los permisos incluidos en los parámetros scope anteriores.


curl -i -X POST \
 "https://graph.facebook.com/v21.0/<CLIENT_BM_ID>/access_token?scope=ads_management,pages_read_engagement&app_id=<APP_ID>&access_token=<PARTNER_BM_ADMIN_SYSTEM_USER_ACCESS_TOKEN>"
 		

La respuesta contiene el identificador del usuario del sistema que está vinculado a las relaciones de tipo En nombre de. No necesitas crear ni utilizar otro usuario del sistema para las integraciones comerciales.

Paso 3

Obtén el identificador del usuario del sistema.

Identificador de acceso utilizado:CLIENT_BM_SU_ACCESS_TOKEN

curl -i -X GET \
 "https://graph.facebook.com/v21.0/me?access_token=<CLIENT_BM_SU_ACCESS_TOKEN>"
 		

Paso 4

Asigna activos (página y catálogo) al usuario del sistema en la cuenta de Business Manager del cliente.

Identificador de acceso utilizado:USERS_ACCESS_TOKEN

curl -i -X POST \
 "https://graph.facebook.com/v21.0/<ASSET_ID>/assigned_users?user=<SYSTEM_USER_ID>&tasks=MANAGE&access_token=<USERS_ACCESS_TOKEN>"
 		

Paso 5

Guarda el valor de CLIENT_BM_SU_ACCESS_TOKEN en una base de datos segura y utilízalo para acceder a las API que requieran un identificador de acceso de usuario, como la de administración de catálogos.

Paso 6

Genera un identificador de acceso a la página utilizando el valor de CLIENT_BM_SU_ACCESS_TOKEN. Para ello, haz la siguiente llamada:

curl -i -X GET \
 "https://graph.facebook.com/v21.0/me/accounts?access_token=<CLIENT_BM_SU_ACCESS_TOKEN>"
 		

Esta solicitud incluirá todas las páginas administradas por el usuario del sistema y los valores de access_token correspondientes. Ejemplo de respuesta:

{
  "data": [
    {
      "access_token": "<access token sanitized>",
      "category": "Retail Company",
      "category_list": [
        {
          "id": "2239",
          "name": "Retail Company"
        }
      ],
      "name": "Test_Shop_Page",
      "id": "<content sanitized>",
      "tasks": [
        "ANALYZE",
        "ADVERTISE",
        "MODERATE",
        "CREATE_CONTENT",
        "MANAGE"
      ]
    }
  ],
  "paging": {
    "cursors": {
      "before": "<content sanitized>",
      "after": "<content sanitized>"
    }
  }
}

Copia el valor de access_token correspondiente a la página vinculada con la cuenta de Commerce Manager del cliente y guárdalo en un lugar seguro. Deberás usarlo para acceder a las API que requieran un identificador de acceso a la página en nombre de la cuenta de Commerce Manager, como las de administración de pedidos o informes financieros.

Preguntas frecuentes

¿Cómo puedo eliminar una relación En nombre de para poder quitar al usuario del sistema de la cuenta de Business Manager del cliente que se me ha asignado?


curl -i -X DELETE \
 "https://graph.facebook.com/v21.0/<PARTNER_BM_ID>/managed_businesses?existing_client_business_id=<CLIENT_BM_ID>&access_token=<USERS_ACCESS_TOKEN>"
		

Si el cliente quiere eliminar la conexión y el usuario del sistema del socio, puede hacerlo en la vista de la aplicación de la cuenta de Business Manager.