文档已更新。
中文(简体) 译文尚未完成。
英语更新时间:11月15日
中文(简体) 更新时间:10月27日

Send Localized Items Batch

To send localization updates, use the /{catalog_id}/localized_items_batch endpoint.

To create, update, or delete localized products in your catalog, make an HTTP POST call to:

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

Parameters

Parameter Type Description

item_type

enum

Type of items in the request. Supported values: DESTINATION, FLIGHT, HOME_LISTING, HOTEL, HOTEL_ROOM, PRODUCT_ITEM, VEHICLE, VEHICLE OFFER.

requests

object

A JSON object containing all requests.

requests.data

object

A JSON object containing fields and values for a product.

When the method is CREATE, this object must contain only localized fields for the specified item_type.

requests.method

string

CREATE, UPDATE, DELETE

requests.localization

object

A JSON object containing the localization data you want to apply for the specified catalog item. This object must contain these fields:

  • type — Supported values: LANGUAGE, COUNTRY, or LANGUAGE_AND_COUNTRY
  • value — Can be any valid language or county code, depending on the selected type. Note that for LANGUAGE_AND_COUNTRY, the values should be separated by a '|' character, for example, en_XX|US. See a list of language and country codes here.

The Localized Catalog Setup contains the lists of supported languages and countries for catalog overrides, and examples of override types and values when localizing by LANGUAGE, COUNTRY, OR LANGUAGE_AND_COUNTRY. See Supported Fields — Localized Catalogs for a list of supported catalog fields.

Note: price, sale_price, unit_price, base_price, status (visibility), and availability must only be provided in a country feed. These fields cannot be provided in a language feed. This helps ensure customers see the correct localized product data.

Limitations

  • The requests param can contain up to 1,000 items.
  • For each catalog, you can make a number of calls per hour defined by the Catalog Batch business use case rate limit formula. If that's not sufficient, please contact us.
  • Error code 1 with message "Please reduce the amount of data you're asking for, then retry your request" indicates that the size of the data (in bytes) received in API request is too large. To fix this issue, please reduce the number of items in the batch and try again. This will ensure that the request is within the acceptable size limits and can be processed successfully.

Supported Fields

See the list of supported fields and their respective descriptions for each field, for the /{catalog_id}/localized_items_batch endpoint:

See Also

Example

Sample Request

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"
      }
    }
  ]
}

Sample Response

"handles": ["AczBWxwCxXv4s3xQpm0JwXBlhs-IPGatrWmDRBmc1wTYrV5JvtkuQRT_FOCmKZGmHvotvvX8UtQnwEgg16wTx14cqPYzWVzmxZiaZDLgMUmjSA"]

This endpoint does not create new catalog items. All requests should contain a data JSON object that contains an ID for an existing catalog item.

You can use the applink field to specify deep link information; it works in a similar way to Deep Links. Provide your deep link information in the JSON format shown below.

"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"}]}

There's a minor difference in the field names compared to the ones in deep links as each app type is a separate node and is enclosed in their respective fields.

'data\[applink\]\[android\]' is an array with only one value specified under it. This is the same case for other app types.

We don't support iOS Universal Links.

To localize any applink fields, you must provide all of them. Learn more about product deep links.