Trabalhar com reclamações

O novo recurso /claims permitirá que você obtenha o detalhe de uma reclamação e possa realizar ações via API para resolvê-las de maneira correta, incorporando esta funcionalidade em sua integração.

Conteúdos

→Quais as ações que podem ser realizadas?
→Como receber a alteração de uma reclamação na sua aplicação?
→Receba uma notificação
→Busca das reclamações
→Como filtrar?
→Como ordenar?
→Descrição de parâmetros
→Passo a passo para utilização de recursos
↳Ver detalhe de uma reclamação
    ↳Obter todas as mensagens de uma reclamaçao
    ↳Responder mensagens e anexar arquivos
    ↳Post de Attachment
    ↳Post de message com o attach anterior
    ↳Enviar mensagens sem anexos
    ↳Descarregar o arquivo
    ↳Obter informação do arquivo
    ↳Solicitar mediação
    ↳Ver resoluções esperadas dos participantes
→Descrição de parâmetros
    ↳Aceitar a resolução do player
    ↳Carregar uma nova resolução
    ↳Obter evidências da reclamação
    ↳Carregar evidência de envio
    ↳Campos del recurso
    ↳Entrega por Correios
    ↳Entrega por transportadora
    ↳Entrega em mãos
    ↳Envio por email
    ↳Histórico do status e cenário da reclamação
    ↳Ver historial de acciones tomadas en el reclamo
→Descrição de parámetros
   
↳Ver histórico de ações tomadas na reclamação
→Descrição de parâmetros
    ↳Obter detalhe do motivo que levou ao início da reclamação
   


Quais as ações que podem ser realizadas?

As ações que você poderá realizar são:

  • Ver o detalhe de uma mensagem.
  • Obter todas as mensagens de uma reclamação.
  • Ver as mensagens, responder e anexar arquivos.
  • Enviar mensagens sem anexos.
  • Solicitar mediação.
  • Ver resoluções esperadas dos participantes.
  • Aceitar a resolução do player.
  • Carregar uma nova resolução.
  • Obter evidências da reclamação.
  • Carregar evidência de envio.
  • Histórico do status e cenário da reclamação.
  • Ver histórico de ações tomadas na reclamação.
  • Obter detalhe do motivo que levou ao início da reclamação.

Como receber a alteração de uma reclamação na sua aplicação?

A criação de uma reclamação é um evento que ocorre no Mercado Livre, por isso deverá subscrever-se em nosso feed de reclamações para ser notificado em tempo real quando ocorra qualquer evento. Em Administrador de aplicações e edite a Configuração de notificações da sua aplicação. Para obter mais informações sobre como criar e configurar uma nova aplicação, consulte este link. Deve definir uma URL de callback: configure a URL pública do domínio onde deseja receber todas as notificações do Mercado Livre.

Esta configuração permitirá interagir sua aplicação com as notificações do Mercado Livre.


Receba uma notificação

Mercado Livre enviará notificações através de uma mensagem POST com as informações listadas. O atributo mais importante na mensagem é o ID do usuário relacionado com a notificação, e o recurso. O recurso é o elemento que atualizou ou criou a reclamação.

{
  "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
}

Depois de receber uma notificação, deve enviar um reconhecimento (ACK 200) ao Mercado Livre para confirmar o recebimento e então deixá-lo de receber.


Busca das reclamações

A busca das reclamações ajudará identificar quais pertencem a um usuário de um token válido (criados a partir de Janeiro de 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"
        } 
]}


Como filtrar?

Os parâmetros disponíveis como filtros são: 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. Por exemplo, se deseja filtrar por stage y status:

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


Como ordenar?

Para ordenar os resultados é só adicionar o parâmetro sort com o respectivo campo que deseja que seja ordenado e se a ordem deve ser ascendente ou descendente (&sort=:asc|desc).

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


Descrição de parâmetros

