Recibe notificaciones

Algunos eventos se producen del lado de Mercado Libre y la única forma de conocerlos es a través de notificaciones. Recibir notificaciones te permite tener un feed en tiempo real de los cambios que se producen en los diferentes recursos de nuestra la API. Por ejemplo, si publicaste un artículo y más tarde fue pausado, si alguien formuló una pregunta, si compraron un artículo o incluso lo pagaron y/o solicitó envío. ¡Una manera eficiente sin tener que consultar permanentemente nuestra API!

Contenidos:

Suscríbete a las notificaciones

Si quieres comenzar a recibir notificaciones, debes dirigirte a nuestro administrador de aplicaciones, donde creaste tu aplicación por primera vez, editar los detalles y especificar los topics que recibirás. Nota: Si aún no creaste tu Aplicación, dirígete a la sección Crea tu aplicación.

 – Callback URL de Notificaciones: Configura el URL público del dominio donde quieres recibir notificaciones para los diferentes topics. Por ejemplo: “http://myshoes-app.com/callbacks”.

– Topics: Selecciona entre diferentes topics para recibir sus notificaciones.

Aclaración: Ten en cuenta que los topics orders, created_orders y payments no son utilizados para vehículos, inmuebles y servicios ya que no se generan ventas ni pagos.

Topics Disponibles

    • items – Recibirás notificaciones de cualquier cambio en un artículo que publicaste.
    • orders – Recibirás notificaciones de cualquier cambio que se realice en alguna de tus ventas confirmadas.
    • created_orders – Recibirás notificaciones de tus ventas recién creadas cuando ingresan por el flujo de Mercado Pago obligatorio. Sólo obtendrás datos del producto y cantidad de unidades ya que la compra aún no fue confirmada. No debes realizar ninguna acción hasta que no pase a “paid”. Sirve únicamente para reservar el stock, ya que si el comprador finalmente paga pero el item ya no tiene stock, el pago se devuelve automáticamente y se cancela la venta. Aclaración: Una vez que la orden esté paga, se comenzarán a enviar las notificaciones al igual que desde “orders”, por lo que sugerimos elegir sólo uno de los topics para evitar eventos duplicados.
    • questions – Recibirás notificaciones de todas las preguntas formuladas o respondidas.
    • payments – Recibirás notificaciones cuando se crea un pago en una orden o el estado del mismo cambia.
    • pictures – Recibirás notificaciones sólo de las imágenes que por algún error no van a poder descargarse.
      Nota: En paralelo se envía un e-mail automático al vendedor agrupando las imágenes que tuvieron problemas.
    • messaging – Recibirás notificaciones de los mensajes nuevos que se generen teniendo como destinatario su user_id.
    • orders_v2 - Recibirás notificaciones desde la creación y cambios realizados en alguna de tus ventas confirmadas (recomendable).
    • shipments - Recibirás notificaciones desde la creación y cambios realizados en los envíos (shippings) de tus ventas confirmadas.
    • quotations - Recibirás notificaciones referidas a cotizaciones que sucedan en las publicaciones (aplica solo para integración de inmuebles).
    • invoices- Recibirás notificaciones relacionadas a invoices (notas fiscales) generadas mediante la facturación automática der Mercado Libre (aplica solamente a quien trabaja con el facturador de Mercado Envio Full *Solo disponible en Brasil).
    • claims - Recibirás notificaciones relacionadas a reclamos que sean hechos por las ventas (trabajar con reclamos).

Aclaración:

      Una vez que la orden esté paga, se comenzarán a enviar las notificaciones al igual que desde “orders”, por lo que sugerimos elegir sólo uno de los topics para evitar eventos duplicados.
    • questions – Recibirás notificaciones de todas las preguntas formuladas o respondidas.
    • payments – Recibirás notificaciones cuando se crea un pago en una orden o el estado del mismo cambia.
    • pictures – Recibirás notificaciones sólo de las imágenes que por algún error no van a poder descargarse.

Nota:

    En paralelo se envía un e-mail automático al vendedor agrupando las imágenes que tuvieron problemas.

¿Qué eventos disparan notificaciones?

Ten en cuenta que cualquier cambio que haya en el Json, en cualquier topic, serán enviadas las notificaciones correspondientes.

Es importante que siempre veas las notificaciones y, en seguida, hagas la consulta en el recurso correspondiente para verificar si hay algún cambio con su aplicación. Estos cambios pueden surgir desde otras fuentes, como la acción via front, Seller Central u otras aplicaciones, etc.

Consideraciones

Enviaremos un POST en la URL, por lo tanto, tu aplicación deberá confirmar si se recibió el código de status HTTP 200 en el menor tiempo posible. Caso contrario, el mensaje será considerado como “no enviado” y habrá una nueva tentativa de envío.

