Funciones de empresa a empresa

A partir del 8 de junio de 2021, el acceso a estos puntos de conexión es limitado. Las app que no cuenten con acceso mostrarán un error.

Solicitar acceso a activos

Un administrador comercial puede solicitar acceso a una cuenta publicitaria o a una página que pertenezca a otro administrador comercial. Debe especificar las tareas que desean asignar en la solicitud.

Para asignar un negocio a una página, se necesita un token de página, por ejemplo:

curl 
  -F "business=<BUSINESS_ID>"
  -F "permitted_tasks=['MODERATE', 'ADVERTISE', 'ANALYZE']"   
  "https://graph.facebook.com/<API_VERSION>/<PAGE_ID>/agencies?access_token=<ACCESS_TOKEN>"

Para solicitar acceso de AGENCY, debes proporcionar permitted_tasks en la solicitud. Solo puedes enviar solicitudes al administrador comercial para activos que tienes la intención de aprobar, y es necesario que el administrador comercial ya conozca tu negocio.

Por ejemplo, un negocio que necesita acceso a adaccount_id y poder asignar a sus empleados como ['ADVERTISE', 'ANALYZE'] realizará esta llamada POST:

curl \
  -F "adaccount_id=act_<AD_ACCOUNT_ID>" \
  -F "permitted_tasks=['ADVERTISE','ANALYZE']" \
  "https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/client_ad_accounts?access_token=<ACCESS_TOKEN>"

Del mismo modo que lo que sucede en relación con una página, si quieres asignar tareas ['ADVERTISE', 'ANALYZE'] para una página que no es de tu propiedad:

curl \
  -F "page_id=<PAGE_ID>" \
  -F "permitted_tasks=['ADVERTISE','ANALYZE']" \
  "https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/client_pages?access_token=<ACCESS_TOKEN>" 

Estas llamadas envían una notificación a los respectivos administradores de la cuenta publicitaria o página, que solicitan aceptar la solicitud de acceso. Los administradores respectivos verán la notificación en el administrador de anuncios o en el administrador de páginas. También pueden aceptar la solicitud desde la interfaz de usuario. Si quieres ver solicitudes pendientes mediante la API, haz una solicitud GET para buscar PENDING en el campo access_status.

curl "https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/clients?access_token=<ACCESS_TOKEN>"

Respuesta:

