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.

Topics

– 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.

Consideraciones

  • Los mensajes se enviarán y se reintentará enviarlos por un período de 12 horas. Después de ese período, si no son aceptados por la aplicación, serán descartados.
  • Como enviaremos un POST a tu URL, tu aplicación debe acusar recibo con un código de estado HTTP 200; de lo contrario, el mensaje será considerado no entregado y se reintentará enviarlo.
  • Tu aplicación debe enviar una respuesta en 20 segundos; de lo contrario, el límite de tiempo expirará, se considerará no entregada y se reintentará enviarla.

¿Qué eventos disparan notificaciones?

items

  • Cambios en cualquiera de los atributos.
  • Cambios en el estado: La publicación debe ser revisada por un operador y el estado se modifica a “under_review” o se pausa y el estado se modifica a “pausado”.

orders

  • Reducción de stock: Alguien compra uno de tus artículos y el stock se reduce. Se crea un nuevo pedido.
  • Pago: El comprador agrega un pago al pedido.
  • Envío: Existe nueva información de envío asociada al pedido o el estado del envío cambia a: pendiente, listo para imprimir, en tránsito, entregado, no entregado.
  • Feedback: El comprador te califica como vendedor o envías feedback al comprador. Se recibe un feed en el pedido.
  • Aclaración: orders está compuesto por bloques de otras apis, pero no todos los datos se muestran ya que no son necesarios. Esos bloques independientes pueden tener cambios, lo que genera eventos y posteriores notificaciones sobre la orden, aunque a veces no se vean cambios con respecto al json anterior.

created_orders

  • Llegará la notificación de created_orders cuando se crea una orden que ingresó por el flujo de Mercado Pago obligatorio. Sirve únicamente para reservar el stock.
  • El resto de las notificaciones una vez que está “paid” la orden, son las mismas que las del topic “orders”. Si están ambos seleccionados, llegan notificaciones de los dos topics.

questions

  • Recibes una nueva pregunta.
  • Respondes una pregunta.
  • Eliminas una pregunta que consideras inapropiada.

payments

  • Se genera un pago.
  • El estado del pago cambia.

pictures

  • Cuando alguna imagen por error no pudo descargarse.



Aclaración: En caso que recibas notificaciones que consideres duplicadas ten en cuenta que existen eventos internos que no son visibles al integrador pero 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}

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



Siguiente:
Consultas avanzadas.

Please rate this