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.
Para usar esta API, necesitas:
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.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.
curl -X POST \ -F 'name={folder-name}' \ -F 'access_token={access-token}' \ https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/creative_folders
{ “id”: “{business-creative-folder-id}” }
También puedes crear subcarpetas.
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.
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}" } } }
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}" }
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.
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