Configurar el catálogo

Para configurar los anuncios dinámicos, necesitarás un catálogo, listas de catálogos y conjuntos de productos.

El catálogo es un archivo de datos estructurado con una lista de los artículos que quieres anunciar. Cada línea contiene toda la información necesaria para crear un anuncio dinámico. Las listas de productos son subidas dinámicas de tus datos para mantener tu catálogo de productos actualizado.

En este documento, te guiaremos en el proceso de configuración de un catálogo:

Consulta además Introducción a los anuncios dinámicos y Configuración de anuncios dinámicos desde la interfaz de usuario.

Paso 1: Crear el catálogo

Para crear un catálogo de anuncios dinámicos, realiza los siguientes pasos:

use FacebookAds\Object\ProductCatalog;
use FacebookAds\Object\Fields\ProductCatalogFields;

$product_catalog = new ProductCatalog(null, <BUSINESS_ID>);

$product_catalog->setData(array(
  ProductCatalogFields::NAME => "Catalog",
));

$product_catalog->create();
from facebookads.adobjects.productcatalog import ProductCatalog

product_catalog = ProductCatalog(parent_id=<BUSINESS_ID>)

product_catalog[ProductCatalog.Field.name] = 'Catalog'

product_catalog.remote_create()
ProductCatalog catalog = new Business(<BUSINESS_ID>, context).createProductCatalog()
  .setName("Catalog")
  .execute();
String catalog_id = catalog.getId();
curl \
  -F 'name=Catalog' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.11/<BUSINESS_ID>/product_catalogs

Para usar la API del catálogo, necesitas el nivel de acceso de la API de marketing correspondiente y debes aceptar las condiciones del servicio. Para ello, crea tu primer catálogo desde el administrador comercial. Consulta Referencia de catálogo.

Paso 2: Configurar la lista

Este es un conjunto de artículos subidos o recuperados de una empresa a fin de que el catálogo de productos esté actualizado. Un artículo de producto es un artículo único de tu tienda en internet, como un SKU. Puedes tener una única lista de productos que represente todos los productos del catálogo; o bien, puedes tener varias listas, cada una de las cuales represente los productos de un solo país o división. Consulta Listas, Referencia y Artículo, Referencia.

Después de crear un catálogo de productos, utiliza catalog id para crear y programar una lista de productos:

use FacebookAds\Object\ProductFeed;
use FacebookAds\Object\Fields\ProductFeedFields;
use FacebookAds\Object\Fields\ProductFeedScheduleFields;

$product_feed = new ProductFeed(null, <PRODUCT_CATALOG_ID>);

$product_feed->setData(array(
  ProductFeedFields::NAME => 'Test Feed',
  ProductFeedFields::SCHEDULE => array(
    ProductFeedScheduleFields::INTERVAL => 'DAILY',
    ProductFeedScheduleFields::URL =>'http://www.example.com/sample_feed.tsv',
    ProductFeedScheduleFields::HOUR => 22,
  ),
));

$product_feed->create();
from facebookads.adobjects.productfeed import ProductFeed

product_feed = ProductFeed(parent_id=<PRODUCT_CATALOG_ID>)

product_feed[ProductFeed.Field.name] = 'Test Feed'
product_feed[ProductFeed.Field.schedule] = {
    'interval': 'DAILY',
    'url': 'http://www.example.com/sample_feed.tsv',
    'hour': 22,
}

product_feed.remote_create()
ProductFeed productFeed = new ProductCatalog(<PRODUCT_CATALOG_ID>, context).createProductFeed()
  .setName("Test Feed")
  .setSchedule("{\"interval\":\"DAILY\",\"url\":\"http://www.example.com/sample_feed.tsv\",\"hour\":\"22\"}")
  .execute();
String product_feed_id = productFeed.getId();
curl \
  -F 'name=Test Feed' \
  -F 'schedule={ 
    "interval": "DAILY", 
    "url": "http:\/\/www.example.com\/sample_feed.tsv", 
    "hour": 22 
  }' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.11/<PRODUCT_CATALOG_ID>/product_feeds

Formatos admitidos

Proporciona la lista de productos en uno de los siguientes formatos:

