Feedback sobre uma venda

Once a sale (or purchase) is fulfilled, the Seller may leave his/her feedback on the transaction and qualify the counterparty.
When the transaction is qualified as fulfilled, "custom" and "me1" shipments show that the product has been already delivered; therefore, bear in mind that this process should be started only if you are sure that the product has been delivered to the buyer. This way when the seller qualifies, a message will be sent to the buyer asking him/her about the sale and requesting confirmation of such sale product delivery.
Currently, this action is valid only for tracking shipment delivered statuses, that is, it has no impact on the involved Seller's reputation; it should be always applied to change status to delivered in sales without Mercado Envíos, moving these sales to the completed lists.

Contents

→Resource description
→Accepted values to send as "reason"
→Posting feedback
→Responding to Feedback
→How do I know the other party Feedback Id?
→Changing feedback


Resource description

Attribute Description
fulfilled True or False. Indicates whether the order was completed or not.Required.
message A string under 160 chars. Required.
rating Possible values are ‘negative’, ‘neutral’ in case ‘fulfilled’: ‘false’ or positive in case ‘fulfilled’: ‘true’. Required.
reason Mandatory field in case ‘fulfilled’: ‘false’.
restock_item Only for sellers, when ‘fulfilled’: ‘false’. When ‘restock_item’: ‘true’ means the order was not completed so the item should be restocked. The only restriction for restocking is that the status of the item cannot be ‘closed’.


Accepted values to send as "reason"

Sellers' available reasons are:

  • OUT_OF_STOCK: Out of stock
  • BUYER_NOT_ENOUGH_MONEY: Seller does not answer
  • BUYER_REGRETS: Buyer does not have enough money
  • SELLER_REGRETS: Buyer regrets transaction
  • BUYER_DID_NOT_ANSWER: Buyer does not answer
  • THEY_NOT_HONORING_POLICIES: Buyer is not honoring the policies
  • OTHER_MY_RESPONSIBILITY: It is my own responsibility (other reason)
  • OTHER_THEIR_RESPONSIBILITY: It is the counterparty's responsibility (other reason)
  • DUBIOUS_BUYER: Buyer is not reliable
  • HIGH_ML_COMISSION: Very high sales commission
  • HIGH_TAXES: Very high taxes
  • SELLER_HOLIDAY: No operations due to vacations
  • UNFRIENDLY_SHIPMENT_POLICY: Buyer does not accept shipment policy
  • UNAVAILABLE_PRODUCT: Product is not available
  • SELLER_ADDRESS_WITHDRAWAL: Buyer chooses to pick up product in person
  • WRONG_RECEIVER_ADDRESS: Wrong delivery address
  • HIGH_SHIPMENT_COST: Very high shipment costs
  • WRONG_SHIPMENT_COST: Wrongly estimated shipment cost
  • UNPRINTED_LABEL: Unable to print label
  • UNWITHDRAWN_PRODUCT_BY_DELIVER_COMPANY: Shipping company failed to pick up product for delivery
  • DENIED_PACKAGE: Shipping company failed to accept package due to size or weight
  • UNABLE_TO_READ_LABEL: Shipping company cannot read label
  • MANUFACTURING_PRODUCT_NOT_FINISHED: Unfinished manufactured product
  • SHIPMENT_PROBLEM_OTHER: Other shipment problems
  • DELIVERY_COMPANY_PROBLEM_OTHER: Shipping company had other problems

Buyers' available reasons are:

  • OUT_OF_STOCK: Out of stock
  • BUYER_PAID_BUT_DID_NOT_RECEIVE: Buyer made payment but did not receive product
  • OTHER_MY_RESPONSIBILITY: It is my own responsibility (other reason)
  • BUYER_REGRETS: Buyer regrets transaction
  • HIGH_SHIPMENT_COST: High shipment cost
  • SELLER_DID_NOT_ANSWER: Seller does not answer
  • THEY_NOT_HONORING_POLICIES: Buyer does not answer
  • OTHER_THEIR_RESPONSIBILITY: Seller is not honoring the policies
  • DESCRIPTION_DIDNT_MATCH_ARTICLE: The description does not match item


