Trabajar con reclamos

El nuevo recurso /claims te permitirá obtener el detalle de un reclamo y poder realizar acciones vía API para resolverlos de manera correcta incorporando esta funcionalidad en tu integración.

Contenidos

→¿Qué acciones se pueden realizar?
→¿Cómo se entera su aplicación de una novedad en un reclamo?
→Recibe una notificación
→Búsqueda de reclamos
→¿Cómo filtrar?
→¿Cómo ordenar?
→Descripción de parámetros
→Paso a paso para utilizar los recursos
↳Ver el detalle de un mensaje
    ↳Obtener todos los mensajes de un reclamo
    ↳Ver los mensajes, responderlos y adjuntar archivos
    ↳Post de Attachment
    ↳Post de Message con el attach anterior
    ↳Enviar mensajes sin adjuntos
    ↳Descargar el archivo
    ↳Obtener información del archivo
    ↳Solicitar mediación
    ↳Ver resoluciones esperadas de los participantes
→Descripción de parámetros
    ↳Aceptar la resolución del player
    ↳Cargar una nueva resolución
    ↳Obtener evidencias del reclamo
    ↳Cargar evidencias de envíos
    ↳Campos del recurso
    ↳Entrega por correo
    ↳Entrega por encomienda
    ↳Entrega en mano
    ↳Entrega por email
    ↳Historial del estado y escenario del reclamo
    ↳Ver historial de acciones tomadas en el reclamo
→Descripción de parámetros
   
↳Obtener detalle del motivo por el que se inició el reclamo


¿Qué acciones se pueden realizar?

Las acciones que podrás hacer son:

  • Ver el detalle de un mensaje.
  • Obtener todos los mensajes de un reclamo.
  • Ver los mensajes, responderlos y adjuntar archivos.
  • Enviar mensajes sin adjuntos.
  • Solicitar mediación.
  • Ver resoluciones esperadas de los participantes.
  • Aceptar la resolución del player.
  • Cargar una nueva resolución.
  • Obtener evidencias del reclamo.
  • Cargar evidencias de envío.
  • Historial del estado y escenario del reclamo.
  • Ver historial de acciones tomadas en el reclamo
  • Obtener detalle del motivo por el que se inició el reclamo.

¿Cómo se entera su aplicación de una novedad en un reclamo?

La creación de un reclamo es un evento que ocurre en el lado de Mercado Libre, por lo que deberá suscribirse a nuestro feed de reclamos para tomar conciencia en tiempo real cuando ocurra ese evento. Vaya a nuestro Administrador de aplicaciones y edite la Configuración de notificaciones de su aplicación. Obtén más información sobre cómo crear y configurar una nueva aplicación. Debes elegir una URL de devolución de llamada: configure la URL pública del dominio donde desea recibir todas las notificaciones de Mercado Libre.


Esta configuración le permite interactuar con las notificaciones de Mercado Libre.


Recibe una notificación

Mercado Libre le enviará notificaciones a través de un mensaje POST con información en el cuerpo del listado. El atributo más importante en el mensaje es el ID de usuario relacionado con la notificación, seguido del recurso. El recurso es el elemento que se actualizó o creó.

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

Después de recibir una notificación, debe enviar un reconocimiento (ACK 200) a Mercado Libre para dejar de recibirlo.


Búsqueda de reclamos

La búsqueda de reclamos te ayudará a conocer cuáles pertenecen al usuario de un token válido (creados a partir de enero 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"
        } 
]}


¿Cómo filtrar?

Los parámetros disponibles para los filtros son: id, type, stage, status, resource_id, resource, reason_id, site_id, players.role, players.user_id. Por ejemplo, si desea filtrar por stage y status:

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


¿Cómo ordenar?

Para ordenar los resultados sólo tiene que añadir el parámetro de sort con el respectivo campo que desea y si la orden debe ser ascendente o decreciente (&sort=:asc|desc) Por ejemplo, para ordenar por fecha de actualización:

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


Descripción de parámetros