Formato de la lista Descripción Lista de ejemplo

CSV

Valor separado por comas. La primera fila es el encabezado de la columna. Coloca los campos que contengan comas entre "comillas dobles".

Descargar (hacer clic con el botón derecho y seleccionar Guardar enlace como).

TSV

Valores separados por tabulaciones. La primera fila es el encabezado de la columna. Coloca los campos que contengan comas entre "comillas dobles".

Descargar (hacer clic con el botón derecho y seleccionar Guardar enlace como).

XML de RSS

Formato que normalmente se genera mediante servidores web o sistemas de proveedores de listas automatizados. Un conjunto de nodos XML de artículo representa una lista de productos y debe comenzar con la etiqueta de declaración <?xml.

Descargar (hacer clic con el botón derecho y seleccionar Guardar enlace como).

XML de ATOM

Formato que normalmente se genera mediante servidores web o sistemas de proveedores de listas automatizados. Un conjunto de nodos XML de artículo representa una lista de productos y debe comenzar con la etiqueta de declaración <?xml.

Descargar (hacer clic con el botón derecho y seleccionar Guardar enlace como).

Campos obligatorios

Proporciona todos los nombres de columna en inglés.

Nombre Tipo Descripción

id


Tamaño máximo: 100

string

Identificador único del artículo. Puede ser una variante de un producto. Si existen varias instancias del mismo identificador, se ignoran todas las instancias. Se asigna a retailer_id después de importar el producto.

availability

string

Si hay existencias del artículo. Los valores aceptados son:


in stock: el artículo se envía de inmediato.


out of stock: no hay ningún plan para reabastecer.


preorder: disponible en el futuro.


available for order: se envía en 1 a 2 semanas.


discontinued: discontinuado.


condition

string

Estado del producto: new, refurbished o used.

description


Tamaño máximo: 5.000

string

Texto breve que describe el producto.

image_link


string

Enlace a la imagen del artículo que se usa en el anuncio. El formato por secuencia usa imágenes con una relación de aspecto cuadrada de 1:1 (600 x 600 píxeles), mientras que un anuncio de un solo producto usa una imagen con una relación de aspecto de 1,91:1 (1200 x 630 píxeles). Proporciona imágenes adecuadas para tu uso.

link


string

Enlace al sitio del comerciante donde se puede comprar el artículo.

title


Tamaño máximo: 100

string

Título del artículo.

price

string

Costo del artículo y divisa. La divisa debe seguir los códigos de divisa ISO 4217, p. ej., 9.99 USD.

gtin, mpn o brand


Tamaño máximo: 70

string

gtin: los identificadores mundiales de artículos comerciales (GTIN) pueden incluir UPC, EAN, JAN e ISBN.



mpn: identificador único del fabricante para el producto.



brand: nombre de la marca.



gtin, mpn o brand son obligatorios.

Campos opcionales y enlaces profundos de productos

Proporciona enlaces profundos en la lista de productos de acuerdo con la especificación de App Links. La información de los enlaces profundos de la lista de productos tiene prioridad sobre cualquier información que Facebook recopile con los metadatos de App Links mediante nuestro rastreador web.

Si ya tienes la información de los enlaces profundos de App Links, no tienes que especificar estos datos. Facebook usa la información de App Links para mostrar el enlace profundo correcto. Para mostrar enlaces profundos en tus anuncios, consulta Anuncios dinámicos, Plantilla de anuncio.

Nombre Descripción Ejemplo

ios_url

Esquema personalizado para la aplicación de iOS como URL

example-ios://electronic

ios_app_store_id

Identificador de la aplicación en App Store

1234

ios_app_name

Nombre de la aplicación para mostrar

Electronic Example iOS

iphone_url

Esquema personalizado para la aplicación de iPhone como URL

example-iphone://electronic

iphone_app_store_id

Identificador de la aplicación en App Store

5678

iphone_app_name

Nombre de la aplicación para mostrar

Electronic Example iPhone

ipad_url

Esquema personalizado para la aplicación de iPhone

example-ipad://electronic

ipad_app_store_id

Identificador de la aplicación en App Store