Posting feedback

You can reply to feedback you received from your trading partners to explain your reasons or to give additional information by doing a POST to the API, including feedback_id, as follows:

- -X POST -H "Content-Type: application/json" -d'{
"reply":"Muchas gracias por la buena predisposición"
}' "https://api.mercadolibre.com/feedback/{feedback_Id}/reply?access_token=$ACCESS_TOKEN"


How do I know the other party Feedback Id?

This information can be obtained by doing a GET to orders. If you have already done this, there is no need to do it again, since the feedback_id is included in the GET response:

curl -X GET "https://api.mercadolibre.com/orders/{order_Id}?access_token=$ACCESS_TOKEN"

Response:

{
  "id": 825103323,
  "status": "confirmed",
  "status_detail": {
  "code": null,
  "description": null
  },
  "date_created": "2014-03-17T23:27:53.000-04:00",
  "date_closed": "2014-03-17T23:27:53.000-04:00",
  "last_updated": "2014-06-01T16:36:28.000-04:00",
  "order_items": [
  {
    "item": {
      "id": "MLA494467937",
      "title": "Tag Heuer Aquaracer Automatico 43mm Cal16 Day-d Linea Nueva",
      "variation_id": null,
      "variation_attributes": []
    },
    "quantity": 1,
    "unit_price": 24100,
    "currency_id": "ARS"
  }
  ],
  "total_amount": 24100,
  "currency_id": "ARS",
  "buyer": {
  "id": 9981145,
  "nickname": "CARLITOS8665",
  "email": "carlitos8665@gmail.com",
  "phone": {
    "area_code": "011",
    "number": "1544706706",
    "extension": null
  },
  "alternative_phone": {
    "area_code": "011",
    "number": "48027618",
    "extension": null
  },
  "first_name": "Carlos",
  "last_name": "Acuña",
  "billing_info": {
    "doc_type": null,
    "doc_number": null
  }
  },
  "seller": {
  "id": 114499680,
  "nickname": "WATCHES-LUXURY2",
  "email": "watches-luxury2@hotmail.com",
  "phone": {
    "area_code": null,
    "number": "( 011) 1552490473",
    "extension": null
  },
  "alternative_phone": {
    "area_code": null,
    "number": "",
    "extension": null
  },
  "first_name": "carolina soledad",
  "last_name": "casares"
  },
  "payments": [],
  "feedback": {
  "purchase": {
    "id": 5040068164512,
    "date_created": "2014-04-07T11:20:00.000-04:00",
    "fulfilled": true,
    "rating": "positive",
    "status": "active"
  },
  "sale": {
    "id": 5040068160032,
    "date_created": "2014-04-07T11:20:57.000-04:00",
    "fulfilled": true,
   "rating": "neutral",
    "status": "active"
  }
  },
  "shipping": {
  "status": "to_be_agreed"
  },
  "tags": [
  "paid",
  "not_delivered"
  ],
  "mediations": [],
  "application_id": "2568868276694852",
  "hidden_for_seller": false,
  "buying_mode": "buy_it_now"
}

There is one pair of feedback_id for each transaction: sale and purchase. In this test example,“id”: 5040068160032 is the feedback_id for the sale-side , while “id”: 5040068164512 corresponds to purchase-side.


Changing feedback

You have already learned how to GET the other party’s feedback_id just by doing a POST to the API as follows:

curl -X PUT -H "Content-Type: application/json" -d '{
  "fulfilled": true,
  "rating": "positive",
  "message": "It’s ok.",
}' "https://api.mercadolibre.com//feedback/{feedback_id}?access_token=$ACCESS_TOKEN"

Next topic: Searches & advanced features.