Incorporación de contenido de FBE

La extensión de Facebook para empresas (FBE) permite a tus usuarios subir activos de contenido fácilmente en la familia de aplicaciones de Meta mediante la conexión de un Business Manager nuevo o existente. Con el Business Manager devuelto después de completar este proceso, los socios pueden subir activos de contenido a Facebook en nombre de sus clientes:

En este documento se destacan los requisitos previos principales del proceso de contenido de FBE, junto con los pasos necesarios para completarlo. Consulta la guía de la extensión de Facebook para empresas para obtener detalles sobre las integraciones generales.

Ejemplo: proceso de incorporación desde la interfaz del socio (inicio de sesión empresarial)

Antes de empezar

  1. Regístrate como desarrollador de Facebook para acceder a nuestras herramientas para desarrolladores y crear aplicaciones de Facebook.

  2. Si aún no lo has hecho, crea una aplicación de Meta.

  3. Un Business Manager que sea una empresa verificada debe ser el propietario de tu aplicación de Meta. Obtén más información sobre cómo verificar tu empresa.

  4. Crea una aplicación de prueba y utilízala para completar los nuevos procesos de desarrollo y pruebas. Asegúrate de asignar un Business Manager diferente a la aplicación de prueba.

  5. Permisos privados/función:

  • manage_business_extension: acceso a la extensión de Facebook para empresas. Una vez que esta función se emita a tu aplicación, puedes buscar el panel para desarrolladores de FBE en Productos.

  • Business_creative_asset_management: acceso a las API de administración de activos relacionados con el contenido. Una vez concedida esta función, puedes acceder a los siguientes permisos:

    • business_creative_insights: accede a insights de activos de contenido del negocio.

    • business_creative_management: permite a tu aplicación crear, editar y compartir carpetas nuevas, así como subir activos a dichas carpetas en el contexto de tu propia entidad empresarial.

    • business_creative_insights_share (en desarrollo): permiso opcional utilizado en el proceso de compartir carpeta. Si el usuario lo concede, tu aplicación podrá compartir la carpeta de contenido con otras empresas y permitir que estas vean insights de activos de contenido.

Después de completar la revisión de la aplicación

Genera un identificador de acceso de socio:

  • Para generar un identificador de acceso de usuario del sistema en tu Business Manager, sigue estas instrucciones.

  • Asegúrate de que este identificador tenga los permisos business_creative_insights, business_creative_management y business_management seleccionados en el paso de “ámbitos disponibles”.

Implementar el botón “Enviar mi diseño a Facebook”

Este botón se utiliza para enviar un activo a la biblioteca de Facebook Media del usuario desde tu aplicación. Durante este proceso, la aplicación deberá permitir que el usuario seleccione o cree una carpeta a la que enviar el activo.

Se recomiendan dos enfoques para llevar a cabo esta acción:

1. (Como mínimo) El usuario solo tiene la opción de elegir o crear un carpeta de nivel superior. En el contexto empresarial seleccionado, consulta todas las carpetas de nivel superior a las que el usuario tiene acceso. Pide al usuario que elija una carpeta de nivel superior existente o que cree una nueva. Los usuarios pueden especificar el nombre de la carpeta o utilizar el nombre de carpeta predeterminado <YourBusinessName>_<UserBusinessName>_<UserName>. Sube activos a la carpeta de nivel superior nueva o seleccionada. Este enfoque requiere un trabajo mínimo de la IU. Los detalles de la API se pueden consultar en el paso 3 más abajo.

2. (Opcional) El usuario tiene control total sobre la navegación de carpetas y subcarpetas. En el contexto empresarial seleccionado, consulta todas las carpetas de nivel superior a las que el usuario tiene acceso y pídele que elija una carpeta de nivel superior existente o cree una nueva. En el caso de una carpeta nueva, pide al usuario que asigne un nombre a la carpeta o que utilice el nombre predeterminado <YourBusinessName>_<UserBusinessName>_<UserName>. En la carpeta de nivel superior seleccionada, el usuario tiene la opción de navegar a una subcarpeta existente, de crear una subcarpeta nueva o de subir activos. Con esta opción, deberás implementar la navegación de carpetas en la IU. Las instrucciones de integración de la API se pueden consultar en el paso 3 y el paso 4 a continuación.

