Introducción

Obtén información sobre cómo implementar la administración de activos de contenido.

La administración de activos de contenido solo está disponible para socios seleccionados. Ponte en contacto con tu socio de Meta para obtener más detalles.

Requisitos

Para usar esta API, necesitas:

Permisos

Tras iniciar sesión en la aplicación, deberás solicitar a los usuarios los permisos siguientes:

  • business_creative_management: administra el contenido del negocio y las carpetas de contenido del negocio. Obligatorio para todos los extremos de la API del administrador de activos de contenido del negocio.
  • business_creative_insights: accede a insights de activos de contenido del negocio.
  • business_management: administra los usuarios empresariales y acepta solicitudes de acuerdo de colaboración.

Limitaciones

  • El usuario de la aplicación (el anunciante) debe ser administrador del negocio que representa el identificador de Business Manager.

Paso 1: Crear una carpeta de contenido del negocio

Crea una carpeta de contenido del negocio en nombre del negocio del anunciante. Para ello, realiza una solicitud POST al extremo {business-id}/creative_folders. En este caso, el valor de {business-id} es el identificador del negocio del anunciante.

Necesitas el permiso business_creative_management para llevar a cabo esta acción.

Ejemplo de solicitud

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

Ejemplo de respuesta

{ “id”: “{business-creative-folder-id}” }

También puedes crear subcarpetas.

Paso 2: Añadir contenido a las carpetas

Para añadir activos de contenido existentes a una carpeta, realiza una solicitud POST a {business-id}/images o a {business-id}/videos. Necesitas el permiso business_creative_management para llevar a cabo esta acción.

Añadir imágenes

Ejemplo para añadir una imagen:

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

Respuesta

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

Subir vídeos

Sube un vídeo en una única solicitud si tiene un tamaño de unos pocos megabytes. De lo contrario, súbelo en fragmentos. 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 carpeta de contenido del negocio.

curl -X POST \
  -F 'name={video-name}' \
  -F 'source='@{video-path}'' \
  -F 'access_token={access-token}' \
  -F 'creative_folder_id={business-creative-folder-id}' \
  https://graph-video.facebook.com/{version}/{business-id}/videos

Respuesta

{ 
    "success": true, 
    "business_video_id": "{business-video-id}" 
}

Subir vídeos en fragmentos

Para vídeos más grandes, envía una solicitud start, una o varias solicitudes transfer y una solicitud finish.

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

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

Ejemplo de respuesta

{
  "upload_session_id": "{session-id}",
  "business_video_id": "{business-video-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 intervalos de inicio y finalización y, a continuación, envía los fragmentos con solicitudes transfer. Te enviaremos nuevos intervalos para cada fragmento. Utiliza estos nuevos intervalos para subir cada fragmento.

Ejemplo: envío del primer fragmento

curl -X POST \
  -F 'title={video-name}' \
  -F 'access_token={access-token}' \
  -F 'creative_folder_id={business-creative-folder-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

Si la operación se realiza correctamente, respondemos con los intervalos 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:

curl -X POST \
  -F 'title={video-name}' \
  -F 'access_token={access-token}' \
  -F 'creative_folder_id={business-creative-folder-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

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"
}

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

curl -X POST \
  -F 'title={video-name}' \
  -F 'access_token={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:

Cuando subes contenido a una carpeta, los anunciantes con acceso a la misma pueden crear anuncios en el Administrador de anuncios o mediante la API de marketing.

Todo el contenido subido aparece en la IU del Administrador de anuncios > Selección de contenido multimedia. Puedes utilizar el contenido para la creación de anuncios y la edición de anuncios. Además, las carpetas y los activos de contenido están disponibles en la herramienta de la biblioteca multimedia de Business Manager, en Business Manager > Biblioteca multimedia.

Paso 3: Proporcionar la URL del enlace profundo al activo y crear anuncios o publicaciones

Para obtener la URL del enlace profundo de un activo específico, realiza una consulta al campo media_library_url del activo de imagen o vídeo subido:

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

Para utilizar el enlace profundo con el fin de crear un anuncio o una publicación de la página, añade &action=CREATE_AD o &action=CREATE_POST al final del enlace:

https://business.facebook.com/asset_library/business_creatives/?object_id=<OBJECT_ID>&action=CREATE_AD