Marketing API Version

Product Feed Uploads

Reading

Concrete upload attempts.

Since uploads happen automatically based on a schedule, you may need to get a list of recent uploads. The list includes both manual and scheduled uploads. To get the list, make an HTTP GET call to:

https://graph.facebook.com/<PRODUCT_FEED_ID>/uploads

Example

Graph API Explorer
GET /v2.12/{product-feed-id}/uploads 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-feed-id}/uploads',
    '{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-feed-id}/uploads",
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{product-feed-id}/uploads",
    null,
    HttpMethod.GET,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
// For more complex open graph stories, use `FBSDKShareAPI`
// with `FBSDKShareOpenGraphContent`
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/{product-feed-id}/uploads"
                                      parameters:params
                                      HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];
If you want to learn how to use the Graph API, read our Using Graph API guide.

Permissions

Developers usually request these permissions for this endpoint:

Marketing Apps
  • ads_management
Page management Apps
No data
Other Apps
No data

Parameters

This endpoint doesn't have any parameters.

Fields

Reading from this edge will return a JSON formatted result:

{ "data": [], "paging": {} }

data

A list of ProductFeedUpload nodes.

paging

For more details about pagination, see the Graph API guide.

Validation Rules

ErrorDescription
100Invalid parameter

Creating

curl \
-F "url=http://www.example.com/sample_feed.tsv" \
-F "access_token=<ACCESS_TOKEN>" \
https://graph.facebook.com/<API_VERSION>/<PRODUCT_FEED_ID>/uploads
You can make a POST request to uploads edge from the following paths:
When posting to this edge, no Graph object will be created.

Permissions

Developers usually request these permissions for this endpoint:

Marketing Apps
  • ads_management
Page management Apps
No data
Other Apps
No data

Parameters

NameDescription
file
file

Direct upload of the file containing the products feed.

password
string

The password to be used with an HTTP(S) or (S)FTP URL. Required for (S)FTP URLs.

update_only
boolean

if set to true, only create/update will occur, noitems will be deleted

url
URL

The URL where the feed should be fetched. Can be an HTTP(S), or (S)FTP URL

username
string

The username to be used with an HTTP(S) or (S)FTP URL. Required for (S)FTP URLs.

Return Type

This endpoint supports read-after-write and will read the node represented by id in the return type.
Struct {
id: string,
}

Validation Rules

ErrorDescription
100Invalid parameter
200Permissions error
10802Product category misses user credential fields
294Managing advertisements requires an access token with the extended permission for ads_management
10801 Either "file" or "url" must be specified

Updating

You can't perform this operation on this endpoint.

Deleting

You can't perform this operation on this endpoint.