Los pasos específicos necesarios para implementar este proceso son los siguientes:

  1. Implementar la extensión de Facebook para empresas
  2. Obtener el contexto empresarial
  3. Seleccionar o crear una carpeta de nivel superior
  4. Seleccionar o crear una subcarpeta
  5. Subir imágenes o vídeos
  6. Solicitar que la carpeta se comparta contigo (opcional)
  7. Ver insights de imágenes o vídeos (opcional)

1. Implementar la extensión de Facebook para empresas

Cuando el usuario envía un activo de contenido a Facebook por primera vez, debes solicitar a la extensión de Facebook para empresas que pida al usuario que se autentique y que conceda a tu aplicación los permisos necesarios y acceso a los activos, en forma de identificadores de acceso, para poder acceder a sus datos en Facebook. Consulta Extensión de Facebook para empresas: Empezar para implementar la extensión de Facebook para empresas en tu aplicación. Sigue la guía de aplicaciones empresariales para permitir que tu aplicación se muestre en estas aplicaciones.

Para iniciar el proceso de contenido:

  • Pasar channel: CREATIVE y business_vertical: CREATIVE en la configuración.
  • Usar los permisos business_creative_management y business_creative_insights.
    • Obligatorio para consultar identificadores empresariales, crear carpetas y subir activos de contenido a la carpeta.
  • (Opcional) Usar el permiso business_creative_insights_share.
    • Permite al usuario compartir contigo la carpeta con permiso para llevar a cabo la tarea VIEW_INSIGHTS.

Con el identificador de acceso de usuario devuelto de esta invitación a compartir, puedes realizar llamadas a la API en nombre del usuario.

Configuraciones obligatorias

Elementos adicionales

CampoTipoDescripción

setup

Configuración

Obligatorio

Configuración de Facebook del vendedor, por ejemplo, su identificador único (external_business_id) o la divisa de su catálogo (currency). Consulta los detalles del objeto de configuración.

business_config

business_config

Obligatorio

Objeto de configuración que utiliza la extensión de Facebook para empresas a fin de configurar el proceso de trabajo de dicha extensión. Consulta los detalles del objeto business_config.

repeat

Booleano

Obligatorio

Establece este valor en false.

Configuración

Utiliza este objeto para definir la configuración para la presencia en Facebook del usuario final.

CampoDescripción

external_business_id
Tipo: cadena

Obligatorio.
Identificador único de la empresa que representa la empresa de tu cliente. Lo utilizamos como identificador único. Por ejemplo, si la empresa del vendedor se denomina “Fubar”, “fubar-123” podría ser su external_business_id.

timezone
Tipo: cadena

Obligatorio.
Zona horaria en la que está ubicada la empresa. Consulta los valores posibles de zona horaria.

currency
Tipo: cadena

Obligatorio.
Código de divisa ISO de tres letras de la divisa predeterminada que utilizan los artículos del catálogo de la empresa. Consulta los códigos de divisa admitidos.

business_vertical
Tipo: enumeración

Obligatorio.
Sector asociado a la empresa
Valores:CREATIVE

channel
Tipo: enumeración

Obligatorio.
Proporciona una forma de que el socio exprese la intención del usuario en relación con las funciones que requieren pasos adicionales o limitaciones. Valor: CREATIVE.

  • CREATIVE: proceso que permite a los usuarios crear contenido en plataformas de socios y luego compartirlo con el Business Manager del usuario.

business_manager_id
Tipo: cadena

Opcional.
Identificador de la cuenta de Business Manager existente del usuario que un socio puede introducir para seleccionarlo previamente para el usuario en el proceso de configuración.

Configuración empresarial

Utiliza este objeto para establecer la configuración empresarial para un usuario final. Incluye llamadas a la acción, una tarjeta de servicios, etc. Cada campo incluye un “tipo” vinculado a las tablas correspondientes que hay a continuación.

CampoDescripción

business
Tipo: FBEBusinessPropertiesConfigData

Obligatorio.
Información de la empresa del usuario final.

FBEBusinessPropertiesConfigData

Utiliza este objeto para configurar el nombre de las empresas.

CampoDescripción

name
Tipo: cadena

Obligatorio.
Nombre de la empresa

