Ads and Commerce
Ads and Commerce
Resources

Returns API

Updated: Feb 7, 2025
Use this API to retrieve details for returns and to update return status.

Query a Single Return

GET {return-id}

Summary

Given a specific return ID, retrieve the current information associated with that return. Information can include the status of the return, the order it is associated with, return reason, and so on.

Request

GET  https://graph.facebook.com/vX.X/{return-id}
access_token: PAGE_ACCESS_TOKEN

Response

{
   "id":"588512618330234",
   "return_status":"REQUESTED",
   "return_message":"I am returning this because it was too small by two sizes.",
   "merchant_return_id":"RMA-12345",
   “item_return_quantities”:[{
      “key”:“28374328434347”,
      “value”:1
   }],
   “item_return_reasons”:[{
      “key”:“28374328434347”,
      “value”:“too_small”
   }],
   "order":{
      "id":”437827384982442”,
      “order_status”:{
         “state”:“COMPLETED”
      },
      “created”:"2022-05-26T18:19:22+00:00",
      “last_updated”:"2022-05-26T18:42:46+00:00"
   }
}

Fields

Attribute Type Description
id
string
Meta-generated unique return ID.
return_status
return_status
enum
Default. Status of this return.
return_message
string
Buyer-provided message when requesting a return.
merchant_return_id
string
Merchant-provided, unique return ID.
item_return_quantities
array of item_return_quantity
List of quantities for each item in the return.
item_return_reasons
array of item_return_reason
List of reasons for each item in the return.
items
array of order_items
List of the subset of order items associated with the return.
order
order
Order for which the return was created.

return_status enum

State Description
APPROVED
Seller approved the return.
DISAPPROVED
Seller disapproved the return.
MERCHANT_MARKED_COMPLETED
Seller manually marked the return as completed.
REFUNDED
Seller refunded for this return request.
REQUESTED
Buyer requested a return.

reason enum

State
General return reasons
NOT_NEEDED_ANYMORE
INACCURATE_DESCRIPTION
DEFECTIVE_ITEM
BETTER_PRICE
OTHER
DAMAGED_ITEM
WRONG_ITEM_RECEIVED
BOUGHT_BY_MISTAKE
DUPLICATE_ITEM
ITEM_QUALITY_NOT_EXPECTED
Return reasons reserved for clothing, shoes and apparel
TOO_SMALL
TOO_BIG
DID_NOT_LIKE_STYLE
DID_NOT_LIKE_COLOR
ORDERED_MULTIPLE_SIZES
ORDERED_MULTIPLE_COLORS
Return reasons reserved for electronics
MISSING_PARTS
ITEM_NOT_COMPATIBLE

item_return_quantity object

Attribute Type Description
key
string
ID representing the item.
value
Number
Quantity of the item returned.

item_return_reason object

Attribute Type Description
key
string
ID representing the item.
value
Number
Reason the item was returned.

List Returns by Shop

GET {cms-id}/returns

Summary

Given a Commerce Merchant Settings ID representing your shop, retrieve all the possible returns associated with it. Used primarily to determine all the returns for a shop given specific filters.

Request

GET https://graph.facebook.com/vX.X/{cms-id}/returns
access_token: PAGE_ACCESS_TOKEN

Fields

Attribute Type Required? Description
start_time_created
String
Optional
Fetch returns created after this date in Unix timestamp.
end_time_created
String
Optional
Fetch returns created before this date in Unix timestamp.
merchant_return_id
String
Optional
Fetch returns that have this unique merchant-provided return ID.
statuses
array of return_status enum
Optional
Return statuses to filter on.

Response

{
  "data": [
    <return_1>,
    <return_2>
  ],
  "paging": {
    "cursors": {
      "before": "--sanitized_key--",
      "after": "--sanitized_key--"
    }
  }
}

List Returns by Order

GET {order-id}/returns

Summary

Given a specific order, retrieve all possible returns associated with that order.

Request

GET https://graph.facebook.com/vX.X/{order-id}/returns
access_token: PAGE_ACCESS_TOKEN

Fields

Attribute Type Required? Description
merchant_return_id
String
Optional
Fetch returns that have this unique merchant-provided return ID.
statuses
array of return_status enum
Optional
Return statuses to filter on.