A resposta de um GET ao recurso /claims dá como resultado os seguintes parâmetros:

  • id: ID da reclamação.
  • type: Tipo de reclamação. Você pode tomar algum dos seguintes valores:
    • mediations: reclamação entre comprador e vendedor.
    • cancel_purchase: cancelamento de compra pelo comprador.
    • return: dPara este tipo de reclamação não há mensagens. Para entender como trabalhar com devoluções verifique a documentação Trabalhar com devoluções.
    • cancel_sale: cancelamento de compra por parte do vendedor.
      O status sempre será closed.
      O stage sempre será none.
      O rol complainant sempre será o type seller, collector o sender dependendo o resource.
  • stage: Etapa da reclamação. Você pode tomar algum dos seguintes valores:
    • claim: etapa de reclamação em que intervêm o comprador e o vendedor.
    • dispute: etapa de mediação em que intervém um representante do Mercado Livre.
    • recontact (não disponível): etapa em que alguma das partes entra em contato após a reclamação/disputa ter sido encerrada.
    • none: não aplica.
  • status: Status da reclamação. Você pode tomar dois valores: opened e closed.
  • parent_id: ID de outra reclamação da qual depende.
  • resource: Identificador do recurso sobre o qual a reclamação é criada. Pode ser:
    • payment
    • order
    • shipment
  • resource_id: ID do recurso sobre o qual a reclamação é criada e depende do parâmetro anterior.
  • players: Lista dos players que participam da reclamação com suas respectivas ações e tempos disponíveis.
    • role: papel dentro da reclamação. Pode ser: respondent: pessoa de quem reclamam.
      complainant: pessoa que reclama.
      respondent: pessoa de quem reclamam.
      mediator: pessoa que intervém para ajudar a solucionar o problema.
    • type: papel desempenhado pela pessoa na operação que está sendo reclamada.

      Pode variar de acordo com o resource.
      • Payment: payer ou collector.
      • Order: buyer ou seller.
      • Shipment: receiver ou sender.
    • user_id: ID do type do parâmetro anterior.
    • available_actions: lista de ações que cada uma das partes participantes podem realizar.
    • action: ações possíveis de serem realizadas. Para o vendedor serão:
    • send_message_to_complainant: enviar mensagem para o comprador (com ou sem anexo).
      send_message_to_mediator: enviar mensagem para o mediador (com ou sem anexo).
      recontact (não disponível): reabrir uma reclamação já encerrada, por meio de uma interação que pode ser uma mensagem.
      refund: devolver o dinheiro do comprador, deve ser realizado pelo front do Mercado Livre ou Mercado Pago.
      open_dispute: iniciar uma mediação.
      send_potential_shipping: enviar uma promessa de postagem, uma data.
      add_shipping_evidence: postar uma evidência de que o produto foi enviado.
      send_attachments: enviar mensagem com anexo.
      allow_return_label: gerar etiqueta de devolução.
      send_tracking_number: enviar o tracking number.

      • due_date: tempo limite para realizar a ação.
      • mandatory: este campo em true indica que a ação é obrigatória e deve ser realizada dentro do tempo informado.
    • resolution: forma de resolução da reclamação.
    • labels: rótulos da reclamação, por exemplo, indica se a reclamação afeta ou não a reputação.
    • site_id: ID do site onde a reclamação se desenvolve.
    • date_created: data de criação da reclamação.
    • last_updated: data da última atualização da reclamação.

    A resposta de um GET de messages do recurso /claim retorna uma lista com os seguintes parâmetros:

    • sender_role: player que enviou a mensagem.
    • receiver_role: player para quem a mensagem é encaminhada.
    • attachments: lista de anexos da mensagem.

        filename: nome do arquivo em anexo hasheado.
        original_filename: nome real do anexo.
        size: tamanho do arquivo em Bytes.
        type: tipo de arquivo.
        date_created: data de carga do anexo.

    • stage: etapa em que a mensagem foi enviadae.
    • date_created: data em que a mensagem foi criada.
    • date_read: este valor será null até uma nova versão do recurso ficar disponível.
    • message: texto da mensagem.

    Passo a passo para utilização de recursos

    Ver detalhe de uma reclamação

    Chamada:

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

    Exemplo:

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

    Resposta:

    {
        "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"
    }

    Obter todas as mensagens de uma reclamação

    Chamada:

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

    Exemplo:

    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 ",
        }
    ]

    Responder mensagens e anexar arquivos

    Post de Attachment

    Chamada:

    curl -X POST https://api.mercadolibre.com/v1/claims/$CLAIM_ID/attachments?access_token=$ACCESS_TOKEN -F file=$FILE_PATH
    Notas:
    - O POST deve ser realizado com form.data com file = localização do arquivo.
    - O arquivo deve ter um tamanho máximo de 5 MB.
    - Poderão ser compartilhadas fotos, manuais de instruções, notas fiscais e outros arquivos anexados em formato JPG, PNG, PDF e TXT de até 5 MB.

    Exemplo:

    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'

    Resposta:

    {
        "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"
    }

    Post de message com o attach anterior

    Chamada:

    curl -X POST https://api.mercadolibre.com/v1/claims/{claim_id}/messages?access_token=$ACCESS_TOKEN&application_id=$APPLICATION_ID
    Nota:
    Na lista de anexos serão mostrados todos os retornados no POST anterior, associados à mensagem separados por vírgula.

    Exemplo:

    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}
    

    Enviar mensagens sem anexos


    Chamada:

    curl -X POST https://api.mercadolibre.com/v1/claims/$CLAIM_ID/messages?access_token=$ACCESS_TOKEN

    Exemplo:

    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}
    

    Descarregar o arquivo

    Chamada:

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

    Exemplo:

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

    Response: a imagem do anexo.

    Obter informação do arquivo


    Chamada:

    curl -X GET https://api.mercadolibre.com/v1/claims/$CLAIM_ID/attachments/$ATTACH_ID?access_token=$ACCESS_TOKEN

    Exemplo:

    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"
    }

    Solicitar mediação

    Chamada:

    curl -X PUT https://api.mercadolibre.com/v1/claims/$CLAIM_ID?access_token=$ACCESS_TOKEN

    Exemplo:

    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"
    }
    

    Quando iniciada a mediação, não é mais possível enviar mensagem para o comprador. Toda comunicação passa a ser realizada com o Mercado Livre. Para isso, é necessário mudar o receiver_role para mediator.

    Chamada:

    curl -X POST https://api.mercadolibre.com/v1/claims/$CLAIM_ID/messages?access_token=$ACCESS_TOKEN

    Exemplo:

    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}

    Ver resoluções esperadas dos participantes


    Chamada:

    curl -X GET https://api.mercadolibre.com/v1/claims/$CLAIM_ID/expected_resolutions'?access_token=$ACCESS_TOKEN
    

    Exemplo:

    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"
        }
    ]
    

    Descrição de parâmetros

    • player_role: papel do player da reclamação.
    • user_id: ID do player da reclamação.
    • expected_resolution: resolução da reclamação carregada pelo player informado no parâmetro anterior. Os valores possíveis são:
       - refund: o player espera a devolução do dinheiro.
       - product: o player espera a chegada do produto.
       - change_product: o player espera trocar o produto.
       - return_product: o player espera a devolução do produto com a posterior devolução do dinheiro.
    • date_created: data de criação da resolução esperada.
    • date_created: data de última atualização da resolução esperada.
    • status: status da resolução esperada. Você pode tomar os seguintes valores:
       - pending: o player carregou a resolução esperada mas ainda não foi aceita pela contraparte.
       - accepted: la resolución cargada por el player fue aceptada por su contraparte o en su defecto por el mediador de Mercado Livre.
       - rejected: a resolução carregada pelo player foi aceita pela contraparte ou pelo mediador do Mercado Livre.
    Nota:
    Para além das resoluções carregadas pelos participantes, em alguns casos, a resolução final é definida por um representante do Mercado Livre, caso as partes não cheguem a um acordo. Hoje, aceitar a opção de refund não faz a devolução do dinheiro. É necessário fazer a devolução pela front do Mercado Livre ou Mercado Pago.

    Aceitar a resolução do player

    Chamada:

    curl -X PUT https://api.mercadolibre.com/v1/claims/$CLAIM_ID/expected_resolutions'?access_token=$ACCESS_TOKEN

    Exemplo:

    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"
        }
    ]
    
    Notas:
    - Caso o "respondent" aceite a resolução do "complainant".
    - Nos casos pertinentes, Mercado Livre dará ao comprador um rótulo para retornar o produto.
    - A resolução a ser aceita é sempre a que fica pendente pela contraparte.

    Carregar uma nova resolução

    Chamada:

    curl -X POST https://api.mercadolibre.com/v1/claims/$CLAIM_ID/expected_resolutions'?access_token=$ACCESS_TOKEN

    Exemplo:

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

    Resposta:

    [
        {
            "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"
        }
    ]
    Nota:
    No exemplo, o vendedor se recusa a trocar o produto que o comprador quer, mas aceita que o produto seja retornado e que o dinheiro seja devolvido para o comprador.

    O tipo da reclamação interfere diretamente nas soluções que podem ser propostas. Existem as reclamações do tipo PNR (paguei e não recebi) e PDD (produto com defeito). Para identificar o tipo da reclamação, verifique as três primeiras letras do campo reason_id. Por exemplo, se no campo a informação for "PNR3430", então a reclamação é do tipo PNR.

    Dessa forma, para as reclamações do tipo PNR, temos as seguintes resoluções disponíveis:

    - refund: devolução do dinheiro.

    - product: envio do produto.

    Se ao consultar a resolução esperada e estiver como product, o vendedor pode aceitar essa solução ou propor refund. Porém se a solução esperada estiver como refund, o vendedor deve aceitar a solução ou negociar via mensagem com o comprador.
    Aceitar ou propor a opção de refund não fará com que o pagamento seja devolvido. Hoje via api de reclamações ainda não é possível realizar esta ação.
    Para as reclamações do tipo PDD, temos as seguintes soluções disponíveis:

    - return_product: devolução do produto com devolução do dinheiro.

    - change_product: troca do produto.

    Se ao consultar a resolução esperada estiver como change_product, o vendedor pode aceitar essa solução ou propor return_product. Porém se a solução esperada estiver como return_product o vendedor deve aceitar a solução ou negociar via mensagem com o comprador.

    Para compras realizadas com ME2

    As soluções para o tipo de reclamações PDD gerarão uma etiqueta para o comprador devolver a mercadoria. Para que isso ocorra, o status do envio do pedido que originou a reclamação deve ser delivered.
    Se a solução escolhida for return_product, a devolução do dinheiro só ocorrerá quando a etiqueta gerada estiver com o status shipped ou delivered, dependendo de validações internas.
    Para identificar se a compra é ME2, utilize a API de Shipping. A informação estará no campo Mode.


    Obter evidências da reclamação

    Chamada:

    curl -X GET https://api.mercadolibre.com/v1/claims/$CLAIM_ID/evidences?access_token=$ACCESS_TOKEN

    Exemplo:

    curl -X GET https://api.mercadolibre.com/v1/claims/949903015/evidences?access_token=$ACCESS_TOKEN  
    Nota:
    Atualmente, só existe a carga de evidência de envio realizada pelo vendedor.

    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"
        }
    ]

    Carregar evidência de envio

    Chamada:

    curl -X POST https://api.mercadolibre.com/v1/claims/$CLAIM_ID/evidences?access_token=$ACCESS_TOKEN

    Exemplo:

    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" }  

    Resposta:

    [
        {
            "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"
        }
    ]
    

    Carregar evidência de envio

    Quando o comprador abre uma reclamação querendo receber o produto, solução esperada = product, mas o vendedor já enviou e tem as evidências, ele deve utilizar o recurso para carregar a evidência do envio.

     

    Campos del recurso

    type: É o tipo de evidência. Os valores esperados para esse campo são
    shipping_evidence quando o seller já possui a evidência do envio ou handling_shipping_evidence que deve ser utilizado quando existe uma previsão de postagem.
    shipping_method: Esta informação faz referência a como o produto foi enviado, pode ser mail (Correios), entrusted (transportadora), personal_delivery (entrega em mãos), email (envio por e-mail).
    shipping_company_name: Deve ser informado o nome da transportadora.
    tracking_number
    : código de rastreio.
    date_shipped: data do envio.
    date_delivered: data de entrega.
    destination_agency: nome da agência de destio.
    receiver_name: nome de quem recebeu a mercadoria.
    receiver_id: documento de quem recebeu o produto.
    attachments: anexos. 
    receiver_email: e-mail de quem recebeu a encomenda digital.
    handling_date: data para postagem. 

    Notes:
    Todas as datas devem ser utilizadas nos seguintes formatos:
    - Formato longo: yyyy-MM-dd'T'HH:mm:ss.SSSZ. Ej: 2019-08-06T14:00:00.000-0400;
    - Formato curto: yyyy-MM-dd. Ej: 2019-08-06
    Para cada tipo de envio, ele vai ter uma relação de campos obrigatórios. Segue relação:

    Entrega por Correios

    Campos obrigatórios: "shipping_company_name", "date_shipped".  
    Campos opcionais:"tracking_number", "attachments".
    Chamada:

    curl -X POST https://api.mercadolibre.com/v1/claims/$CLAIM_ID/evidences?access_token=$ACCESS_TOKEN

    Exemplo:

    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"] } 
    

    Resposta:

    [
        {
            "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"
        }
    ]
    

     

    Entrega por transportadora

    Campos obrigatórios: "shipping_company_name", "destination_agency", "date_shipped", "receiver_name".
    Campos opcionais: "receiver_id", "tracking_number", "date_delivered", "receiver_email", "attachments".
    Chamada:

    curl -X POST https://api.mercadolibre.com/v1/claims/$CLAIM_ID/evidences?access_token=$ACCESS_TOKEN

    Exemplo:

    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": [] } 
    

    Resposta:

    [
        {
            "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"
        }
    ]
    

     

    Entrega em mãos

    Campos obrigatórios: "date_delivered". 
    Campos opcionais: "attachments".
    Chamada:

    curl -X POST https://api.mercadolibre.com/v1/claims/$CLAIM_ID/evidences?access_token=$ACCESS_TOKEN

    Exemplo:

    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": [] } 

    Resposta:

    [
        {
            "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"
        }
    ]
    

     

    Envio por email

    Campos obrigatórios: receiver_email", "date_shipped.
    Campos opcionais: "attachments".
    Chamada:

    curl -X POST https://api.mercadolibre.com/v1/claims/$CLAIM_ID/evidences?access_token=$ACCESS_TOKEN

    Exemplo:

    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": [] } 

    Resposta:

    [
        {
            "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"
        }
    ] 

    Há casos em que a mercadoria ainda não foi postada, mas o vendedor tem a intenção de postar e possui uma data prevista. Nesse caso, ele também pode utilizar esse recurso:

    Chamada:

    curl -X POST https://api.mercadolibre.com/v1/claims/$CLAIM_ID/evidences?access_token=$ACCESS_TOKEN

    Exemplo:

    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" } 

    Resposta:

    [
        {
            "handling_date": "2019-08-23T22:59:59.000-04:00",
            "type": "handling_shipping_evidence"
        }
    ]
    
    Nota:
    Quando o stage da reclamação estiver como dispute, não é possível utilizar o envio de evidências. Uma vez enviado um tipo de evidência, não é possível trocar, porém posso completar as informações caso falte alguma, exemplo: anexo.

    Histórico do status e cenário da reclamação

    Llamada:

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

    Exemplo:

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

    Resposta:

    [
        {
            "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"
        }
    ]

    Ver histórico de ações tomadas na reclamação

    Chamada:

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

    Exemplo:

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

    Resposta:

    [
        {
            "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"
        }
    ]

    Descrição de parámetros

    • action_id: ID da ação realizada.
    • action_name: ação realizada.
    • role: player que realizou a ação.
    • claim_stage: etapa na qual a ação foi realizada.
    • claim_status: status da etapa em que a ação foi realizada.
    • date_created: data em que a ação foi realizada.

    Obter detalhe do motivo que levou ao início da reclamação

    Chamada:

    curl -X GET https://api.mercadolibre.com/v1/reasons/$REASON_ID/children

    Exemplo:

    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"
    }