2. Obtener el contexto empresarial

Cuando el usuario termine el proceso de incorporación de FBE anterior, recibirás el identificador de Business Manager y el identificador de acceso del usuario desde la API de instalación de FBE o la notificación de webhooks.

3. Seleccionar o crear una carpeta de nivel superior

Los usuarios pueden subir activos a la carpeta de nivel superior o crear subcarpetas en dicha carpeta.

Primero, compruebas las carpetas de nivel superior en las que el usuario tiene permiso para realizar la tarea CREATE_CONTENT. Para ello, realiza una solicitud al extremo <business_id>/creative_folders (en desarrollo).

Obtener la carpeta de nivel superior de la empresa del usuario

Solicitud

curl -X GET \
    -F 'access_token={user-access-token}' \
https://graph.facebook.com/<API_VERSION>/<user_business_id>/creative_folders?filtering=[{field:"permitted_tasks", operator: "EQUAL", value:"create_content"}]

Respuesta

{
 "id": "<folder_id>"
}

Pide al usuario que elija una carpeta de nivel superior existente o que cree una nueva en el contexto del Business Manager del usuario. En el caso de una carpeta de nivel superior nueva, puedes pedir al usuario que asigne un nombre a la carpeta o utilizar <YourBusinessName>_<UserBusinessName>_<UserName> de forma predeterminada. Si luego el usuario comparte la carpeta contigo, será visible para tu empresa y para la del usuario en la biblioteca de activos de Facebook.

Nota: El nombre de la empresa del usuario se puede obtener mediante una solicitud GET al extremo {business-id}, donde {business-id} es el identificador de la empresa del usuario.

Obtener la solicitud de información de la empresa del usuario

Solicitud

curl -X GET \
    -F 'access_token={user-access-token}' \
    https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>

Respuesta

{
 "id": {business-id}
 "name": {user-business-name}
}

Crear la solicitud de la carpeta de nivel superior

Solicitud

curl -X POST \
    -F "name={folder_name}"
    -F "description={description}"
    -F 'access_token={user-access-token}' \
    https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/creative_folders

Respuesta

{
 "id": {top-level-folder-id}
}

4. Seleccionar o crear una subcarpeta

Si quieres admitir el proceso de navegación de carpetas completo, pide al usuario que elija una subcarpeta existente o que cree una nueva en la carpeta de nivel superior con las solicitudes siguientes:

Obtener una subcarpeta

  • Requiere el permiso business_creative_management

Solicitud

curl -X GET \
    -F 'access_token={user-access-token}' \
    https://graph.facebook.com/<API_VERSION>/<parent_folder_id>/subfolders?fields=name

Respuesta

{
 "data": [
   {
     "name": "<subfolder_name>",
     "id": "<subfolder_id>"
   }
 ]
}

Crear una subcarpeta

  • Requiere el permiso business_creative_management

Solicitud

curl -X POST \
    -F "name={folder_name}"
    -F "description={description}"
    -F "parent_folder_id={parent-folder-id}"
    -F 'access_token={user-access-token}' \
 https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/creative_folders

Respuesta

{
    "id": {sub-folder-id}
}

Para eliminar la carpeta y la subcarpeta, puedes enviar una solicitud DELETE al extremo <folder_id> o <subfolder_id>.

5. Subir imágenes y vídeos a una subcarpeta

Sube activos de contenido del usuario a la subcarpeta.

  • Requiere el permiso business_creative_management

Subir imágenes

Solicitud

curl -X POST \
    -F 'bytes={image-content-in-bytes-format}' \
    -F 'name={image-name}' \
    -F 'access_token={user-access-token}' \
    -F 'creative_folder_id={subfolder-id}' \
    https://graph.facebook.com/{version}/{business-id}/images

Respuesta

{
    "images":{
         "{image-name}":{
             "id":"{business-creative-image-id}",
             "hash":"{hash}",
             "url":"{image-url}"
         }
    }
}

Subir vídeos

Sube un vídeo en una solicitud única si tiene un tamaño de pocos megabytes. De lo contrario, súbelo en fragmentos (consulta la sección siguiente). Realiza la llamada a la API para subir vídeo en graph-video.facebook.com en lugar de graph.facebook.com.

