Enviar un lote de elementos localizados

Para enviar actualizaciones de localización, usa el punto de conexión /{catalog_id}/localized_items_batch.

Para crear, actualizar o borrar productos localizados en tu catálogo, haz una llamada HTTP POST a:

https://graph.facebook.com/<API_VERSION>/<CATALOG_ID>/localized_items_batch?requests=<REQUESTS> 

Parámetros

Parámetro Tipo Descripción

item_type

enumeración

Tipo de elementos en la solicitud. Valores admitidos: DESTINATION, FLIGHT, HOME_LISTING, HOTEL, HOTEL_ROOM, PRODUCT_ITEM, VEHICLE y VEHICLE OFFER.

requests

objeto

Objeto JSON que contiene todas las solicitudes.

requests.data

objeto

Objeto JSON que contiene campos y valores para un producto.

Cuando el método es CREATE, este objeto solo debe contener campos localizados o el item_type especificado.

requests.method

cadena

CREATE, UPDATE y DELETE

requests.localization

objeto

Objeto JSON que contiene los datos de localización que deseas aplicar al elemento de catálogo especificado. Este objeto debe contener estos campos:

  • type; valores admitidos: LANGUAGE, COUNTRY o LANGUAGE_AND_COUNTRY.
  • value; puede ser cualquier código de idioma o país, según el tipo seleccionado. Ten en cuenta que, para LANGUAGE_AND_COUNTRY, los valores deben estar separados por el carácter "|", por ejemplo, en_XX|US. Consulta aquí una lista de códigos de idiomas y países.

La configuración de catálogos localizados contiene las listas de idiomas y países admitidos para anulaciones de catálogos, y ejemplos de tipos y valores de anulaciones al realizar la localización por LANGUAGE, COUNTRY O LANGUAGE_AND_COUNTRY. Consulta Campos admitidos: catálogos localizados para hallar una lista de campos de catálogos.

Nota:price, sale_price, unit_price, base_price, status (visibilidad) y availability solo se deben proporcionar en una lista de países. Estos campos no se pueden proporcionar en una lista de idiomas. Esto ayuda a garantizar que los clientes vean los datos correctos de los productos localizados.

Limitaciones

  • El parámetro requests puede contener hasta 1.000 elementos.
  • En cada catálogo, puedes realizar una cantidad de llamadas por hora definida por la fórmula de limitación de frecuencia relativa a los casos de uso del negocio, lote de catálogos. Si eso no es suficiente, contáctanos.
  • El código de error 1 con el mensaje "Please reduce the amount of data you're asking for, then retry your request" indica que el tamaño de los datos (en bytes) que se recibe en la solicitud a la API es demasiado grande. Para solucionar este problema, reduce el número de elementos del lote y vuelve a intentarlo. De esta manera, te asegurarás de que la solicitud esté dentro de los límites aceptables y se pueda procesar correctamente.

Campos admitidos

Consulta la lista de campos admitidos y sus descripciones respectivas de cada campo para hallar el punto de conexión /{catalog_id}/localized_items_batch:

Consulta también:

Ejemplo:

Ejemplo de solicitud

POST /{catalog_id}/*localized_items_batch*
{
  "access_token": "<ACCESS_TOKEN>",
  "item_type": "PRODUCT_ITEM",
  "requests": [
    {
      "method": "CREATE",
      "localization": {
        "type": "LANGUAGE",
        "value": "fr_XX"
      },
       "data": {
         "id": "retailer-2",
         "title": "C'est un tshirt",
         "description": "Le t-shirt a un joli motif",
         "link": "http://www.fr.example.com/t-shirts/1.png"
       }
    },
    {
      "method": "CREATE",
      "localization": {
        "type": "COUNTRY",
         "value": "FR"
      },
       "data": {
         "id": "retailer-2",
         "availability": "in stock",
         "price": "9.99 EUR"
       }
    },
    {
      "method": "UPDATE",
      "localization": {
        "type": "LANGUAGE",
        "value": "fr_XX"
      },
      "data": {
        "id": "retailer-3",
        "availability": "out of stock",
        "link": "http://www.fr.example.com/t-shirts/2.png"
      }
    },
    {
      "method": "UPDATE",
      "localization": {
        "type": "COUNTRY",
        "value": "FR"
      },
      "data": {
        "id": "retailer-3",
        "price": "19.99 USD"
      }
    },
    {
      "method": "DELETE",
      "localization": {
        "type": "COUNTRY",
        "value": "FR"
      },
      "data": {
        "id": "retailer-4"
      }
    }
  ]
}

Ejemplo de respuesta

"handles": ["AczBWxwCxXv4s3xQpm0JwXBlhs-IPGatrWmDRBmc1wTYrV5JvtkuQRT_FOCmKZGmHvotvvX8UtQnwEgg16wTx14cqPYzWVzmxZiaZDLgMUmjSA"]

Este punto de conexión no crea nuevos elementos de catálogo. Todas las solicitudes deben contener un objeto JSON de datos que incluya un identificador para un elemento de catálogo existente.

Puedes usar el campo applink para especificar información de enlaces profundos; funciona de manera similar a los enlaces profundos. Proporciona la información de tus enlaces profundos en el formato JSON que se muestra a continuación:

"applink" : {"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"}]}

Existe una diferencia menor en los nombres de campos en comparación con aquellos de los enlaces profundos, ya que cada tipo de app es un nodo separado y se delimita en sus campos respectivos.

'data\[applink\]\[android\]' es una matriz que solo tiene un valor especificado. Es el mismo caso para otros tipos de apps.

No admitimos enlaces universales de iOS.

Para localizar cualquier campo de applink, debes proporcionarlos a todos. Obtén más información sobre los enlaces profundos del producto.