Products feeds associated with a catalog. See Dynamic Ads, Catalog Setup. For example, get a list of all product feeds:
curl -G \ -d "access_token=<ACCESS_TOKEN>" \ https://graph.facebook.com/<API_VERSION>/<PRODUCT_CATALOG_ID>/product_feeds
Or get a list of product items in a product feed:
curl -G \ -d "access_token=<ACCESS_TOKEN>" \ https://graph.facebook.com/<API_VERSION>/<PRODUCT_FEED_ID>/products
GET /v21.0/{product-catalog-id}/product_feeds HTTP/1.1
Host: graph.facebook.com
/* PHP SDK v5.0.0 */
/* make the API call */
try {
// Returns a `Facebook\FacebookResponse` object
$response = $fb->get(
'/{product-catalog-id}/product_feeds',
'{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(
"/{product-catalog-id}/product_feeds",
function (response) {
if (response && !response.error) {
/* handle the result */
}
}
);
/* make the API call */
new GraphRequest(
AccessToken.getCurrentAccessToken(),
"/{product-catalog-id}/product_feeds",
null,
HttpMethod.GET,
new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
/* handle the result */
}
}
).executeAsync();
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
initWithGraphPath:@"/{product-catalog-id}/product_feeds"
parameters:params
HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
id result,
NSError *error) {
// Handle the result
}];
Reading from this edge will return a JSON formatted result:
{ "
data
": [], "paging
": {} }
data
paging
Error | Description |
---|---|
100 | Invalid parameter |
200 | Permissions error |
190 | Invalid OAuth 2.0 Access Token |
product_feeds
edge from the following paths: POST /v21.0/{product-catalog-id}/product_feeds HTTP/1.1
Host: graph.facebook.com
name=Test+Feed&schedule=%7B%22interval%22%3A%22DAILY%22%2C%22url%22%3A%22http%3A%2F%2Fwww.example.com%2Fsample_feed.tsv%22%2C%22hour%22%3A%2222%22%7D
/* PHP SDK v5.0.0 */
/* make the API call */
try {
// Returns a `Facebook\FacebookResponse` object
$response = $fb->post(
'/{product-catalog-id}/product_feeds',
array (
'name' => 'Test Feed',
'schedule' => '{"interval":"DAILY","url":"http://www.example.com/sample_feed.tsv","hour":"22"}',
),
'{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(
"/{product-catalog-id}/product_feeds",
"POST",
{
"name": "Test Feed",
"schedule": "{\"interval\":\"DAILY\",\"url\":\"http:\/\/www.example.com\/sample_feed.tsv\",\"hour\":\"22\"}"
},
function (response) {
if (response && !response.error) {
/* handle the result */
}
}
);
Bundle params = new Bundle();
params.putString("name", "Test Feed");
params.putString("schedule", "{\"interval\":\"DAILY\",\"url\":\"http://www.example.com/sample_feed.tsv\",\"hour\":\"22\"}");
/* make the API call */
new GraphRequest(
AccessToken.getCurrentAccessToken(),
"/{product-catalog-id}/product_feeds",
params,
HttpMethod.POST,
new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
/* handle the result */
}
}
).executeAsync();
NSDictionary *params = @{
@"name": @"Test Feed",
@"schedule": @"{\"interval\":\"DAILY\",\"url\":\"http://www.example.com/sample_feed.tsv\",\"hour\":\"22\"}",
};
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
initWithGraphPath:@"/{product-catalog-id}/product_feeds"
parameters:params
HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
id result,
NSError *error) {
// Handle the result
}];
curl -X POST \
-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/v21.0/{product-catalog-id}/product_feeds
Parameter | Description |
---|---|
country ISO 3166 Alpha Country Code | Default value: US Two letter country code where the products can be sold |
default_currency ISO 4217 Currency Code | Default value: USD The default currency used by provided feed if the currency is not specified in the feed file |
deletion_enabled boolean | Default value: true Default value: |
delimiter enum {AUTODETECT, BAR, COMMA, TAB, TILDE, SEMICOLON} | Default value: AUTODETECT Product feed delimiter |
encoding enum {AUTODETECT, LATIN1, UTF8, UTF16LE, UTF16BE, UTF32LE, UTF32BE} | Default value: AUTODETECT The character encoding used by provided feed |
feed_type enum {AUTOMOTIVE_MODEL, COLLECTION, DESTINATION, FLIGHT, HOME_LISTING, HOTEL, HOTEL_ROOM, LOCAL_INVENTORY, MEDIA_TITLE, OFFER, PRODUCTS, TRANSACTABLE_ITEMS, VEHICLE_OFFER, VEHICLES} | Type of the feed. Decides type of catalog item this feed will create |
file_name UTF-8 encoded string | The name of the product feed. .tsv, .xml or compressed files (zip, gzip and bz2) are supported |
ingestion_source_type enum {PRIMARY_FEED, SUPPLEMENTARY_FEED} | ingestion_source_type to decide type of feed i.e. primary or supplementary |
item_sub_type enum {APPLIANCES, BABY_FEEDING, BABY_TRANSPORT, BEAUTY, BEDDING, CAMERAS, CELL_PHONES_AND_SMART_WATCHES, CLEANING_SUPPLIES, CLOTHING, CLOTHING_ACCESSORIES, COMPUTERS_AND_TABLETS, DIAPERING_AND_POTTY_TRAINING, ELECTRONICS_ACCESSORIES, FURNITURE, HEALTH, HOME_GOODS, JEWELRY, NURSERY, PRINTERS_AND_SCANNERS, PROJECTORS, SHOES_AND_FOOTWEAR, SOFTWARE, TOYS, TVS_AND_MONITORS, VIDEO_GAME_CONSOLES_AND_VIDEO_GAMES, WATCHES} | The sub type of items to be uploaded by this feed |
migrated_from_feed_id numeric string | Used to split an original feed into multiple new feeds,
|
name UTF-8 encoded string | User specified name for the feed |
override_type enum {LANGUAGE, COUNTRY, VERSION, CATALOG_SEGMENT_CUSTOMIZE_DEFAULT, LANGUAGE_AND_COUNTRY, BATCH_API_LANGUAGE_OR_COUNTRY, SMART_PIXEL_LANGUAGE_OR_COUNTRY, LOCAL} | If this is a secondary feed, this specifies the override type of the feed |
override_value string | Override value of the feed dependent on the override type (country or language). |
primary_feed_ids list<numeric string> | primary_feed_ids to which a supplementary feed should be linked |
enum{autodetect, on, off} | Default value: autodetect Whether or not there will be quotes around each field, only for TSV feeds. If this field is provided, we use it instead of the parameter quoted_fields |
rules list<JSON-encoded string> | A list of rules applied to feed uploads |
schedule JSON-encoded string | A JSON-encoded string representing a recurrent schedule for fetching the feed. Default timezone is America/Los_Angeles. Learn more about feed schedules |
selected_override_fields array<string> | Selected Override Fields of the feed, written as a list of fields which should be processed from the feed file. From whiltelisted_properties |
update_schedule JSON-encoded string | The configuration for fetching updates to a feed in a recurrent manner. The uploads would only update the items in the feed or create new ones. No items would be deleted. This is useful for sending |
id
in the return type.id
: numeric string, Error | Description |
---|---|
100 | Invalid parameter |
200 | Permissions error |