Ejemplo: envía una solicitud POST a {business-id}/video e incluye el nombre del vídeo, el origen y el identificador de la subcarpeta.

Solicitud

curl -X POST \
    -F 'name={video-name}' \
    -F 'source='&#064;&#123;video-path&#125;'' \
    -F 'access_token={user-access-token}' \
    -F 'creative_folder_id={subfolder-id}' \
    https://graph-video.facebook.com/{version}/{business-id}/videos

Respuesta

{
  "success": true,
  "business_video_id": "<business_video_id>"
}

Subir vídeos en fragmentos

En el caso de vídeos de mayor tamaño, envía una solicitud de inicio, una o varias solicitudes de transferencia y una solicitud de finalización.

Para realizar una solicitud de inicio y crear una sesión de subida de vídeos, envía una solicitud POST a /{business-id}/videos, establece el campo upload_phase para que se inicie y especifica el valor de file_size en bytes

Solicitud

curl -X POST \
 -F 'title={video-name}' \
 -F 'creative_folder_id={subfolder-id}' \
 -F 'access_token={user-access-token}' \
 -F 'upload_phase=start' \
 -F 'file_size={video_file_size_in_bytes}' \
 https://graph-video.facebook.com/<API_VERSION>/<BUSINESS_ID>/videos

Respuesta

{
    "upload_session_id": "{session-id}",
    "video_id": "{video-id}",
    "start_offset": "0",
    "end_offset": "52428800"
}

Para subir el intervalo [0, 52428800] del vídeo, segmenta el archivo en fragmentos de acuerdo con los desfases inicial y final y, a continuación, envía los fragmentos con solicitudes de transferencia. Te enviamos nuevos desfases para cada fragmento. Utilízalos para subir cada uno de los fragmentos.

Ejemplo: envío del primer fragmento

Solicitud

curl -X POST \
    -F 'title={video-name}' \
    -F 'access_token={user-access-token}' \
    -F 'creative_folder_id={subfolder-id}' \
    -F 'upload_phase=transfer' \
    -F 'upload_session_id={session-id}' \
    -F 'start_offset=0' \
    -F 'video_file_chunk=@{binary-chunk-filename}' \
    https://graph-video.facebook.com/<API_VERSION>/<BUSINESS_ID>/videos

Respuesta

Si la operación se realiza correctamente, respondemos con los desfases del siguiente fragmento.

{
  "start_offset": "52428800", //Start byte position of the next file chunk
  "end_offset": "104857601" //End byte position of the next file chunk
}

Corta y sube el segundo fragmento con el intervalo [52428800, 104857601] del archivo y envíalo:

Solicitud

curl -X POST \
    -F 'title={video-name}' \
    -F 'access_token={user-access-token}' \
    -F 'creative_folder_id={subfolder-id}' \
    -F 'upload_phase=transfer' \
    -F 'start_offset=52428801' \
    -F 'upload_session_id={your-upload-sesson-id}' \
    -F 'video_file_chunk={binary-chunk-filename}' \
    https://graph-video.facebook.com/<API_VERSION>/<BUSINESS_ID>/videos

Respuesta

Envía todos los demás fragmentos hasta que el valor de start_offset sea igual al de end_offset:

{
 "start_offset": "152043520",
 "end_offset": "152043520"
}

La respuesta anterior significa que has subido todo el archivo. Ahora debes publicar el vídeo y cerrar la sesión de subida.

Solicitud

curl -X POST \
    -F 'title={video-name}' \
    -F 'access_token={user-access-token}' \
    -F 'creative_folder_id={business-creative-folder-id}' \
    -F 'upload_phase=finish' \
    -F 'upload_session_id={session-id}' \
    https://graph-video.facebook.com/<API_VERSION>/<BUSINESS_ID>/videos

Si recibes errores durante una subida, puedes volver a intentar subir el fragmento que se estaba procesando. Los errores suelen deberse a problemas de respuesta. Vuelve a intentar subir el fragmento que ha generado el error. Para obtener más información sobre los errores, consulta:

La aplicación debe notificar al usuario que la subida se ha llevado a cabo correctamente, y presentar un enlace profundo a este contenido detrás de una llamada a la acción “Ver contenido en mi biblioteca de activos de Facebook”. El enlace profundo de la carpeta o el activo es el siguiente:

https://business.facebook.com/asset_library/business_creatives/?object_id={asset_id or folder id} (en desarrollo)

Este enlace dirige al usuario a la página de selección de empresa si este tiene varios Business Manager. Para eliminar la ambigüedad de la empresa, puedes proporcionar el contexto empresarial en la URL como se indica a continuación:

https://business.facebook.com/asset_library/business_creatives/?object_id={asset_id or folder id}&business_id={client_business_id}

La URL del enlace profundo también se puede obtener mediante una solicitud GET en el extremo:

curl -X GET \
    /<folder_id or asset_id>
        ?fields=['media_library_url']
        &access_token=<user_access_token>

El enlace permite al usuario ir a la carpeta o al activo directamente en la biblioteca de activos de Facebook.

6. Solicitar que la carpeta se comparta contigo (opcional)

Puedes solicitar que la carpeta de nivel superior se comparta contigo si quieres administrar la carpeta o ver insights de los activos. Envía una solicitud POST a: {business-creative-folder-id}/agencies y asigna permitted_tasks a CREATE_CONTENT.

Nota: También puedes asignar la tarea permitida VIEW_INSIGHTS si el usuario concede el permiso business_creative_insights_share a tu aplicación (en desarrollo).

Compartir carpeta

  • Requiere el permiso business_creative_management

Solicitud

curl -X POST \
    -F 'permitted_tasks=['CREATE_CONTENT','VIEW_INSIGHTS']' \
    -F 'business={partner-business-id} ' \
    -F 'access_token={user-access-token}' https://graph.facebook.com/<API_VERSION>/<BUSINESS_CREATIVE_FOLDER_ID>/agencies

La respuesta puede ser de dos tipos según el rol del usuario en la organización empresarial:

1) Si el identificador del cliente representa a un administrador del negocio:

La API establecerá un acuerdo de colaboración entre la empresa del usuario y la del cliente.

Respuesta

Si existe un acuerdo de colaboración formalizado entre la empresa del usuario y la tuya (la empresa del usuario ha compartido una carpeta contigo y has aceptado antes una solicitud para compartir):

{ 
    "success": true
}

Si todavía no has aceptado ninguna solicitud para compartir de la empresa del usuario:

{
    "success": true,
    "share_status": "In Progress"
}

En este escenario, tu empresa deberá aceptar la solicitud para compartir para poder acceder a todas las funciones habilitadas por el recurso compartido (ver, crear, etc).

Para enumerar todos los acuerdos de colaboración que están pendientes de aprobación, envía una solicitud a {business-id}/received_sharing_agreements mediante el identificador de acceso del socio y establece request_status en IN_PROGRESS. Necesitas los permisos business_creative_management y business_management para llevar a cabo esta acción.

Enumerar todos los acuerdos de colaboración

Solicitud

curl -i -X GET https://graph.facebook.com/<API_VERSION>/<PARTNER_BUSINESS_ID>/received_sharing_agreements
    ?request_status=IN_PROGRESS
    &access_token={partner-access-token}"

Para aceptar una solicitud para compartir, puedes enviar una solicitud POST a business_sharing_agreement_request_id y establecer request_status en APPROVE. Solo tienes que realizar esta operación la primera vez que alguien comparte una carpeta con tu empresa. Necesitas el permiso business_management para llevar a cabo esta acción:

Aceptar acuerdos de colaboración

Solicitud

curl -X POST \
    -F 'request_status=APPROVE' \
    -F 'access_token={partner-access-token}' \
https://graph.facebook.com/<API_VERSION>/<BUSINESS_SHARING_AGREEMENT_REQUEST_ID>

Respuesta

{ 
    "success": true
}

También puedes aprobar solicitudes para compartir pendientes en la IU de Business Manager. Para ver las solicitudes pendientes en Business Manager, dirígete a Configuración > Solicitudes > Solicitudes recibidas, donde puedes ver más información sobre la solicitud.


2) Si el identificador del cliente representa un empleado del negocio:

La API activa un proceso de trabajo de notificación para enviar una notificación por correo electrónico a los administradores del negocio para que aprueben la solicitud.

Respuesta

{
   "success": true,
   "share_status": "Pending"
}