9010

ipad_app_name

Nombre de la aplicación para mostrar

Electronic Example iPad

android_url

Esquema personalizado para la aplicación de Android como URL

example-android://electronic

android_package

Nombre completo del paquete para la generación de intenciones

com.electronic

android_app_name

Nombre de la aplicación para mostrar

Electronic Example Android

windows_phone_url

Esquema personalizado para la aplicación de Windows Phone como URL

example-windows://electronic

windows_phone_app_id

Identificador de la aplicación, como un GUID, para la tienda de aplicaciones

ee728e01-7727-4168-9c8f-85c7eef40112

windows_phone_app_name

Nombre de la aplicación para mostrar

Electronic Example Windows

En el caso de iOS, proporciona solo información de la aplicación para iPhone o iPad si es distinta de la información de la aplicación general para iOS.

Utiliza el grupo de productos para agrupar todas las variantes de producto. Proporciona el grupo de productos para identificar productos que son casi idénticos pero presentan variaciones, como de color, material, tamaño o trama. Los grupos facilitan la publicidad de colores, estilos o tramas adicionales de un producto concreto. Todos los producto de un grupo de productos comparten el mismo item_group_id. En los anuncios dinámicos, seleccionamos solo un artículo del grupo según la señal que recibimos del píxel o de la aplicación.

A continuación, se especifican los campos opcionales que puedes incluir:

Nombre Tipo Tamaño máximo

additional_image_link


Tamaño máximo: 2000

string

Puedes incluir hasta diez imágenes adicionales; proporciónalas como direcciones URL separadas por comas.

age_group

string

Grupo de edad del producto. Los valores aceptados son newborn, infant, toddler, kids y adult.

color


Tamaño máximo: 100

string

Color del artículo.

expiration_date

ISO‑8601 (AAAA‑MM‑DD)

Caducidad del producto. Si el producto caducó, Facebook lo excluye de todos los conjuntos de productos y no lo muestra en los anuncios.

gender

string

Las opciones incluyen: male, female y unisex.

item_group_id

string

Para los artículos que son variantes de un producto. Proporciona el mismo item_group_id para todos los artículos que sean variantes. Por ejemplo, "camiseta roja" es una variante de "camiseta". Facebook lo asigna a retailer_product_group_id cuando obtiene tu lista. En los anuncios dinámicos, seleccionamos solo un artículo del grupo según la señal que recibimos del píxel o de la aplicación.

google_product_category


Tamaño máximo: 250

string

Valores predefinidos de la taxonomía de productos de Google. Por ejemplo, Apparel & Accessories > Clothing > Dresses.

material


Tamaño máximo: 200

string

Material del que está hecho el producto, como leather, denim o cotton.

pattern


Tamaño máximo: 100

string

Trama o impresión gráfica de un producto.

product_type


Tamaño máximo: 750

string

Categoría del producto definida por la tienda.

Ejemplo en TSV:
Home & Garden > Kitchen & Dining > Appliances > Refrigerators.

Ejemplo en XML: <product_type>Home & Garden > Kitchen & Dining > Appliances > Refrigerators</product_type>.

sale_price

string

Precio con descuento si el artículo está en oferta. La divisa debe especificarse con el código de divisa ISO 4217. Especificado como 9,99 USD.

sale_price_effective_date

ISO‑8601 (AAAA‑MM‑DD)

Fecha y hora de inicio y de fin de la oferta; separadas por una barra diagonal:


2014-11-01T12:00-0300/2014-12-01T00:00-0300.

shipping

string

Blob con distintos precios para cada país y región. Las distintas regiones se separan con coma. El formato debe ser COUNTRY:STATE:SHIPPING_TYPE:PRICE.

Por ejemplo:

US:CA:Ground:9.99 USD,US:NY:Air:15.99 USD.

shipping_weight

string

Peso de envío del artículo. Solo se aceptan las siguientes unidades de peso: lb, oz, g y kg. Por ejemplo: 3 lbs.

size

string

Tamaño del artículo. Por ejemplo, una camiseta puede ser Small o XL.

custom_label_0


Tamaño máximo: 100

string

Información adicional opcional sobre el artículo.

