Marketing API Version

Product Feed Upload Errors

You may experience errors in your Product Feed, with varying severities.

Errors that are fatal mean those items are not created, while errors with a severity of warning are informational but items are created.

Even when you see items with severity fatal the rest of the products with no errors are created.

Reading

List of errors during the product feed upload

Examples

curl -G \
-d "access_token=<ACCESS_TOKEN>" \
https://graph.facebook.com/<API_VERSION>/<UPLOAD_ID>/errors

The response:

{
  "data": [
    { 
      "id" : 1510567479166488,
      "summary" : "Group Mismatch for Property: shipping.",
      "description" : "Property shipping must have the same value for all items in the same group.",
      "severity" : "fatal",  
      "row_number" : 10,
      "column_number" : 5
    },
    { 
      "id" : 275241589314958,
      "summary" : "Price Without Currency for Property: shipping_price_value, shipping_price_currency",
      "description" : "Property shipping_price_value, shipping_price_currency is a price that has been specified without a currency.",
      "severity" : "warning",  
      "row_number" : 17,
      "column_number" : 40
    }
  ]
}

Example

Graph API Explorer
GET /v3.0/{product-feed-upload-id}/errors 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-upload-id}/errors',
    '{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-upload-id}/errors",
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{product-feed-upload-id}/errors",
    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-upload-id}/errors"
                                      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.

Parameters

This endpoint doesn't have any parameters.

Fields

Reading from this edge will return a JSON formatted result:

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

data

A list of ProductFeedUploadError nodes.

paging

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

summary

Aggregated information about the edge, such as counts. Specify the fields to fetch in the summary param (like summary=total_count).

FieldDescription
total_count
int32

Total number of objects on this edge

Validation Rules

ErrorDescription
100Invalid parameter

Creating

You can't perform this operation on this endpoint.

Updating

You can't perform this operation on this endpoint.

Deleting

You can't perform this operation on this endpoint.