Response

{
  "data": [
    <return_1>,
    <return_2>
  ],
  "paging": {
    "cursors": {
      "before": "--sanitized_key--",
      "after": "--sanitized_key--"
    }
  }
}

Fields

Attribute Type Description
data
vec of return
Returns only default return fields. Additional data can be queried by passing in as fields.

Create a Return

POST {order-id}/returns

Summary

Given a specific order, creates a return associated with that order. The post requires information, such as the order_item ids, the reason for the returns, and the quantity of each order item. The response returns the ID of the return that was created. Only one return per order item is allowed. Optionally provide additional update information; for example, to accept the return and provide a label in the same request.

Request

POST  https://graph.facebook.com/vX.X/{order-id}/returns
access_token: PAGE_ACCESS_TOKEN

Request Params

{
   "return_message":"I am returning this because it was too small by two sizes.",
   "merchant_return_id":"RMA-12345",
   "items":[
      {
         "item_id":"111111111",
         "quantity":1,
         "reason":"TOO_SMALL"
      }
   ],
   "update":{
      "<optionally include any of the {return-id}/update_return input below>"
   }
}

Response

{
   "id":"1234567890"
}

Fields

Attribute Type Description
items
array of item
List of returned items.
return_status
return_status
enum
Status of this return.
return_message
string
Buyer-provided message when requesting a return.
merchant_return_id
string
Merchant-provided, unique return ID.

item object

Attribute Type Description
item_id
string
Required if retailer_id is not provided. A Meta-generated ID representing the line item on the order. This value is readable as the id field of the item response. You must provide retailer_id or item_id, but not both. If retailer_id is provided, item_id must not be provided.
retailer_id
string
Required if item_id is not provided. ID representing the product in the seller’s catalog. You must provide retailer_id or item_id, but not both. If item_id is provided, retailer_id must not be provided.
quantity
Number
Quantity of items returned.
reason
reason_enum
Reason for the return selected by the buyer.

Update a Return

POST {return-id}/update_return

Summary

Use this endpoint to update a return; for example, by accepting it and assigning a shipping label for the buyer.

Example: Request Params, Accept Return

{
  "update_event":"accept_return",
  "notes":"Make sure to bubble wrap the item when shipping it back",
  "merchant_return_id":"RMA1234567890",
  "return_shipping_labels":[
     {
        "carrier":"USPS",
        "cost":{
           "amount":"5.5",
           "currency":"USD"
        },
        "file_handle":"<file-handle>",
        "service_name":"Priority Mail",
        "tracking_number":"abc123"
     }
  ],
  "return_in_box_label_file_handles":[
     "<file-handle>",
     "..."
  ]
}

Example: Request Params, Close Return

{
   "update_event":"close_return",
   "notes":"We do not allow returns on Electronics. See our return policy.",
   "merchant_return_id":"ABC1234567890",
   "disapproval_reason":"NOT_WITHIN_MERCHANT_RETURN_POLICY"
}

Response for all examples

{
   "success":true
}

Fields

Attribute Type Description
update_event
update_event
enum
Seller’s decision on this return.
notes
string
Seller-provided notes on this return.
merchant_return_id
string
Merchant-provided, unique return id.
return_shipping_labels
array of return_shipping_label
List of seller-provided shipping labels to be used by the buyer to return items.
return_in_box_label_file_handles
array of string
List of labels uploaded using the instructions in Upload Labels and Using File Handles. Use it if you need to instruct the buyer to include labels inside the returned box.

update_event enum

State Description
ACCEPT_RETURN
Accepts this return.
CLOSE_RETURN
Closes this return.

return_shipping_label object

Attribute Type Description
carrier
carrier_code
enum
service_name
string
Seller-provided service name from the shipping carrier; for example, Priority Mail.
tracking _number
string
Tracking number for the item.
file_handle
string
Shipping label uploaded using the instructions in Upload Labels and Using File Handles.
cost
Cost of the return shipping label.

Upload Labels and Use File Handles

Follow the instructions in Upload Files to upload Shipping Label files and get corresponding file handles. Use the file handles in the return_shipping_labels and return_in_box_label_file_handles parameters.
Did you find this page helpful?
Thumbs up icon
Thumbs down icon