Los mensajes serán enviados y las tentativas de envío serán hechas en un intervalo de 12 horas. Después de este período, los mensajes que no fueron aceptados serán excluídos.

Teniendo en cuenta que puede haber una gran cantidad de notificaciones, es recomendable que trabajes con filas, donde el servidor deberá confirmar la recepción de las notificaciones (HTTP 200) instantáneamente y hacer la consulta del topic en el API, para evitar nuevas tentativas de notificaciones y evitar generar la sensación de notificaciones duplicadas.

Ten en cuenta que hay eventos no visibles para integradores que disparan notificaciones.

Accede a los detalles

Después de recibir una notificación sobre un tema, deberás realizar una solicitud GET al recurso para acceder a los detalles y luego, si guardaste el JSON anterior, comparar ambos.

items

Notification response:

{
  "resource": "/items/MLB139876",
  "user_id": 1234,
  "topic": "items",
  "received": "2011-10-19T16:38:34.425Z",
  "sent" : "2011-10-19T16:40:34.425Z",
}

Con esta información podrás realizar un GET al recurso de ítems:

curl -X GET https://api.mercadolibre.com/items/$ITEM_ID?access_token=$ACCESS_TOKEN

orders y created_orders

Notification response:

{
    "resource": "/orders/139876",
    "user_id": 1234,
    "topic": "orders",
    "received": "2011-10-19T16:38:34.425Z",
    "sent" : "2011-10-19T16:40:34.425Z",
}

Con esta información podrás realizar un GET al recurso de órdenes:

curl -X GET https://api.mercadolibre.com/orders/$ORDER_ID?access_token=$ACCESS_TOKEN

questions

Notification response:

{
  "resource": "/questions/139876",
  "user_id": 1234,
  "topic": "questions",
  "received": "2011-10-19T16:38:34.425Z",
  "sent" : "2011-10-19T16:40:34.425Z",
}

Con esta información podrás realizar un GET al recurso de questions:

 curl -X GET https://api.mercadolibre.com/questions/$QUESTION_ID?access_token=$ACCESS_TOKEN

payments

Notification response:

{
  "resource": "/collections/1780558484",
  "user_id": 149218964,
  "topic": "payments",
  "application_id": 2470,
  "attempts": 1,
  "sent": "2016 - 01 - 15 T18: 12: 31.313 Z ",
  "received": "2016 - 01 - 15 T18: 12: 31.299 Z "
}

Con esta información podrás realizar un GET al recurso de collections:

curl -X GET https://api.mercadolibre.com/collections/$PAYMENT_ID?access_token=$ACCESS_TOKEN

pictures

Notification response:

{
  "messages": [
    {
      "_id": "123aaa456bbb789ccc",
      "application_id": "1234",
      "user_id": "123456789",
      "resource": "/pictures/12345-MLA1234567-20160729"/errors,
      "topic": "pictures",
      "sent": "2016-07-24T11:00:00.836Z",
      "received": "2016-07-24T11:00:00.836Z",
      "attempts": "2",
      "created_at": "2016-07-24T11:00:00.836Z"
    }
  ]
}

Con esta información podrás realizar un GET al recurso de picture:

curl -X GET https://api.mercadolibre.com/pictures/$PICTURE_ID/errors?access_token=$ACCESS_TOKEN

Deberás identificar por qué la imagen no se pudo procesar correctamente. Ver "Consideraciones y mejores prácticas para trabajar con imágenes"

Recurso historial de Feeds

Guardamos un registro de tu historial de notificaciones y puedes acceder al mismo en cualquier momento llamando a nuestro recurso myfeeds. Ejemplo:

curl -X GET https://api.mercadolibre.com/myfeeds?app_id=$APP_ID&access_token=$ACCESS_TOKEN

Respuesta:

{
  "messages": [
  {
    "_id": "123aaa456bbb789ccc",
    "application_id": "1234",
    "user_id": "123456789",
    "resource": "/orders/12345678",
    "topic": "orders",
    "sent": "2014-10-24T11:00:00.836Z",
    "received": "2014-10-24T11:00:00.836Z",
    "attempts": "2",
    "http_code": "400",
    "created_at": "2014-10-24T11:00:00.836Z"
  }
}
}

Nota: Ten en cuenta que por defecto sólo se mostrarán 10 notificaciones pero, puedes utilizar LIMIT y OFFSET para modificar la cantidad que quieres recibir tal como se muestra a continuación:

https://api.mercadolibre.com/myfeeds?app_id=$APP_ID&offset=1&limit=5&access_token=$ACCESS_TOKEN

Siguiente: Consultas avanzadas.

Forma parte de nuestra comunidad