Catálogo

La extensión Facebook Business (FBE) usa el catálogo para obtener el inventario de la empresa. Se utiliza para ejecutar varias funciones, como los anuncios dinámicos, las tiendas de la página y la tarjeta de servicios destacados. Es una parte opcional de la integración, pero se necesita para determinadas funciones.

El catálogo de Facebook tiene su propio conjunto de API, pero la FBE se integra con algunas de ellas de manera directa, por lo que puedes actualizar fácilmente el inventario de una empresa en nuestra plataforma (sin necesidad de realizar un seguimiento de los identificadores del catálogo de Facebook).

Para asegurarte de que todos los campos obligatorios se completen correctamente en tu catálogo en relación a los anuncios dinámicos y los casos de uso de comercio (tienda de la página, Comprar en Instagram y Marketplace), consulta Campos admitidos.

Actualizar inventario

Existen dos métodos para actualizar inventario:

  • Empujar: Empujar el catálogo hacia Facebook mediante la API (recomendado)
  • Arrastrar: Hacer que Facebook arrastre periódicamente el catálogo desde tu plataforma (lo cual no se recomienda, ya que se traduce en inventarios obsoletos y carga innecesaria en el servidor)

Métodos de empuje

Recomendamos usar uno de los métodos de empuje (API del lote o API de subida única de lista) ya que activan las actualizaciones de inventario instantáneas y reducen la carga del servidor de ambos lados. El access_token que se usa aquí es el mismo que se devuelve del Inicio de sesión de empresa y el webhook.

Tan pronto como recibas un nuevo webhook de instalación, debes enviarnos un inventario completo de la empresa. Cada vez que una empresa realice un cambio en su inventario en tu sitio web, debes enviar una actualización.

API de lotes

Recomendada para la mayoría de las empresas de comercio electrónico. La API del lote es una API estándar del catálogo de Facebook y resulta útil para empresas con grandes inventarios (de más de 100 artículos) o con artículos que se actualizan con frecuencia.

API de subida única de lista

Disponible para empresas de citas (servicios). La API de subida única de lista es una API estándar del catálogo de Facebook y es útil para las empresas con inventarios pequeños (de 100 artículos o menos).

Con este método, cuando se realiza una actualización, se envía un inventario completo que reemplaza totalmente el inventario del catálogo de Facebook.

Paso 1: Obtén el identificador de la lista creada durante la instalación de FBE al enviar del identificador del catálogo conectado (desde notificaciones de Webhooks o desde nuestro punto de conexión de API para la instalación de la FBE):

curl -G \
-d "access_token=<ACCESS_TOKEN>" \
https://graph.facebook.com/<API_VERSION>/<CATALOG_ID>/product_feeds

Obtén más información sobre la API de la Lista de productos.

Paso 2: Realiza subidas únicas al feed:

Ejemplo: archivos de listas alojados en una ubicación pública.

Explorador de la API Graph
curl -X POST \
  -F 'url="http://www.example.com/sample_feed.xml"' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/{FEED_ID}/uploads
POST /{FEED_ID}/uploads HTTP/1.1
Host: graph.facebook.com

url=http%3A%2F%2Fwww.example.com%2Fsample_feed.xml
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->post(
    '/{FEED_ID}/uploads',
    array (
      'url' => 'http://www.example.com/sample_feed.xml',
    ),
    '{access-token}'
  );
} catch(Facebook\Exceptions\FacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();
/* handle the result */
/* make the API call */
FB.api(
    "/{FEED_ID}/uploads",
    "POST",
    {
        "url": "http:\/\/www.example.com\/sample_feed.xml"
    },
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);

Ejemplo: subida de archivos de lista directamente desde el equipo local. La ruta del archivo se debe cambiar según tu caso de uso.

Explorador de la API Graph
curl -X POST \
  -F 'file=@catalog.csv;type=text/csv' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/{FEED_ID}/uploads
POST /{FEED_ID}/uploads HTTP/1.1
Host: graph.facebook.com

file=%40catalog.csv%3Btype%3Dtext%2Fcsv
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->post(
    '/{FEED_ID}/uploads',
    array (
      'file' => '@catalog.csv;type=text/csv',
    ),
    '{access-token}'
  );
} catch(Facebook\Exceptions\FacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();
/* handle the result */
/* make the API call */
FB.api(
    "/{FEED_ID}/uploads",
    "POST",
    {
        "file": "@catalog.csv;type=text\/csv"
    },
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);

Formatos admitidos

En cualquier otro respecto, todos los formatos de solicitud y respuesta son los mismos que los que aparecen documentados en el punto de conexión original.

Consulta los campos admitidos del catálogo de citas (servicios).

Método de arrastre

No recomendamos usar este método, ya que se traduce en inventarios obsoletos hasta los siguientes arrastres. Sin embargo, resulta útil para empresas autoalojadas más pequeñas con un archivo de inventario de acceso público. Si eliges usar este método para una empresa, tendrás que especificar la función catalog_feed_scheduled en Configuración para empresas, que se pasa mediante el Inicio de sesión de empresa. Una vez definido esto, obtendremos el inventario de la empresa de la URL pública especificada de manera periódica, independientemente de las actualizaciones que se realicen.

Obtén más información sobre el arrastre de listas programado.