custom_label_1


Tamaño máximo: 100

string

Información adicional opcional sobre el artículo.

custom_label_2


Tamaño máximo: 100

string

Información adicional opcional sobre el artículo.

custom_label_3


Tamaño máximo: 100

string

Información adicional opcional sobre el artículo.

custom_label_4


Tamaño máximo: 100

string

Información adicional opcional sobre el artículo.

Prueba tu lista de productos mediante nuestra página de depuración de lista de productos. Para los archivos CSV/TSV, copia la primera fila (fila del encabezado de columna) y algunos productos; para el formato XML, copia el texto XML con algunos artículos o entradas, pega las líneas en el área de texto y realice la validación.

Paso 3: Opciones de actualización

Para mantener la información del producto actualizada, utiliza una de las siguientes opciones:

  1. Recuperaciones de listas de productos programadas
  2. Subida directa de una lista de productos
  3. Actualización de un producto

Recuperaciones de listas de productos programadas

Facebook recupera listas de productos de tu sistema según la programación que definas. Puedes definir dos tipos de programación: update_schedule y schedule. Las subidas creadas mediante update_schedule crean artículos nuevos o actualizan los existentes con la información proporcionada en el archivo de la lista. Las subidas creadas mediante schedule ejecutan una operación de actualización completa en la lista: se eliminan los productos que no están presentes en el archivo, se actualizan los existentes y se crean nuevos. Puedes usar las dos programaciones o una de ellas según tus necesidades.

P. ej.: puedes usar update_schedule con la frecuencia HOURLY y reemplazar schedule con la frecuencia DAILY.

Recomendamos configurar update_schedule con solo los datos cambiados en el archivo de lista para permitir un procesamiento más rápido de la lista. Esto es especialmente recomendable para las ventas de las fiestas y para obtener actualizaciones más rápidas sobre la disponibilidad y los precios. Además, se recomienda marcar los artículos como "agotados" en lugar de eliminarlos de la lista, de modo que Facebook pueda dirigir al usuario otros productos similares que estén disponibles.

curl \
  -F 'name=Test Feed' \
  -F 'schedule={ 
    "interval": "DAILY", 
    "url": "http:\/\/www.example.com\/sample_feed.tsv"
  }' \
  -F 'update_schedule={ 
    "interval": "HOURLY", 
    "url": "http:\/\/www.example.com\/sample_feed_updates.tsv",
    "hour": 22
  }' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.10/<PRODUCT_CATALOG_ID>/product_feeds

La respuesta es la siguiente:

{ "id" : {PRODUCT_FEED_ID} }

Consulta Lista de productos, Referencia; y Programación de listas de productos, Referencia.


Subida directa de una lista de productos

Junto con las recuperaciones de listas programadas, puedes realizar subidas únicas manualmente:

Este es un ejemplo de archivos de lista alojados en una ubicación pública.

curl \
-F "url=http://www.example.com/sample_feed.xml" \
-F "access_token={ACCESS_TOKEN}" \
https://graph.facebook.com/{API_VERSION}/{PRODUCT_FEED_ID}/uploads

Este es un ejemplo de cómo subir archivos de lista directamente desde el equipo local. La ruta del archivo se debe cambiar según el caso de uso.

curl \
-F "file=@catalog.csv;type=text/csv" \
-F "access_token={ACCESS_TOKEN}" \
https://graph.facebook.com/{API_VERSION}/{PRODUCT_FEED_ID}/uploads

Como alternativa, puedes configurar update_only en true. Creamos nuevos artículos y actualizamos los existentes, pero no eliminamos artículos de la lista. Solo debes proporcionar id para actualizar los artículos existentes. Esto disminuye el tiempo necesario para recuperar y procesar el archivo.

Por ejemplo, para actualizar solo el precio y las etiquetas personalizadas de 100 artículos de una lista, utiliza la subida directa. Proporciona un archivo solo con id, price y custom_label_0 para esos artículos, y con update_only establecido en true. Se admiten todos los formatos de archivo de la lista, pero los más comunes son TSV y CSV.

Archivos de ejemplo:

Formato de la lista Caso de uso Lista de ejemplo