"data": [
 {
    "name": "Random Page", 
    "page_permissions": [
    {
    "id": "1900952844321", 
    "permitted_tasks": [
        'MANAGE',
        'CREATE_CONTENT', 
        'MODERATE',  
        'ADVERTISE', 
        'ANALYZE',
    ], 
    "access_status": "CLIENT_RESPONSE_PENDING", 
    "access_requested_time": "2014-01-07T23:26:09+0000", 
    "access_updated_time": "2014-01-07T23:26:09+0000"
    }
    ], 
    "id": "190137931178903"
 },

Otorgar a otro administrador comercial acceso a activos

Este proceso también se conoce como agregar una agencia a tu objeto.

Para aceptar una solicitud de acceso a un objeto de tu propiedad de parte de otro administrador comercial, o para conceder acceso a un objeto tuyo a otro administrador comercial, debes especificar el negocio y la lista de tareas a las que necesitan obtener acceso.

Si el token de acceso que se utilizó para realizar la llamada a la API pertenece a un usuario o a un usuario del sistema que posee acceso al activo solicitado a través de un negocio, el acceso al activo solo se puede conceder si el negocio es el OWNER del activo en cuestión. No puedes conceder acceso a activos en los que solo figuras como AGENCY.

Por ejemplo, para conceder a alguien el acceso a una cuenta publicitaria con las tareas [ADVERTISE,ANALYZE], usa esta solicitud POST:

curl \
  -F "business=<BUSINESS_ID>" \
  -F "permitted_tasks=['ADVERTISE', 'ANALYZE']" \
  "https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/agencies?access_token=<ACCESS_TOKEN>"

Para conceder a un negocio el acceso a tu página con las tareas [ADVERTISE], [MODERATE] y [ANALYZE]:

curl \
  -F "business=<BUSINESS_ID>" \
  -F "permitted_tasks=['MODERATE', 'ADVERTISE', 'ANALYZE']" \
  "https://graph.facebook.com/<API_VERSION>/<PAGE_ID>/agencies?access_token=<ACCESS_TOKEN>"

Si se concede acceso a una cuenta publicitaria, a veces se requiere una revisión por parte de otro administrador de negocios como medida de seguridad. Esta revisión puede aprobarse en https://business.facebook.com/settings/requests/admin_reviews. En este caso, la respuesta tendrá un campo adicional en el que se indica que se debe realizar una revisión.

{
  "success": true,
  "requires_admin_approval": true
}

Los administradores de páginas también pueden aceptar las solicitudes de acceso de una agencia en la pestaña Manage Admin Roles en la configuración de la página en facebook.com.

Eliminar el acceso a activos

Este proceso también se describe como eliminar agencias de tu negocio. Para eliminar el acceso de un administrador comercial desde tu cuenta publicitaria:

curl \
  -X DELETE \
  -F "business=<BUSINESS_ID>" \
  "https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/agencies?access_token=<ACCESS_TOKEN>"

De modo similar, para eliminar el acceso de un negocio desde tu página:

curl \
  -X DELETE \
  -F "business=<BUSINESS_ID>" \
  "https://graph.facebook.com/<API_VERSION>/<PAGE_ID>/agencies?access_token=<ACCESS_TOKEN>"

Ver el acceso de agencias

Para ver todos los negocios que tienen acceso a tu cuenta publicitaria, haz una llamada GET:

curl "https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/agencies?access_token=<ACCESS_TOKEN>"

Para ver los negocios que tienen acceso a tu página:

curl "https://graph.facebook.com/<API_VERSION>/<PAGE_ID>/agencies?access_token=<ACCESS_TOKEN>"

Para ver los negocios que tienen acceso a tus activos comerciales:

curl "https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/agencies?access_token=<ACCESS_TOKEN>"

Ver el acceso de clientes

Para ver todos los negocios que te otorgaron acceso a una o más de sus cuentas publicitarias o páginas, haz esta llamada GET:

curl "https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/clients?access_token=<ACCESS_TOKEN>"

Managing Your Relationship as an Ad Agency Acting on Behalf of Another Business

These APIs allow you to manage the relationship between your Ad Accounts and the businesses for which you are acting on behalf of (OBO). Creating these relationships allows you to access custom audiences for the business and use of the audience overlap tool.

View OBO Request Details

To view the details of an OBO request, make this GET request:

curl -G \
  -F "access_token=<ACCESS_TOKEN>" \
  "https://graph.facebook.com/<API_VERSION>/<OBO_REQUEST_ID>?fields=id,receiving_business,requesting_business,status,business_owned_object"

The response contains the details of the OBO request and looks like this:

{
  "id": "1111111111",
  "receiving_business": {
    "id": "2222222222",
    "name": "Example Business Name"
  },
  "requesting_business": {
    "id": "3333333333",
    "name": "Example Business Name"
  },
  "status": "IN_PROGRESS",
  "business_owned_object": "1111111111"
}

Delete OBO Request

To cancel a pending request to act OBO another business, make this DELETE request:

curl \
  -X DELETE \
  -F "access_token=<ACCESS_TOKEN>" \
  "https://graph.facebook.com/<API_VERSION>/<OBO_REQUEST_ID>"

The response, indicating success or failure, looks like this:

{
  "success": "true" 
}

View the Status of OBO Requests for an Ad Account

To view the status of requests to act OBO another business for an Ad account, make this GET request:

curl -G \
  -F "access_token=<ACCESS_TOKEN>" \
  "https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/onbehalf_requests?
    fields=id,status,receiving_business,requesting_business&status=<STATUS>"

The status parameter in the request must be APPROVE, DECLINE, or IN_PROGRESS.

The response contains an array with the OBO request objects for an Ad account matching the requested status.

Example response:

{
  "data": [
    {
      "id": "1111111111",
      "status": "IN_PROGRESS",
      "receiving_business": {
        "id": "2222222222",
        "name": "Example Business Name"
      },
      "requesting_business": {
        "id": "3333333333",
        "name": "Example Business Name"
      }
    }
  ]
}

View OBO Requests Received From Other Businesses

To view requests of IN_PROGRESS OBO requests sent to your business, make this GET request:

curl -G \
  -F "access_token=<ACCESS_TOKEN>" \
  "https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/received_inprogress_onbehalf_requests"

The response contains the IN_PROGRESS OBO request IDs and looks like this:

{
  "data": [
    {
      "id": "1111111111"
    },
    {
      "id": "2222222222"
    },
    {
      "id": "3333333333"
    }
  ]
}

View Pending OBO Requests Sent by Your Business

To view OBO requests that were sent by your business that are still in the IN_PROGRESS state, make this GET request:

curl -G \
  -F "access_token=<ACCESS_TOKEN>" \
  "https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/sent_inprogress_onbehalf_requests"

The response contains the IN_PROGRESS OBO request IDs and looks like this:

{
  "data": [
    {
      "id": "1111111111"
    },
    {
      "id": "2222222222"
    },
    {
      "id": "3333333333"
    }
  ]
}