Feedback on sale
Contents
→Resource description →Accepted values to send as "reason" →Posting feedback →Responding to feedback →Get a sale feedback →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:
curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -H 'Content-Type: application/json' -d
'{
"fulfilled": false,
"rating": "neutral",
"message": "Operation not completed",
"reason": "OUT_OF_STOCK",
"restock_item": false,
}'
https://api.mercadolibre.com/orders/$ORDER_ID/feedback
Responding to feedback
You can respond to feedback received from your trading partners to explain your reasons or offer additional information with a POST request, including the feedback_id, as described below:
curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -H 'Content-Type: application/json' -d'{
"reply":"Muchas gracias por la buena predisposición"
}'
https://api.mercadolibre.com/feedback/$FEEDBACK_ID/reply
Get a sale feedback
With the following GET request to orders resource you can check the feedbacks made on sales and in the response you will also get the feedback_id:
Request:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/orders/$ORDER_ID
Example:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/orders/825103323
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 'Authorization: Bearer $ACCESS_TOKEN' -H 'Content-Type: application/json' -d '{
"fulfilled": true,
"rating": "positive",
"message": "It’s ok.",
}'
https://api.mercadolibre.com/feedback/$FEEDBACK_ID
Next topic: Searches & advanced features.