CSV

Actualización de price y availability para un subconjunto de artículos.

Descargar (hacer clic con el botón derecho y seleccionar Guardar enlace como).

TSV

Restablecimiento de sale_price y actualización de custom_label_0 para un subconjunto de artículos.

Descargar (hacer clic con el botón derecho y seleccionar Guardar enlace como).

Consulta Subidas manuales, Referencia.

Si recibes errores en la lista de productos, consulta Errores de subida de la lista de productos, Referencia.


Actualización de un producto individual

Actualiza los datos de un producto individual en tiempo real. Incluye los campos actualizados en HTTP POST:

https://graph.facebook.com/catalog:{PRODUCT_CATALOG_ID}:{base64urlencode(retailer_id)}

Donde retailer_id es el identificador de producto de tu lista de productos. Debe tener la codificación base64url. Consulta los campos de productos mutables en Productos del catálogo de productos, Referencia.

No proporciones listas de productos con actualizaciones, creación o eliminación de productos individuales mediante la API. Esto puede interrumpir cualquier actualización o eliminación de artículos creados con la API, ya que no se realiza su seguimiento con la lista.

Consulta también: * Referencia de captura de listas programada * Referencia de lista de subida directa * Referencia de lista de productos * Listas de productos en el catálogo * Referencia de artículo de producto * Búsqueda de productos en el catálogo

Subida por lotes para catálogos de gran tamaño