La respuesta de un GET al recurso /claims da como resultado los siguientes parámetros:

  • id: ID del reclamo.
  • type: Tipo de reclamo. Puede tomar alguno de los siguientes valores:
    • mediations: reclamo entre comprador y vendedor.
    • cancel_purchase: cancelación de compra por parte del comprador.
    • return: devolución de producto. En este caso, no hay mensajes. Para tratar devoluciones, siga la documentación Trabajar con Devoluciones.
    • cancel_sale: cancelación de compra por parte del vendedor.
      El status siempre va a ser "closed".
      El stage siempre va a ser "none".
      El rol complainant siempre va a ser el type seller, collector o sender dependiendo el resource.
  • stage: Etapa del reclamo. Puede tomar alguno de los siguientes valores:
    • claim: etapa de reclamo donde intervienen el comprador y el vendedor.
    • dispute: etapa de mediación donde interviene un representante de Mercado Libre.
    • recontact: etapa en la que alguna de las partes se contacta luego de cerrado el reclamo/disputa.
    • none: no aplica.
  • status: Estado del reclamo. Puede tomar dos valores: opened y closed.
  • parent_id: ID de otro reclamo del que depende.
  • resource: Identificador del recurso sobre el que se crea el reclamo. Puede ser:
    • payment.
    • order.
    • shipment.
  • resource_id: ID del recurso sobre el que se crea el reclamo y depende del parámetro anterior.
  • players: Lista de los actores que participan del reclamo con sus respectivas acciones y tiempos disponibles.
    • role: rol dentro del reclamo. Puede ser:
      complainant: persona que reclama.
      respondent: persona a quién le reclaman.
      mediator: persona que interviene para ayudar a solucionar el problema.
    • type: rol que ocupa la persona sobre la operación que se está reclamando. Puede ser: buyer, seller, internal, carrier.
    • user_id: ID del type del parámetro anterior.
    • available_actions: lista de acciones que pueden ejecutar cada una de las partes intervinientes:
    • action: acción posible de ser ejecutada. Puede ser:send_message_to_complainant send_message_to_mediator
      refund
      send_shipping_evidence
      open_dispute
      send_potential_shipping
      close_claim
      close_dispute
      load_resolution
      accept_resolution
      recontact
      add_shipping_evidence
      allow_return_label
      send_traking_number

    Los campos relacionados con available_actions y acción no deben ser considerados como soluciones esperadas. En este momento, son solo informativos y pueden ser ignorados.
        due_date: tiempo límite para realizar la acción.
        mandatory: este campo en true indica que es una acción obligatoria y que debe realizarse dentro del tiempo indicado.

  • resolution: forma de resolución del reclamo.
  • labels: etiquetas del reclamo, por ejemplo, indica si el reclamo afecta la reputación o no.
  • site_id: ID del site donde se desarrolla el reclamo.
  • date_created: fecha de creación del reclamo.
  • last_updated: fecha de la última actualización del reclamo.

La respuesta de un GET de messages del recurso /claim devuelve una lista con los siguientes parámetros:

  • sender_role: player que envió el mensaje.
  • receiver_role: player hacia quién va dirigido el mensaje.
  • attachments: listado de adjuntos del mensaje.

    filename: nombre del archivo adjunto hasheado.
    original_filename: nombre real del adjunto.
    size: tamaño del archivo en Bytes.
    type: tipo de archivo.
    date_created: fecha de carga del adjunto.

  • stage: etapa en la que se envió el mensaje.
  • date_created: fecha en la que se creó el mensaje.
  • date_read: este valor será null hasta que exista una nueva versión del recurso.
  • message: texto del mensaje.

Paso a paso para utilizar los recursos

Ver el detalle de un mensaje

Llamada:

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

Ejemplo:

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

Respuesta:

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

Obtener todos los mensajes de un reclamo

Llamada:

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

Ejemplo:

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

Respuesta:

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

Ver los mensajes, responderlos y adjuntar archivos

Post de Attachment

Llamada:

curl -X POST “https://api.mercadolibre.com/v1/claims/attachments?access_token=$ACCESS_TOKEN” -F file={file_path}
Notas:
- El POST debe realizarse como form.data con file = ubicación del archivo.
- El archivo debe tener un tamaño máximo de 5 MB.
- Podrán intercambiarse fotos, manuales de instrucciones, facturas y demás archivos adjuntos en JPG, PNG, PDF y TXT de hasta 5 MB.

Ejemplo:

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

Respuesta:

