Primeros pasos

Aprende a implementar la administración de contenido creativo.

La gestión de contenido creativo solo está disponible para un grupo selecto de socios. Ponte en contacto con tu socio de Meta para obtener más información.

Requisitos

Para usar esta API, necesitarás lo siguiente:

Permisos

Después de iniciar sesión en tu app, tendrás que pedir a tus usuarios los siguientes permisos:

  • business_creative_management: permite administrar carpetas de contenido del negocio y contenido del negocio. Obligatorio para todos los puntos de conexión de la API del administrador de activos de contenido.
  • business_creative_insights: permite acceder a estadísticas de activos de contenido del negocio.
  • business_management: permite administrar usuarios empresariales y aceptar solicitudes de acuerdo de colaboración.

Limitaciones

  • El usuario de la app (anunciante) debe ser un administrador del negocio representado por el ID del administrador comercial.

Paso 1: crear una carpeta de contenido del negocio

Crea una carpeta de contenido del negocio en representación del negocio del anunciante realizando una solicitud POST al punto de conexión {business-id}/creative_folders. En este caso, {business-id} es el identificador del negocio del anunciante.

Se necesita el permiso business_creative_management para realizar 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: agregar contenido a las carpetas

Agrega activos de contenido existentes a una carpeta realizando una solicitud POST a {business-id}/images o {business-id}/videos. Necesitas el permiso business_creative_management para realizar esta acción.

Añadir imágenes

Ejemplo; para agregar 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 videos

Sube un video en una sola solicitud si su tamaño es de unos pocos megabytes o súbelo en segmentos. Haz la llamada a la API para subir video 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 de tu video, 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 videos segmentados

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 video, envía una solicitud POST a /{business-id}/videos, establece el campo upload_phase en start y especifica 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 [0, 52428800] de tu video, segmenta el archivo según los intervalos de inicio y finalización, y, a continuación, envía esos segmentos con solicitudes transfer. Te enviamos nuevos intervalos por cada segmento. Usa estos nuevos intervalos para subir cada segmento.

Ejemplo: envía tu primer segmento

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, responderemos con los intervalos de tu próximo segmento:

{
 "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 segmento con el intervalo [52428800, 104857601] de tu 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 segmentos adicionales hasta que start_offset sea equivalente a end_offset:

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

Esto querrá decir que subiste todo el archivo. Ahora debes publicar este video 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 intentar subirlo de nuevo. Normalmente, los errores se deben a problemas en respuestas. Intenta nuevamente subir el segmento que falló. Para obtener más información sobre errores, consulta:

Una vez que subas contenido a una carpeta, los anunciantes con acceso a ella pueden crear anuncios en el administrador de anuncios o con la API de marketing.

Todo el contenido subido aparece en Administrador de anuncios > Selección de contenido multimedia de la UI. Puedes usarlo en Creación de anuncios y Edición de anuncios. Además, las carpetas y los activos de contenido están disponibles en la herramienta de la biblioteca de contenido multimedia del administrador comercial, en Administrador comercial > Biblioteca multimedia.

Paso 3: proporcionar una URL de enlace profundo a un 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 de la imagen o del activo de video subido:

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

Para usar tu enlace profundo y crear un anuncio o una publicación de página, agrega &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