Sube catálogos muy grandes con millones de productos y un inventario muy variable. Puedes crear, actualizar y eliminar numerosos productos en una única solicitud HTTP. La API presenta dos extremos:

  • POST [/{product_catalog_id}/batch](#send-batch-request): envía un lote de solicitudes para crear, actualizar y eliminar artículos en un catálogo.
  • GET [/{product_catalog_id}/check_batch_request_status](#batch-request-status): comprueba el estado de la solicitud.

Envío de actualizaciones de productos

Para crear, actualizar o eliminar productos en el catálogo, realiza una solicitud HTTP POST con los cambios que desees aplicar. Puedes realizar hasta 500 actualizaciones en una llamada. Para cada catálogo, puedes realizar hasta 100 llamadas por hora.

use FacebookAds\Api;
use FacebookAds\Http\RequestInterface;

$requests =  array(
    array(
        'method' => 'CREATE',
        'retailer_id' => 'retailer-product-id-123',
        'data' => array(
          'availability' => 'in stock',
          'brand' => 'Niky',
          'category' => 't-shirts',
          'currency' => 'USD',
          'description' => 'This is the product description.',
          'image_url' => 'http://www.images.example.com/t-shirts/1.png',
          'name' => 'My product name',
          'price' => '100',
          'url' => 'http://www.example.com/t-shirts/1.html',
        ),
    ),
);


$data = Api::instance()->call(
  '/'.<CATALOG_ID>.'/batch',
  RequestInterface::METHOD_POST,
  array('requests' => $requests))->getContent();
curl \
  -F 'requests=[ 
    { 
      "method": "CREATE", 
      "retailer_id": "retailer-product-id-123", 
      "data": { 
        "availability": "in stock", 
        "brand": "Niky", 
        "category": "t-shirts", 
        "currency": "USD", 
        "description": "This is the product description.", 
        "image_url": "http:\/\/www.images.example.com\/t-shirts\/1.png", 
        "name": "My product name", 
        "price": "100", 
        "url": "http:\/\/www.example.com\/t-shirts\/1.html" 
      } 
    } 
  ]' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.11/<CATALOG_ID>/batch

Esta llamada devuelve un identificador que se puede usar para comprobar el estado de la solicitud por lotes. Consulta Obtener estado de la solicitud:

{
  "handles": ["AczwaOW7j_EuQ5peV3kGq8X9qc7cDiv_kFrrHkdKuG7LkpkkqK5939wgdoduSQ45FGK5vKdVqOaSDJEun-fvbsR1kk8Rd53AZyD1WThSemo26I"]
}
Parámetro Tipo Descripción

requests

object

Objeto JSON que contiene todas las solicitudes.

requests.method

string

CREATE, UPDATE o DELETE.

requests.retailer_id

string

id de producto proporcionado por una tienda.

requests.data

object

Objeto JSON que contiene los campos y los valores del producto. Si method es CREATE, debe contener todos los campos necesarios para un producto. Si method es UPDATE, puede contener cualquier campo. Facebook actualiza solo los campos que proporcionas.

Puedes utilizar los siguientes valores admitidos en el campo data para CREATE (crear) y UPDATE (actualizar) artículos:

  • additional_image_urls
  • availability
  • age_group
  • applinks
  • brand
  • category
  • color
  • condition
  • currency
  • custom_label_0
  • custom_label_1
  • custom_label_2
  • custom_label_3
  • custom_label_4
  • description
  • gender
  • gtin
  • image_url
  • manufacturer_part_number
  • name
  • pattern
  • price
  • product_type
  • sale_price
  • sale_price_end_date
  • sale_price_start_date
  • shipping
  • size
  • url

Puedes utilizar applinks para la información de enlaces profundos, que funcionan de manera similar a los enlaces profundos de productos. El formato es el siguiente:

"applinks" : {
  "ios": [{
    "url":"example-ios://electronic",
    "app_store_id":42,
    "app_name":"Electronic Example iOS"
  }],
  "iphone": [{
    "url":"example-iphone://electronic",
     "app_store_id":43,
     "app_name":"Electronic Example iPhone"
  }],
  "ipad": [{
    "url":"example-ipad://electronic",
     "app_store_id":44,
     "app_name":"Electronic Example iPad"
  }],
  "android": [{
    "url":"example-android://electronic",
     "package":"com.electronic",
     "class":"com.electronic.Example",
     "app_name":"Electronic Example Android",
  }],
  "windows_phone": [{
    "url":"example-windows://electronic",
     "app_id":"64ec0d1b-5b3b-4c77-a86b-5e12d465edc0",
     "app_name":"Electronic Example Windows"
  }]
}

Consulta Catálogo de productos, Creación, Referencia.

Obtener estado de la solicitud

Para obtener el estado de una solicitud por lotes, usa el identificador que devolvió la llamada a {product_catalog_id}/batch:

curl -G \
-d 'handle=AczwaOW7j_EuQ5peV3kGq8X9qc7cDiv_kFrrHkdKuG7LkpkkqK5939wgdoduSQ45FGK5vKdVqOaSDJEun-fvbsR1kk8Rd53AZyD1WThSemo26I'
-d 'access_token={ACCESS_TOKEN}'
https://graph.facebook.com/{API_VERSION}/{PRODUCT_CATALOG_ID}/check_batch_request_status

Respuesta:

{
  "data": [
    {
      "handle": "AczwaOW7j_EuQ5peV3kGq8X9qc7cDiv_kFrrHkdKuG7LkpkkqK5939wgdoduSQ45FGK5vKdVqOaSDJEun-fvbsR1kk8Rd53AZyD1WThSemo26Q",
      "status": "finished",
      "errors_total_count": 1,
      "errors": [
        {
          "line": 0,
          "id": "retailer-4",
          "message": "Invalid value: Value passed at position 0 (id=retailer-199) is invalid: \"You cannot create a EntProductItem without required field Availability\""
        }
      ]
    }
  ]
}

Consulta Catálogo de productos, Referencia, Comprobar estado del lote.

Reglas de listas de productos

Usa las reglas para solucionar y evitar errores continuos en la subida de las listas. Puedes proporcionar reglas para que Facebook las aplique a cada subida de lista. Especifica las reglas por el atributo (columna) al que deben aplicarse, por el tipo de regla y por los parámetros. Actualmente, no puedes utilizar reglas con la API de lote. Puedes proporcionar los siguientes tipos de reglas:

  • Regla de asignación: asigna atributos (nombres de columna) de un archivo de lista a atributos que se puedan reconocer.
  • Regla de asignación de valores: asigna campos (valores de columna) de un archivo de lista a campos que se puedan reconocer.
  • Regla de mayúsculas o minúsculas: cambia las mayúsculas y minúsculas de las palabras de un campo. Por ejemplo, cambia todas las descripciones en mayúsculas a minúsculas.

Por ejemplo, puedes solucionar estos problemas con las reglas de asignación y las reglas de asignación de valores:

  • Errores ortográficos de atributos de gavailability a availability.
  • Cambio de enumeraciones no reconocidas InStock por in stock.
  • Formato de precio de 45$ a 45.00 USD.
  • Traducir la condición: Neu bajo la condición: New.

Puedes usar las reglas de mayúsculas y minúsculas para abordar estos tipos de problemas:

  • Cambio de descripciones íntegramente en mayúsculas BRAND NEW WITH LEATHER DETAIL... por Brand new with leather detail...
  • Cambio de títulos íntegramente en mayúsculas FACEBOOK T-SHIRT por Facebook T-shirt.

Reglas sugeridas

Puede obtener reglas sugeridas de Facebook para resolver errores en tu lista. Para ver las reglas sugeridas para la sesión de subida, realiza los siguientes pasos.

  • Recuperar sesiones de subida:
https://graph.facebook.com/{API_VERSION}/{PRODUCT_FEED_ID}/uploads
  • Recuperar errores de la sesión de subida:
https://graph.facebook.com/{API_VERSION}/{UPLOAD_SESSION_ID}/errors
  • Recuperar reglas sugeridas para el error de subida:
curl -i -X GET 
 "https://graph.facebook.com/{API_VERSION}/{UPLOAD_ERROR_ID}/suggested_rules?access_token={ACCESS_TOKEN}

Una respuesta de ejemplo con una sugerencia tiene el siguiente aspecto:

"data": [
  
    "attribute": "description",
    "type": "letter_case_rule",
    "params": [
      
        "key": "type",
        "value": "capitalize_first"
      
    ]
  
]

Para obtener más información, consulta API de reglas sugeridas, Referencia.

Extremos

Adición de reglas a listas

Para aplicar reglas a una lista, debes asociar la regla a la lista. Realiza una llamada de HTTP POST a:

https://graph.facebook.com/{API_VERSION}/{PRODUCT_FEED_ID}/rules?attribute={ATTRIBUTE}&amp;rule_type={RULE_TYPE}&amp;params={PARAMS}

Por ejemplo:

curl -i -X POST 
 -d "attribute=google_product_category" 
 -d "rule_type=mapping_rule" 
 -d "params=%7B'map_from'%3A%20'gcategory'%7D" 
 -d "access_token={ACCESS_TOKEN}" 
 "https://graph.facebook.com/v2.9/{PRODUCT_FEED_ID}/rules" 
 // sample response
 
  "id": "{RULE_ID}"

Debes formatear params de la siguiente manera:

Tipo de regla Formato Ejemplo Notas

Regla de asignación

"map_from": <string>

"map_from": "gavailability"

Regla de asignación de valores

<string> : <string>

"InStock": "in stock"

Para la regla de asignación de valores, la cantidad de asignaciones se limita a 10 y la longitud de las cadenas, a 20.

Regla de mayúsculas y minúsculas

"type": one of : "capitalize_first", "capitalize_all", "to_upper", "to_lower"

"type": "capitalize_first"

Para obtener más información, consulta API de reglas de listas de productos, Referencia.

Obtener reglas actuales

Para que se muestren todas las reglas asociadas a una lista, realiza una llamada de HTTP GET a:

https://graph.facebook.com/{API_VERSION}/{PRODUCT_FEED_ID}/rules

Para obtener más información, consulta API de reglas de listas de productos, Referencia.

Actualización y eliminación de reglas

Para cambiar una regla asociada a una lista, realiza una llamada de HTTP POST para actualizar todos los parámetros y realiza una llamada de HTTP DELETE para eliminarla. Solo puedes actualizar parámetros. Si quieres cambiar los parámetros attribute o rule_type, debes eliminar la regla y volver a crearla.

https://graph.facebook.com/{API_VERSION}/{PRODUCT_FEED_RULE_ID}?params={PARAMS}

Para obtener más información, consulta API de reglas de listas de productos, Referencia

A continuación: Capturar señales del público y crear públicos de productos

Crear públicos de productos