Working with claims

The new resource /claims will help you get the claim details and start actions via API to settle them properly by adding this feature to your integration.

Contents

→What actions can you start?
→How do find out your application of a news in a claim?
→Receive a notification
→Claims search
→How filter?
→How sort?
→Parameters description
→Using resources - Step by step
↳See message details
    ↳Get all the messages of a claim
    ↳Answer and attach files to messages
    ↳Attachment post
    ↳Message post with the above attachment
    ↳Send messages without attachments
    ↳Download the file
    ↳Get file´s information
    ↳Request mediation
    ↳Get file´s information
    ↳See participants expected resolutions
→Parameters description
    ↳Accept the player´s resolution
    ↳Load a new resolution
    ↳Get claim evidence
    ↳Load shipping evidence
    ↳Uploading proof of shipping
    ↳Resource fields
    ↳Delivery by mail
    ↳Delivery by courier service
    ↳Delivery by hand
    ↳Delivery by email
    ↳Status history and claim scenario
    ↳History of claim status and scenario
    ↳See the claim history of actions taken
→Parameters description
   
↳Get details of the reason why the claim was filed


What actions can you start?

You can start the following actions:

  • See message details
  • Get all the messages of a claim
  • See, answer, and attach files to messages
  • Send messages without attachments
  • Request mediation
  • See participants' expected resolutions
  • Accept the player's resolution
  • Load a new resolution
  • Get claim evidence
  • Load shipping evidence
  • History of claim status and scenario
  • See the claim history of actions taken
  • Get the details of the reason why the claim was filed

How do find out your application of a news in a claim?

Make a claim is an event that happen by Mercado Libre, so you must subscribe to our claims feed to become aware in real time when that event happen. Visit our Application manager and edit the notification Settings of your application. For more information on how to create and configure a new application, see this link. You must choose a callback URL: configure the public URL of the domain where you want to receive all notifications from Mercado Libre.

This setting allows you to interact with Mercado Libre notifications.


Whit this setting you can interact with las notificaciones de Mercado Libre.


Receive a notification

Mercado Libre will send you notifications through a POST message with information in the body of the list. The most important attribute in the message is the user ID related to the notification, followed by the resource. The resource is the item that was updated or created.

{
  "user_id": 1234,
  "resource": "v1/claims/731867397",
  "topic": "claims",
  "received": "2018-10-19T16:38:34.425Z",
  "application_id" : 14529
  "sent" : "2018-10-19T16:40:34.425Z",
  "attempts" : 0
}

After receiving a notification, you must send an acknowledgment (ACK 200) to Mercado Libre to stop receiving it.

The search for claims will help you know which ones belong to the user of a valid token (created as of January 2018).

https://api.mercadolibre.com/v1/claims/search?stage=dispute&access_token={...}
{
    "paging": {
        "offset": 0,
        "limit": 30,
        "total": 170
    },
    "data": [
        {
            "id": 2342342432,
            "type": "mediations",
            "stage": "dispute",
            "status": "closed",
            "parent_id": null,
            "client_id": null,
            "resource_id": 234342342,
            "resource": "order",
            "reason_id": "PDD316",
            "players": [
                {
                    "role": "complainant",
                    "type": "buyer",
                    "user_id": 44234343,
                    "available_actions": [
                        {
                            "action": "recontact",
                            "due_date": "2018-09-29T07:37:16.656-04:00",
                            "mandatory": null
                        }
                    ]
                },
                {
                    "role": "respondent",
                    "type": "seller",
                    "user_id": 2343424,
                    "available_actions": [
                        {
                            "action": "recontact",
                            "due_date": "2018-09-29T07:37:16.656-04:00",
                            "mandatory": null
                        }
                    ]
                },
                {
                    "role": "mediator",
                    "type": "internal",
                    "user_id": 432434324,
                    "available_actions": []
                }
            ],
            "resolution": {
                "reason": "payment_refunded",
                "date_created": "2018-08-30T07:37:16.656-04:00",
                "benefited": [
                    "complainant"
                ],
                "closed_by": "mediator"
            },
            "labels": [],
            "site_id": "MLM",
            "date_created": "2018-08-25T15:57:55.588-04:00",
            "last_updated": "2018-08-30T07:37:16.839-04:00"
        } 
]}


How filter?

The parameters available for filters are: id, type, stage, status, resource_id, resource, reason_id, site_id, players.role, players.user_id, order_id, payment_id, parent_id, date_created, last_updated. For example, if you want to filter by stage and status:

