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.
Existen dos métodos para actualizar inventario:
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.
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.
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.
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.
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 */
}
}
);
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.
Sector | Lista CSV de ejemplo | Lista TSV de ejemplo | Lista XML de ejemplo |
---|---|---|---|
COMERCIO ELECTRÓNICO | |||
CITAS |
Consulta los campos admitidos del catálogo de citas (servicios).
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.