En respuesta a este estado, tu aplicación debe notificar al usuario las acciones siguientes:

  • Se ha iniciado una solicitud para el administrador del negocio por correo electrónico para que este apruebe la solicitud para compartir.
  • Se ha enviado otro correo electrónico al usuario en relación con la solicitud.

Para enumerar todos los acuerdos pendientes que se han iniciado en la empresa del usuario, envía una solicitud a {business-id}/attempted_sharing_agreements, y establece request_status en IN_PROGRESS y requesting_business_id en el identificador de Business Manager del usuario. Necesitas los permisos business_creative_management y business_management para llevar a cabo esta acción.

Enumerar todos los acuerdos para compartir carpetas pendientes

Solicitud

curl -i -X GET \ https://graph.facebook.com/<API_VERSION>/<PARTNER_BUSINESS_ID>/attempted_sharing_agreements
    ?request_status=IN_PROGRESS
    &requesting_business_id=<user_business_id>
    &access_token={partner-access-token}

Enumerar todos los acuerdos para compartir carpetas pendientes con el identificador de la solicitud

Asimismo, si tienes el identificador de la solicitud, puedes enviar una solicitud a {request_id} para obtener el estado directamente.

  • Requiere el permiso business_creative_management

Solicitud

curl -i -X GET  \
    https://graph.facebook.com/<API_VERSION>/<REQUEST_ID>?fields=status

Cuando un administrador del negocio aprueba la solicitud, el estado cambia a APPROVE y la carpeta se comparte con tu Business Manager si la empresa del usuario y la tuya han formalizado un acuerdo (la empresa del usuario ha compartido una carpeta contigo y tú has aceptado antes una solicitud para compartir). De lo contrario, el valor de share_status se actualiza a IN_PROGRESS. Puedes enumerar todos los acuerdos de colaboración con el estado IN_PROGRESS y aceptarlos a través de la API o en la IU de Business Manager.

7. Ver insights de imágenes o vídeos (opcional)

Cuando el usuario comparte una carpeta contigo con el permiso para realizar la tarea VIEW_INSIGHTS, puedes leer insights de imágenes y vídeos de la empresa en la carpeta compartida mediante una solicitud GET en el extremo <business_asset_id>/insights.

Insights de contenido del negocio

  • Requiere los permisos business_creative_management y business_creative_insights.

Solicitud

curl -i -X GET  \
https://graph.facebook.com/<API_VERSION>/<BUSINESS_ASSET_ID>/insights
    ?breakdowns=["age","gender"]
    &fields=impressions,inline_link_clicks,age,gender,date_start,
    &time_range={"since":"2019-08-01","until":"2019-08-22"}
    &access_token={partner-access-token}"

Respuesta

{
 "data": [
   {
     "impressions": 99,
     "inline_link_clicks": 1,
     "age": "18-24",
     "gender": "female",
     "date_start": "2019-08-01",
     "date_end": "2019-08-22"    },
   {
     "impressions": 198,
     "inline_link_clicks": 2,
     "age": "18-24",
     "gender": "male",
     "date_start": "2019-08-01",
     "date_end": "2019-08-22"    },
   {
     "impressions": 464,
     "inline_link_clicks": 2,
     "age": "25-34",
     "gender": "female",
     "date_start": "2019-08-01",
     "date_end": "2019-08-22"    },
 ]
}

El desglose se puede realizar por:

  • gender
  • age
  • country
  • publisher_platform
  • platform_position
  • device_platform
  • ad_id
  • objective
  • optimization_goal
  • time_range (requiere una fecha con el formato “AAAA-MM-DD”, es decir a partir de la medianoche del día indicado).

Administración de la carpeta compartida con el identificador del socio directamente

Para los socios de servicios administrados, puedes administrar la carpeta de nivel superior con un identificador de acceso de socio si la carpeta se ha compartido contigo con permisos para las tareas adecuadas, que te permiten:

  • Permiso para la tarea CREATE_CONTENT en la carpeta, que permite a tu aplicación crear subcarpetas y subir imágenes y vídeos a la carpeta.
  • (Opcional para los usuarios) Permiso para la tarea VIEW_INSIGHTS, que tu aplicación puede utilizar para ver insights de rendimiento de todos los activos de contenido almacenados en la carpeta.