https://api.mercadolibre.com/v1/claims/search?stage=dispute&status=opened&access_token=$ACCESS_TOKEN


How sort?

To sort the results just add the sort parameter with the respective field that you want and if the order must be ascending or decreasing (&sort=:asc|desc). For example, to sort by update date:

https://api.mercadolibre.com/v1/claims/search?stage=dispute&status=opened&sort=last_updated:asc&access_token={...}


Parameters description

The response to a resource /claims GET results in the following parameters:

  • id: Claim ID
  • type: Type of claim. It may take one of the following values:
    • mediations: Claim between buyer and seller
    • cancel_purchase: Purchase cancelled by buyer
    • return: Product return. In this case, there are no messages. To process returns, follow the documentation Trabajar con Devoluciones.
    • cancel_sale: Cancellation of purchase by the seller.
      The status always would be "closed".
      The stage always would be "none".
      The complainant role will always be the type seller, collector or sender depending on the resource.
  • stage: Claim stage. It may take one of the following values:
    • claim: Claim stage involving both buyer and seller
    • dispute: Mediation stage involving a representative of Mercado Libre.
    • recontact: Stage in which one of the parties contacts the other after the claim/dispute is settled.
    • none: Not applicable.
  • status: Claim status. It may take two values: opened and closed.
  • parent_id: ID of a parent claim
  • resource: Identifier of the resource on which the claim is created. It may be:
    • payment.
    • order.
    • shipment.
  • resource_id: ID of the resource on which the claim is created, depending on the above parameter.
  • players: List of players involved in the claim with their relevant actions and available times.
    • role: Role within the claim. It may be:
      complainant: person who starts the claim.
      respondent: person the claim is filed against.
      mediator: Person who intervenes to help solve the problem
    • type: Role filled by the person regarding the claimed transaction.

      It may vary according to the resource.
      • Payment: buyer or collector.
      • Order: buyer or seller.
      • Shipment: receptor o remitente.
    • user_id: Type ID of the above parameter.
    • available_actions: List of actions that the involved parties may take action:
    • action: possible actions to be performed. For the seller they will be:
    • send_message_to_complainant: send message to the buyer (with or without attachments).
      send_message_to_mediator: send message to the mediator (with or without attachments).
      recontact: reopen an already closed claim, through an interaction like a message.
      refund: return the money purchased. It must be done by the front of Mercado Libre or Mercado Pago.
      open_dispute: start a mediation.
      send_potential_shipping: send a post promise, a date.
      add_shipping_evidence: post an evidence that the product was sent.
      send_attachments: send message with attachments.
      allow_return_label: generate return label.
      send_tracking_number: send the tracking number.

      • due_date: time limit to perform the action.
      • mandatory: this field in true indicates that the action is mandatory and must be performed within the reported time.
    • resolution: Form of claim resolution.
    • labels: Claim labels, e.g., a label that shows whether the claim affects reputation or not.
    • site_id: ID of the site on which the claim is conducted.
    • date_created: Claim creation date.
    • last_updated: Time when the claim was last updated.

    The response to a resource /claim message GET results in a list with the following parameters:

    • sender_role: Player who sent the message
    • receiver_role: Player who will receive the message
    • attachments: List of message attachments

        filename: Named hashed attached file.
        original_filename: Actual name of the attachment.
        size: File size in Bytes.
        type: File type.
        date_created: Date when the attachment was uploaded.

    • stage: Stage in which the message was sent.
    • date_created: Date when the message was sent.
    • date_read: This value will be null until a new resource version is available.
    • message: Message text.

    Using resources - Step by step

    See message details

    Call:

    curl -X GET “https://api.mercadolibre.com/v1/claims/{claim_id}?access_token=$ACCESS_TOKEN”

    Example:

    curl -X GET “https://api.mercadolibre.com/v1/claims/950700111?access_token=$ACCESS_TOKEN”

    Response:

    {
        "id": 950700111,
        "type": "mediations",
        "stage": "claim",
        "status": "closed",
        "parent_id": null,
        "client_id": null,
        "resource_id": 1656223086,
        "resource": "order",
        "reason_id": "PDD-0",
        "players": [
            {
                "role": "complainant",
                "type": "buyer",
                "user_id": 271942703,
                "available_actions": [
                    {
                        "action": "recontact",
                        "due_date": "2018-04-07T10:35:29.000-0400",
                        "mandatory": false
                    }
                ]
            },
            {
                "role": "respondent",
                "type": "seller",
                "user_id": 271959653,
                "available_actions": [
                    {
                        "action": "recontact",
                        "due_date": "2018-04-07T10:35:29.000-0400",
                        "mandatory": false
                    }
                ]
            }
        ],
        "resolution": {
            "reason": "item_returned",
            "date_created": "2018-03-08T10:35:29.269-0400",
            "decision": [
                "complainant",
                "respondent"
            ],
            "closed_by": "mediator"
        },
        "coverages": [
            {
                "type": "bpp",
                "benefited": "complainant",
                "amount": 194.99,
                "resource": "bpp",
                "resource_id": 224635193,
                "date_created": "2018-03-08T10:35:30.000-0400",
                "costs": [
                    {
                        "role": "respondent",
                        "amount": 194.99,
                        "date_created": "2018-03-08T10:35:30.000-0400"
                    }
                ]
            },
            {
                "type": "return_label",
                "benefited": "complainant",
                "amount": 144.99,
                "resource": "bpp",
                "resource_id": 224635218,
                "date_created": "2018-03-08T10:38:28.000-0400",
                "costs": [
                    {
                        "role": "mediator",
                        "amount": 144.99,
                        "date_created": "2018-03-08T10:38:28.000-0400"
                    },
                    {
                        "role": "respondent",
                        "amount": 0,
                        "date_created": "2018-03-08T10:38:28.000-0400"
                    }
                ]
            }
        ],
        "labels": [
            {
                "name": "reputation",
                "value": "avoid",
                "comments": null,
                "admin_id": null,
                "date_created": "2018-03-08T09:56:00.078-0400"
            },
            {
                "name": null,
                "value": null,
                "comments": null,
                "admin_id": null,
                "date_created": "2018-03-08T09:56:00.078-0400"
            },
            {
                "name": null,
                "value": null,
                "comments": null,
                "admin_id": null,
                "date_created": "2018-03-08T09:56:00.078-0400"
            },
            {
                "name": "return_label",
                "value": "charged",
                "comments": null,
                "admin_id": null,
                "date_created": "2018-03-08T09:56:00.078-0400"
            }
        ],
        "site_id": "MLA",
        "date_created": "2018-03-08T09:56:00.078-0400",
        "last_updated": "2018-03-08T10:38:27.999-0400"
    }

    Get all the messages of a claim

    Call:

    curl -X GET “https://api.mercadolibre.com/v1/claims/{claim_id}/messages?access_token=$ACCESS_TOKEN”

    Example:

    curl -X GET "https://api.mercadolibre.com/v1/claims/950463475/messages?access_token=$ACCESS_TOKEN"
    

    Response:

    [
        {
            "sender_role": "respondent",
            "receiver_role": "complainant",
            "attachments": [
                {
                    "filename": "fa8d559e-b6c9-4a9d-9824-aba4607bd869_271959653.jpg",
                    "original_filename": "camiseta promocional 6555 rosa.jpg",
                    "size": 5434,
                    "type": "image/jpeg",
                    "date_created": "2018-03-08T16:59:25.936-0400"
                }
            ],
            "stage": "claim",
            "date_created": "2018-03-08T16:59:25.936-0400",
            "message": "Este es un mensaje de test del respondant al complainant",
        },
        {
            "sender_role": "complainant",
            "receiver_role": "respondent",
            "attachments": [],
            "stage": "claim",
            "date_created": "2018-03-08T10:40:02.602-0400",
            "message": "Test pdd ",
        }
    ]

    Answer, and attach files to messages

    Attachment post

    Call:

    curl -X POST "https://api.mercadolibre.com/v1/claims/$CLAIM_ID/attachments?access_token=$ACCESS_TOKEN" -F file=$FILE_PATH
    Notes:
    - The POST should be made as form.data with file = file location.
    - The file needs to have a maximum 5 MB size.
    - You can exchange pictures, instruction manuals, invoices, and any other attachments of up to 5 MB in JPG, PNG, PDF and TXT format.

    Example:

    curl -X POST "https://api.mercadolibre.com/v1/claims/950463475/attachments?access_token=$ACCESS_TOKEN" -H 'content-type: multipart/form-data;  -F 'file=@/Users/user/Desktop/file.jpg'

    Response:

    {
        "user_id": 271959653,
        "filename": "fa8d559e-b6c9-4a9d-9824-aba4607bd869_271959653.jpg",
        "render_url": "https://api.mercadolibre.com/mediations/claims/attachments/render/fa8d559e-b6c9-4a9d-9824-aba4607bd869_271959653.jpg"
    }

    Message post with the above attachment

    Call:

    POST “https://api.mercadolibre.com/v1/claims/{claim_id}/messages?access_token=$ACCESS_TOKEN&application_id=$APPLICATION_ID”
    Note:
    the attachment list will display all the attachments retrieved in the previous POST and associated to the message, separated by comma.

    Example:

    curl -X POST “https://api.mercadolibre.com/v1/claims/950463475/messages?access_token=$ACCESS_TOKEN&application_id=$APPLICATION_ID” -H 'Content-Type: application/json'  \
     -d '{ \
      "receiver_role": "complainant", \
      "message": "Este es un mensaje de test del respondent al complainant", \
      "attachments": [ \
        "fa8d559e-b6c9-4a9d-9824-aba4607bd869_271959653.jpg" \
      ] \
    }'

    Response:

    {"id":1817133310}
    


    Send messages without attachments

    Call:

    POST “https://api.mercadolibre.com/v1/claims/{claim_id}/messages?access_token=$ACCESS_TOKEN”

    Example:

    curl -X POST “https://api.mercadolibre.com/v1/claims/950463475/messages?access_token=$ACCESS_TOKEN” -H 'Content-Type: application/json'  \
     -d '{ \
      "receiver_role": "complainant", \
      "message": "Este es un mensaje de test del respondent al complainant", \
    }'

    Response:

    {"id":1817133310}
    

    Download the file

    Call:

    GET "https://api.mercadolibre.com/v1/claims/{claim_id}/attachments/{attach_id}/download?access_token=$ACCESS_TOKEN"

    Example:

    curl -X GET "https://api.mercadolibre.com/v1/claims/1022718940/attachments/0f2d81a2-c489-435e-96af-59688ad3d8f4_305860144.jpeg/download?access_token=$ACCESS_TOKEN"

    Response: the attachtments picture.

    Get file´s information 
    Call:

    GET "https://api.mercadolibre.com/v1/claims/{claim_id}/attachments/{attach_id)?access_token=$ACCESS_TOKEN"

    Example:

    curl -X GET "https://api.mercadolibre.com/v1/claims/1022718940/attachments/0f2d81a2-c489-435e-96af-59688ad3d8f4_305860144.jpeg?access_token=$ACCESS_TOKEN"

    Response:

    {
        "filename": "0f2d81a2-c489-435e-96af-59688ad3d8f4_305860144.jpeg",
        "original_filename": "casa.jpeg",
        "size": 10080,
        "date_created": "2018-07-30T12:25:18.133-04:00",
        "type": "image/jpeg"
    }

    Request mediation

    Response:

    PUT “https://api.mercadolibre.com/v1/claims/{claim_id}?access_token=$ACCESS_TOKEN”

    Example:

    curl -X PUT “https://api.mercadolibre.com/v1/claims/950463475?access_token=$ACCESS_TOKEN”  -H 'Content-Type: application/json' -d '{"stage":"dispute"}'

    Response:

    {
        "id": 950463475,
        "type": "mediations",
        "stage": "dispute",
        "status": "opened",
        "parent_id": null,
        "client_id": null,
        "resource_id": 1656273684,
        "resource": "order",
        "reason_id": "PDD-0",
        "players": [
            {
                "role": "complainant",
                "type": "buyer",
                "id": 271942703,
                "available_actions": []
            }
        ],
        "resolution": null,
        "coverages": [],
        "labels": [
            {
                "name": null,
                "value": null,
                "comments": null,
                "admin_id": null,
                "date_created": "2018-03-08T10:40:02.390-0400"
            },
            {
                "name": null,
                "value": null,
                "comments": null,
                "admin_id": null,
                "date_created": "2018-03-08T10:40:02.390-0400"
            }
        ],
        "site_id": "MLA",
        "date_created": "2018-03-08T10:40:02.390-0400",
        "last_updated": "2018-03-12T09:17:56.844-0400"
    }
    

    Once mediation has begun, messages cannot be sent to the buyer. All communication will be made by Mercado Libre. For this, it is necessary to change the receiver_role to mediator.

    Call:

    Post "https://api.mercadolibre.com/v1/claims/{claim_id}/messages?access_token=$ACCESS_TOKEN"

    Example:

    curl -X POST 'https://api.mercadolibre.com/v1/claims/1036274835/messages?access_token=ACCESS_TOKEN'  -H 'Content-Type: application/json' -d '{"receiver_role": "mediator", "message": "Teste de resposta"}'

    Response:

    {"id": 1914089028}

    See participants expected resolutions

    Call:

    GET “https://api.mercadolibre.com/v1/claims/{claim_id}/expected_resolutions'?access_token=$ACCESS_TOKEN”
    

    Example:

    curl -X GET “https://api.mercadolibre.com/v1/claims/950463475/expected_resolutions?access_token=$ACCESS_TOKEN”
    

    Response:

    [
        {
            "player_role": "complainant",
            "user_id": 271942703,
            "expected_resolution": "return",
            "date_created": "2018-03-08T11:40:02.489-0300",
            "last_updated": "2018-03-08T11:40:02.489-0300",
            "status": "pending"
        }
    ]
    

    Parameters description

    • player_role: claim player role
    • user_id: claim player ID
    • expected_resolution: claim resolution loaded by the player specified in the above parameter. Possible values are:
       - refund: the player expects a money refund
       - product: the player expects to receive the product
       - change_product: the player expects to change the product
       - return_product: the player expects to have the product returned with the subsequent money refund
    • date_created: expected resolution creation date
    • date_created: time when the expected resolution was last updated
    • status: expected resolution status. It may take one of the following values:
       - pending: the player loaded the expected resolution, but its counterparty has not accepted it yet
       - accepted: the resolution loaded by the player was accepted by its counterparty or, otherwise, by Mercado Libre's mediator
       - rejected: the resolution loaded by the player was rejected by its counterparty or, otherwise, a new resolution alternative was loaded
    Notes:
    Regardless of the resolutions loaded by the parties involved, in certain cases the final resolution is defined by a representative of Mercado Libre, if the parties fail to come to an agreement. Today, accepting the refund option does not return the money. It is necessary to return to the Mercado Libre or Mercado Pago front.

    Accept the player´s resolution

    Call:

    PUT “https://api.mercadolibre.com/v1/claims/{claim_id}/expected_resolutions'?access_token=$ACCESS_TOKEN”

    Example:

    curl -X PUT “https://api.mercadolibre.com/v1/claims/950463475/expected_resolutions?access_token=$ACCESS_TOKEN” d '{"status":"accepted"}'

    Response:

    [
        {
            "player_role": "complainant",
            "user_id": 271942703,
            "expected_resolution": "change_product",
            "date_created": "2018-03-08T11:40:02.489-0300",
            "last_updated": "2018-03-08T11:40:02.489-0300",
            "status": "accepted"
        }
    ]
    
    Notes:
    -In the event the respondent accepts the complainant's resolution.
    - If applicable, Mercado Libre will give the buyer a label to return the product.
    - The resolution to be accepted is always depending on the counterparty's decision.

    Load a new resolution

    Call:

    POST “https://api.mercadolibre.com/v1/claims/{claim_id}/expected_resolutions'?access_token=$ACCESS_TOKEN”

    Example:

    curl -X POST “https://api.mercadolibre.com/v1/claims/950463475/expected_resolutions?access_token=$ACCESS_TOKEN” d '{"expected_resolution":"return_product"}'

    Response:

    [
        {
            "player_role": "complainant",
            "user_id": 271942703,
            "expected_resolution": "change_product",
            "date_created": "2018-03-07T11:40:02.489-0300",
            "last_updated": "2018-03-08T11:40:02.489-0300",
            "status": "rejected"
        },
    {
            "player_role": "respondent",
            "user_id": 271944560,
            "expected_resolution": "return_product",
            "date_created": "2018-03-08T11:40:02.489-0300",
            "last_updated": "2018-03-08T11:40:02.489-0300",
            "status": "accepted"
        }
    ]
    Note:
    In the example, the seller rejects the buyer's requested change of product, but accepts the product return and, alternatively, grants a money refund to the buyer.

    Or type of claim directly interfere with the solutions that may be proposed. There are claims of type PNR (paguei e não recebi) and PDD (produto com defeito). To identify or type of claim, check the three first letters of the reason_id field. For example, there is no information field for "PNR3430", it is a claim to PNR type.

    In this way, for the claims of the PNR type, we have the following resolutions:

    - refund - Return of Dinheiro,

    - product - Shipping the product.

    If by consulting the expected resolution and you are as a product, the seller can accept this solution or propose refund. However, if the expected solution is refund, the seller must accept the solution or negotiate via message with the buyer.

    To accept or to offer the option of a refund will not return the payment. Nowadays, through API claims,  it’s still not possible to carry out this action.


    For purchases made with ME2:

    Solutions to PDD claims type will generate a label for the buyer to return the goods. For this to occur, the submission status of the order that originated the claim must be delivered.

    If the chosen solution is return_product, the money back will only occur when the generated tag is in shipped or delivered status, depending on internal validations.

    To identify if the purchase is ME2, use the Shipping API. The information will be in the Mode field.


    Get claim evidence

    Call:

    GET “https://api.mercadolibre.com/v1/claims/{claim_id}/evidences?access_token=$ACCESS_TOKEN”

    Example:

    curl -X GET “https://api.mercadolibre.com/v1/claims/949903015/evidences?access_token=$ACCESS_TOKEN”  
    Note:
    At present, there is only the shipping evidence load by the seller.

    Response:

    [
        {
            "attachments": [],
            "type": "shipping_evidence",
            "date_shipped": "2018-03-07T05:00:00Z",
            "date_delivered": null,
            "destination_agency": null,
            "receiver_email": null,
            "receiver_id": null,
            "receiver_name": null,
            "shipping_company_name": "servientrega",
            "shipping_method": "mail",
            "tracking_number": "132456787"
        }
    ]

    Load shipping evidence

    Call:

    POST “https://api.mercadolibre.com/v1/claims/{claim_id}/evidences?access_token=$ACCESS_TOKEN”

    Example:

    curl -X POST “https://api.mercadolibre.com/v1/claims/949903015/evidences?access_token=$ACCESS_TOKEN” -d {"attachments": [],"type": "shipping_evidence", "date_shipped": "2018-03-07T05:00:01.858-03:00", "shipping_company_name": "servientrega", "shipping_method": "mail" }  

    Response:

    [
        {
            "attachments": [],
            "type": "shipping_evidence",
            "date_shipped": "2018-03-07T05:00:00Z",
            "date_delivered": null,
            "destination_agency": null,
            "receiver_email": null,
            "receiver_id": null,
            "receiver_name": null,
            "shipping_company_name": "servientrega",
            "shipping_method": "mail",
            "tracking_number": "132456787"
        }
    ]
    

    Uploading proof of shipping

    When the buyer opens a claim to receive the product or to have a solution on this matter, and the seller has already shipped the product and holds proof of shipping, they should use the following resource.

     

    Resource fields:

    type: is the kind of proof. The expected values for this field are:
    shipping_evidence cuando el vendedor ya tiene la prueba de envío o handling_shipping_evidence que debe usarse cuando existe un previsión de publicaciones. 
    shipping_method: refers to how the product was shipped, by mail, parcel (through a courier service), personal delivery (through a person) or by email.
    shipping_company_name: you should enter the name of the courier service;
    tracking_number
    : enter the tracking number.
    date_shipped: date of shipping.
    date_delivered: date of delivery.
    destination_agency: name of the destination agency.
    receiver_name: name of the receiver.
    receiver_id: id of the person who received the product.
    attachments: attachment files. 
    receiver_email: e-mail address of the receiver of the digital order. 
    handling_date: date of publication. 

    Notes:
    all dates must be entered using the following format:
    - Long format: yyyy-MM-dd’T’HH: mm: ss.SSSZ. Example: 2019-08-06T14: 00: 00.000-0400;
    - Short format: yyyy-MM-dd. Example: 2019-08-06 
    Every shipping type has mandatory fields, follow them accordingly.

    Delivery by mail

    Required fields: "shipping_company_name", "date_shipped" 
    Optionals fields: "tracking_number", "attachments"
    Call:

    POST “https://api.mercadolibre.com/v1/claims/{claim_id}/evidences?access_token=$ACCESS_TOKEN”

    Example:

    curl -X POST “https://api.mercadolibre.com/v1/claims/949903015/evidences?access_token=$ACCESS_TOKEN” -d {"type": "shipping_evidence",  "shipping_method": "mail" ,  "shipping_company_name": "Correios",  "tracking_number": "XX123456789XX", "date_shipped": "2018-03-07T05:00:01.858-03:00",  "attachments": ["38f4e399-0f18-41e4-8f48-91aecd2dee1a_419059118.png"] } 
    

    Response:

    [
        {
            "attachments": [
                {
                    "filename": "38f4e399-0f18-41e4-8f48-91aecd2dee1a_419059118.png",
                    "original_filename": "Captura de Tela 2019-07-30 a?s 09.45.40.png",
                    "size": 63337,
                    "date_created": "2019-08-21T09:33:02.325-04:00",
                    "type": "image/png",
                    "file_url": "/mediations/claims/attachments/render/193294183"
                }
            ],
            "date_shipped": "2018-03-07T04:00:01.858-04:00",
            "date_delivered": null,
            "destination_agency": null,
            "receiver_email": null,
            "receiver_id": null,
            "receiver_name": null,
            "shipping_company_name": "Correios",
            "shipping_method": "mail",
            "tracking_number": "XX123456789XX",
            "type": "shipping_evidence"
        }
    ]
    

     

    Delivery by courier service

    Required fields: "shipping_company_name", "destination_agency", "date_shipped", "receiver_name"
    Optionals fields: "receiver_id", "tracking_number", "date_delivered", "receiver_email", "attachments"
    Call:

    POST “https://api.mercadolibre.com/v1/claims/{claim_id}/evidences?access_token=$ACCESS_TOKEN”

    Example:

    curl -X POST “https://api.mercadolibre.com/v1/claims/949903016/evidences?access_token=$ACCESS_TOKEN” -d {"type": "shipping_evidence",  "shipping_method": "entrusted" , "shipping_company_name": "Total", "destination_agency": "Agencia", "date_shipped": "2018-08-17T05:00:01.858-03:00", "receiver_name": "Jose da Silva", "receiver_id": "12345678", "tracking_number": "XX123456789XX", "attachments": [] } 
    

    Response:

    [
        {
            "attachments": [],
            "date_shipped": "2018-08-17T04:00:01.858-04:00",
            "date_delivered": null,
            "destination_agency": "Agencia",
            "receiver_email": null,
            "receiver_id": 12345678,
            "receiver_name": "Jose da Silva",
            "shipping_company_name": "Total",
            "shipping_method": "mail",
            "tracking_number": "XX123456789XX",
            "type": "shipping_evidence"
        }
    ]
    

     

    Delivery by hand

    Required fields: "date_delivered" 
    Optionals fields: "attachments"
    Call:

    POST “https://api.mercadolibre.com/v1/claims/{claim_id}/evidences?access_token=$ACCESS_TOKEN”

    Example:

    curl -X POST “https://api.mercadolibre.com/v1/claims/949903017/evidences?access_token=$ACCESS_TOKEN” -d {"type": "shipping_evidence",  "shipping_method": "personal_delivery" , "date_delivered": "2018-03-07T05:00:01.858-03:00", "attachments": [] } 

    Response:

    [
        {
            "attachments": [
                {
                    "filename": "38f4e399-0f18-41e4-8f48-91aecd2dee1a_419059118.png",
                    "original_filename": "Captura de Tela 2019-07-30 a?s 09.45.40.png",
                    "size": 63337,
                    "date_created": "2019-08-21T09:39:06.316-04:00",
                    "type": "image/png",
                    "file_url": "/mediations/claims/attachments/render/193294183"
                }
            ],
            "date_shipped": null,
            "date_delivered": "2018-03-07T04:00:01.858-04:00",
            "destination_agency": null,
            "receiver_email": null,
            "receiver_id": null,
            "receiver_name": null,
            "shipping_company_name": null,
            "shipping_method": "personal_delivery",
            "tracking_number": null,
            "type": "shipping_evidence"
        }
    ]
    

     

    Delivery by email

    Required fields: receiver_email", "date_shipped
    Optionals fields: "attachments".
    Call:

    POST “https://api.mercadolibre.com/v1/claims/{claim_id}/evidences?access_token=$ACCESS_TOKEN”

    Example:

    curl -X POST “https://api.mercadolibre.com/v1/claims/949903018/evidences?access_token=$ACCESS_TOKEN” -d {"type": "shipping_evidence",  "shipping_method": "email" , "receiver_email": "teste@teste.com.br", "date_shipped": "2018-03-07T05:00:01.858-03:00",  "attachments": [] } 

    Response:

    [
        {
            "attachments": [
                {
                    "filename": "38f4e399-0f18-41e4-8f48-91aecd2dee1a_419059118.png",
                    "original_filename": "Captura de Tela 2019-07-30 a?s 09.45.40.png",
                    "size": 63337,
                    "date_created": "2019-08-21T09:44:43.908-04:00",
                    "type": "image/png",
                    "file_url": "/mediations/claims/attachments/render/193294183"
                }
            ],
            "date_shipped": "2018-03-07T04:00:01.858-04:00",
            "date_delivered": null,
            "destination_agency": null,
            "receiver_email": "teste@teste.com.br",
            "receiver_id": null,
            "receiver_name": null,
            "shipping_company_name": null,
            "shipping_method": "email",
            "tracking_number": null,
            "type": "shipping_evidence"
        }
    ] 

    There are cases in which the products haven’t been published yet, but the seller has the intention to publish and they already have a scheduled date to do so. Then, this resource can be used:

    Call:

    POST “https://api.mercadolibre.com/v1/claims/{claim_id}/evidences?access_token=$ACCESS_TOKEN”

    Example:

    curl -X POST “https://api.mercadolibre.com/v1/claims/949903019/evidences?access_token=$ACCESS_TOKEN” -d {"type": "handling_shipping_evidence", "handling_date": "2019-08-23" } 

    Response:

    [
        {
            "handling_date": "2019-08-23T22:59:59.000-04:00",
            "type": "handling_shipping_evidence"
        }
    ]
    
    Note:
    When the stage of the claim over a product is in discussion/mediation, the seller won’t be able to send proof of shipping. Once any type of proof is sent, it can’t be changed. To this end, we recommend that you complete as much information as possible.


    Status history and claim scenario
    Call:

    GET “https://api.mercadolibre.com/v1/claims/{claim_id}/status_history?access_token=$ACCESS_TOKEN”

    Example:

    curl -X GET “https://api.mercadolibre.com/v1/claims/950463475/status_history?access_token=$ACCESS_TOKEN”

    Response:

    [
        {
            "stage": "dispute",
            "status": "closed",
            "date": "2018-03-12T10:33:01.858-03:00",
            "change_by": "mediator"
        },
        {
            "stage": "dispute",
            "status": "opened",
            "date": "2018-03-12T10:17:56.844-03:00",
            "change_by": "respondent"
        },
        {
            "stage": "claim",
            "status": "opened",
            "date": "2018-03-08T11:40:02.390-03:00",
            "change_by": "complainant"
        }
    ]

    History of claim status and scenario

    Call:

    GET “https://api.mercadolibre.com/v1/claims/{claim_id}/status_history?access_token=$ACCESS_TOKEN”

    Example:

    curl -X GET “https://api.mercadolibre.com/v1/claims/950463475/status_history?access_token=$ACCESS_TOKEN”

    Response:

    [
        {
            "stage": "dispute",
            "status": "closed",
            "date": "2018-03-12T10:33:01.858-03:00",
            "change_by": "mediator"
        },
        {
            "stage": "dispute",
            "status": "opened",
            "date": "2018-03-12T10:17:56.844-03:00",
            "change_by": "respondent"
        },
        {
            "stage": "claim",
            "status": "opened",
            "date": "2018-03-08T11:40:02.390-03:00",
            "change_by": "complainant"
        }
    ]

    See the claim history of actions taken

    Call:

    GET “https://api.mercadolibre.com/v1/claims/{claim_id}/actions_history?access_token=$ACCESS_TOKEN”
    

    Example:

    curl -X GET “https://api.mercadolibre.com/v1/claims/950463475/actions_history?access_token=$ACCESS_TOKEN”

    Response:

    [
        {
            “action_id”: 3454323247,
            “action_name”: “open_dispute”,
            “role”: ”mediator”,  
            "claim_stage": "claim",
            "claim_status": "opened",
           "date_created": "2018-03-12T10:33:01.858-03:00"
        },
        {
            “action_id”: 3454323245,
            “action_name”: “send_message_to_complainant”,
            “role”: ”respondent”,  
            "claim_stage": "claim",
            "claim_status": "opened",
           "date_created": "2018-03-10T11:33:01.858-03:00"
        },
        {
            “action_id”: 3454323243,
            “action_name”: “send_message_to_respondent”,
            “role”: ”complainant”,  
            "claim_stage": "claim",
            "claim_status": "opened",
           "date_created": "2018-03-10T10:33:01.858-03:00"
        }
    ]

    Parameters description

    • action_id: ID of action taken.
    • action_name: action taken.
    • role: player who took the action.
    • claim_stage: stage in which the action was taken.
    • claim_status: status of the stage in which the action was taken.
    • date_created: date on which the action was taken.

    Get details of the reason why the claim was filed

    Call:

    GET “https://api.mercadolibre.com/v1/reasons/{reason_id}/children”

    Example:

    curl -X GET “https://api.mercadolibre.com/v1/reasons/PDD2/children”

    Response:

    {
        "id": "PDD2",
        "name": "damaged_item",
        "detail": "El paquete llegó dañado y afectó al producto",
        "flow": "mediations",
        "position": 10,
        "site_id": "MLA",
        "parent_id": "PDD1",
        "status": "active",
        "categories": [],
        "expected_resolutions": [
            "product",
            "refund",
            "other"
        ],
        "date_created": "2018-03-14T19:22:11Z",
        "last_updated": "2018-03-14T19:22:10Z"
    }