Catálogo

La extensión de Facebook para empresas (FBE) utiliza el catálogo para incorporar el inventario de una empresa. Se utiliza para activar diversas funciones, como los anuncios dinámicos, las tiendas de páginas y la tarjeta de servicios destacados. Es un componente opcional de la integración, pero se requiere para determinadas funciones.

El catálogo de Facebook tiene su propio conjunto de API, pero FBE se integra con algunas de ellas directamente para que puedas actualizar el inventario de una empresa en nuestra plataforma con facilidad (sin necesidad de que hagas un seguimiento de los identificadores del catálogo de Facebook).

Para asegurarte de que todos los campos obligatorios se rellenen correctamente en tu catálogo para los anuncios dinámicos y los casos de uso de comercio (tienda de página, compras en Instagram, Marketplace), consulta Campos admitidos.

Actualizar el inventario

Hay dos métodos para actualizar el inventario:

  • Inserción: inserta el catálogo en Facebook mediante la API (método recomendado).
  • Extracción: haz que Facebook extraiga de forma periódica el catálogo de tu plataforma (no se recomienda, ya que genera inventarios obsoletos y cargas innecesarias en el servidor).

Métodos de inserción

Te recomendamos encarecidamente que uses uno de los métodos de inserción (API de lotes o API de subida única de listas), ya que permiten realizar actualizaciones instantáneas en el inventario y reducen la carga del servidor en ambas partes. El parámetro access_token que se utiliza aquí es el mismo que el que devuelve el inicio de sesión para empresas y el webhook.

Debes enviarnos el inventario completo de una empresa tan pronto como recibas un nuevo webhook de instalación. Tienes que enviarnos una actualización cada vez que una empresa haga un cambio en su inventario de tu sitio web.

API de lotes

Método recomendado para la mayoría de las empresas de e-commerce. La API de lotes es una API estándar del catálogo de Facebook que resulta útil para las empresas con grandes inventarios (más de 100 artículos) o artículos que se actualizan con frecuencia.

API de subida única de listas

Método disponible para empresas de Citas (servicios). La API de subida única de listas es una API estándar del catálogo de Facebook que resulta útil para las empresas con inventarios más pequeños (aproximadamente 100 artículos o menos).

Con este método, envías un inventario completo cada vez que se realiza una actualización, de modo que el inventario se reemplaza de forma íntegra en el catálogo de Facebook.

Paso 1: Obtén el identificador de la lista que se creó durante la instalación de FBE; para ello, envía el identificador del catálogo conectado (desde las notificaciones del webhook o el extremo de la API de instalación de 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 listas de productos.

Paso 2: Realiza actualizaciones únicas en la lista:

Ejemplo: los archivos de lista se hospedan 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: los archivos de lista se suben directamente desde la máquina local. Es necesario cambiar la ruta del archivo 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

Todos los demás formatos de solicitud y respuesta son los mismos que los documentados para el extremo original.

Sector Ejemplo de lista en formato CSV Ejemplo de lista en formato TSV Ejemplo de lista en formato XML

E-COMMERCE

Ejemplo de CSV para E-COMMERCE

Ejemplo de TSV para E-COMMERCE

Ejemplo de XML para E-COMMERCE

CITAS

Ejemplo de CSV para CITAS

Ejemplo de TSV para CITAS

Ejemplo de XML para CITAS

Consulta Campos admitidos del catálogo de Citas (servicios).

Método de extracción

No recomendamos este método porque genera inventarios obsoletos hasta las extracciones posteriores, pero resulta útil para empresas autohospedadas de menor tamaño con un archivo de inventario de acceso público. Si decides utilizar este método para una empresa, tienes que especificar la función catalog_feed_scheduled en la configuración del negocio que se pasa mediante el inicio de sesión para empresas. Cuando dicha función está definida, recuperamos el inventario de la empresa de forma periódica desde la URL pública especificada, independientemente de las actualizaciones.

Obtén más información sobre la extracción de listas programada.