1. Comprobar el permiso de la carpeta principal

Llama al extremo <business_id>/creative_folders para obtener todas las carpetas principales que se han compartido contigo en la empresa del usuario.

  • Requiere el permiso business_creative_management

Obtener carpetas de la empresa del usuario

Solicitud

curl -X GET \
     -F 'access_token={partner-access-token}' \  https://graph.facebook.com/<API_VERSION>/<partner_business_id>/creative_folders?filtering=[{field:"owner_business_id", operator:"EQUAL", value:"user_business_id"}]

Respuesta

{ 
    "data": [
       { 
            "id": "<shared_folder_id>" 
       }
    ]
}

Obtener las tareas permitidas que tienes en la carpeta

Solicitud

curl -X GET \
 -F 'access_token={partner-access-token}' \
 https://graph.facebook.com/<API_VERSION>/<folder_id>/agencies

Respuesta

{
 "data": [
   {
     "id": "<partner_business_id>",
     "name": "<partner business name>",
     "permitted_tasks": [
       "VIEW_INSIGHTS",
       "VIEW_CONTENT",
       "CREATE_CONTENT",
       "MANAGE_CONTENT",
       "MANAGE_PERMISSIONS"]
   }
 ],
}
  • El permiso para la tarea CREATE_CONTENT es necesario para subir imágenes y vídeos en una carpeta compartida.
  • El permiso para la tarea VIEW_INSIGHTS es necesario para consultar insights de contenido de imágenes o vídeos en una carpeta compartida.

2. Crear una subcarpeta en la carpeta principal

Con el permiso para la tarea CREATE_CONTENT en la carpeta principal, puedes crear una subcarpeta en una carpeta compartida.

  • Requiere el permiso business_creative_management

Crear una subcarpeta

Solicitud

curl -X POST \
    -F "name={folder_name}"
    -F "description={description}"
    -F "parent_folder_id={parent-folder-id}"
    -F 'access_token={partner-access-token}' \
 https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/creative_folders

Respuesta

{
 "id": {subfolder-id}
}

3. Subir imágenes y vídeos a una subcarpeta

Sigue los mismos pasos indicados en el paso 5. Sube imágenes y vídeos a la subcarpeta con el identificador del socio.

Seguimiento del identificador de activos de imagen o vídeo de Facebook

Si la aplicación sube una imagen o un vídeo a la biblioteca de activos de Facebook, la API de Facebook devolverá un identificador para ese activo.

Para facilitar la continuidad, la aplicación deberá realizar un seguimiento del identificador del activo en el proyecto o el área de trabajo que produjo la imagen o el vídeo en la aplicación.

De este modo, se permitirán casos de uso de “edición” y “actualización” simplificados, que se admitirán en el futuro, como, por ejemplo, los siguientes:

  • Un usuario de tu aplicación decide continuar editando un activo después de que este se haya publicado en Facebook y utilizado en un anuncio. Se enviará una solicitud al usuario con procesos de “actualización” o “ejecución de pruebas A/B” simplificados si tu aplicación envía el identificador del activo original al subir una versión actualizada de la imagen o el vídeo.
  • Un usuario del panel de insights de anuncios de Facebook tiene la capacidad para “editar” su contenido, incluida la edición de la imagen o el vídeo que enviará al usuario a la aplicación, con la transmisión del identificador del activo. En consecuencia, tu aplicación podrá abrir el proyecto que creó este activo, lo que permitirá al usuario continuar donde lo dejó.

Proporcionar la URL del enlace profundo al activo y crear acciones de anuncios y publicaciones

URL del enlace profundo para un activo

  • Consulta el campo media_library_url del activo de imagen o vídeo subido

Solicitud

curl -X GET \
    -F 'access_token={partner-access-token}' \
https://graph.facebook.com/<API_VERSION>/<asset_id>?fields=media_library_url

URL del enlace profundo para crear un anuncio o una publicación de la página

  • Anexa &action=CREATE_AD o &action=CREATE_POST al final del enlace profundo del paso anterior.

Ejemplo:

https://business.facebook.com/asset_library/business_creatives/?object_id=2838437832929622&action=CREATE_AD

Siguientes pasos