{
    "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 con el attach anterior

Llamada:

POST “https://api.mercadolibre.com/v1/claims/{claim_id}/messages?access_token=$ACCESS_TOKEN&application_id=$APPLICATION_ID”
Nota:
En la lista de adjuntos se mostrarán todos los devueltos en el POST anterior asociados al mensaje separados por coma.

Ejemplo:

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

Respuesta:

{"id":1817133310}


Enviar mensajes sin adjuntos

Llamada:

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

Ejemplo:

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", \
}'

Respuesta:

{"id":1817133310}

Descargar el archivo

Llamada:

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

Ejemplo:

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

Respuesta: La imagen del adjunto.

Obtener información del archivo 
Llamada:

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

Ejemplo:

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

Respuesta:

{
    "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 mediación

Llamada:

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

Ejemplo:

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

Respuesta:

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

Una vez iniciada la mediación, no pueden enviarse mensajes al comprador. Toda comunicación será realizada por Mercado Libre. Para esto, es necesario cambiar el receiver_role para mediator.

Llamada:

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

Ejemplo:

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

Respuesta:

{"id": 1914089028}

Ver resoluciones esperadas de los participantes
Llamada:

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

Ejemplo:

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

Respuesta:

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

Descripción de parámetros

  • player_role: role del player del reclamo.
  • user_id: ID del player del reclamo.
  • expected_resolution: resolución del reclamo cargada por el player indicado en el parámetro anterior. Los valores posibles son:
     - refund: el player espera que se devuelva el dinero.
     - product: el player espera que le llegue el producto.
     - change_product: el player espera cambiar el producto.
     - return_product: el player espera que se devuelva el producto con la posterior devoluvión del dinero.
  • date_created: fecha de creación de la resolución esperada.
  • date_created: fecha de última actualización de la resolución esperada.
  • status: estado de la resolución esperada. Puede tomar los siguientes valores:
     - pending: el player cargó la resolución esperada pero no aún no fue aceptada por la contraparte.
     - accepted: la resolución cargada por el player fue aceptada por su contraparte o en su defecto por el mediador de Mercado Libre.
     - rejected: la resolución cargada por el player fue rechazada por su contraparte y en su defecto cargó una nueva opción de resolución.
Notas:
Independientemente de las resoluciones cargadas por los participantes, en determinados casos la resolución final es la define un representante de Mercado Libre en caso que las partes no se pongan de acuerdo.

Aceptar la resolución del player

Llamada:

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

Ejemplo:

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

Respuesta:

[
    {
        "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:
-En caso de que el “respondent” acepte la resolución del “complainant”.
- En los casos que correspondan, Mercado Libre le dará al comprador una etiqueta para devolver el producto.
- Siempre la resolución a aceptar es la que está pendiente por la contraparte.

Cargar una nueva resolución

Llamada:

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

ejemplo:

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

Respuesta:

[
    {
        "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:
En el ejemplo, el vendedor rechaza hacer el cambio de producto que quiere el comprador pero acepta que le devuelva el producto y en su defecto que se le devuelva el dinero al comprador.

El tipo de reclamo interfiere directamente con las soluciones que se pueden proponer. Hay reclamos del tipo PNR (pagado y no recibido) y PDD (producto defectuoso). Para identificar el tipo de reclamo, verifica las 3 primeras letras del campo reason_id. Por ejemplo, si en el campo la información es "PNR3430", entonces el reclamos es del tipo PNR.

De esta manera, para los reclamos del tipo PNR, debemos utilizar:

- refund: devolución del dinero.

- product: envío del producto.

Si el comprador elige product, el vendedor puede elegir product o refund. Pero si el comprador elige refund, el vendedor debe aceptar esa resolución. Algo similar ocurre con los casos PDD:

- return_product: devolución del producto con devolución del dinero.

- change_product: cambio del producto.

Si el comprador elige change_product, el vendedor puede elegir change_product o return_product. Pero si el comprador elige return_product debe aceptar esa resolution.
Las resoluciones refund y return_product hacen referencia a que el comprador quiere la devolución del dinero, por este motivo solo puede aceptar esa resolución.
Aceptar o proponer la opción de refund no devolverá el pago. Hoy, vía API de reclamos, todavía no es posible realizar esta acción.
Los casos del tipo PDD donde la compra tiene Mercado Envíos y el status del envío está 'delivered' cuando el seller acepta la resolución, se genera una etiqueta para que el comprador haga la devolución del producto. Si la resolución es la devolución del dinero, esta se va a realizar cuando el envío return pase a shipped o delivered.


For purchases made with ME2:

Las soluciones para el tipo de reclamo PDD generarán una etiqueta para que el comprador devuelva el producto. Para que esto ocurra, el status del pedido que originó el reclamo debe ser delivered.

Si la solución elegida es return_product, la devolución de dinero será solo cuando la etiqueta generada tenga el status shipped o delivered, según las validaciones internas.

Para identificar si la compra es con ME2, revisa la API de Envíos. La información estará en el campo Mode.


Obtener evidencias del reclamo

Llamada:

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

Ejemplo:

curl -X GET “https://api.mercadolibre.com/v1/claims/949903015/evidences?access_token=$ACCESS_TOKEN”  
Nota:
Actualmente solo existe la carga de evidencia de envío que realiza el vendedor.

Respuesta:

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

Cargar evidencias de envíos

Llamada:

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

Ejemplo:

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

Respuesta:

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

Cargar evidencias de envíos

Cuando el comprador abre un reclamo para recibir su producto o tener una solución al respecto, y el vendedor ya envió su producto y tiene evidencias, deberá utilizar el siguiente recurso.

 

Campos del recurso

type: es el tipo de demostración. Los valores esperados para este campo son:
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: refiere a cómo enviaron el producto, por correo, encomienda (por un transportista), entrega personal (por una persona) o por email (correo electrónico).
shipping_company_name: debes ingresar el nombre del transportista.
tracking_number
: ingrese el número de seguimiento.
date_shipped: fecha de envío.
date_delivered: fecha de entrega.
destination_agency: nombre de la agencia de destino.
receiver_name: nombre del destinatario.
receiver_id: documento de quién recibió el producto.
attachments: archivos. 
receiver_email: correo electrónico del destinatario del pedido digital.
handling_date: fecha de publicación. 

Notes:
Todas las fechas deben usarse en los siguientes formatos:
- Formato largo: aaaa-MM-dd'T'HH: mm: ss.SSSZ. Ej: 2019-08-06T14: 00: 00.000-0400;
- Formato corto: aaaa-MM-dd. Ej: 2019-08-06
Cada tipo de envío tiene campos obligatorios, síguelos según corresponda:

Entrega por correo

Campos obligatorios: "shipping_company_name", "date_shipped"  
Campos opcionales: "tracking_number", "attachments"
Llamada:

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

Ejemplo:

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

Respuesta:

[
    {
        "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 encomienda

Campos obligatorios: "shipping_company_name", "destination_agency", "date_shipped", "receiver_name"
Campos opcionales: "receiver_id", "tracking_number", "date_delivered", "receiver_email", "attachments"
Llamada:

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

Ejemplo:

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

Respuesta:

[
    {
        "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 en mano

Campos obligatorios: "date_delivered" 
Campos opcionales: "attachments"
Llamada:

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

Ejemplo:

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

Respuesta:

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

 

Entrega por email

Campos obligatorios: receiver_email", "date_shipped
Campos opcionales: "attachments".
Llamada:

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

Ejemplo:

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

Respuesta:

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

Hay casos en que los productos aún no se enviaron, pero el vendedor tiene la intención de enviar y ya tiene una fecha prevista para hacerlo. Entonces, puede utilizar este recurso:

Llamada:

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

Ejemplo:

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

Respuesta:

[
    {
        "handling_date": "2019-08-23T22:59:59.000-04:00",
        "type": "handling_shipping_evidence"
    }
]
Nota:
Cuando el stage del reclamo sobre un producto está en discusión/mediación, el vendedor no podrá enviar la prueba del envío. Una vez enviado algún tipo de prueba, no podrá cambiarla. Para esto, te recomendamos completar toda la información posible.

Historial del estado y escenario del reclamo
Llamada:

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

ejemplo:

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

Respuesta:

[
    {
        "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 historial de acciones tomadas en el reclamo

Llamada:

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

Ejemplo:

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

Respuesta:

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

Descripción de parámetros

  • action_id: ID de la acción ejecutada.
  • action_name: acción ejecutada.
  • role: player que ejecutó la acción.
  • claim_stage: etapa en la cual se ejecutó la acción.
  • claim_status: estado de la etapa en la que se ejecutó la acción.
  • date_created: fecha en la que se ejecutó la acción.

Obtener detalle del motivo por el que se inició el reclamo

Llamada:

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

Ejemplo:

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

Respuesta:

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

Siguiente: Trabajar con Devoluciones.

Forma parte de nuestra comunidad