Documentação do Mercado Livre
Confira todas as informações necessárias sobre as APIs Mercado Livre.Documentação do
Recibe notificaciones
Suscríbete a las notificaciones
Para comenzar a recibir notificaciones, debes realizar el login e ingresar a Mis aplicaciones, donde creaste tu aplicación por primera vez, editas detalles y especificas los topics que recibirás. Si aún no has creado tu aplicación, puedes hacerlo ahora.
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.
Topics disponibles
items: recibirás notificaciones de cualquier cambio en un artículo que publicaste.
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.
messages: 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.
orders feedback: recibirás notificaciones desde la creación y cambios realizados en feedbacks de tus ventas confirmadas.
quotations: recibirás notificaciones referidas a cotizaciones que sucedan en las publicaciones (aplica solo para integración de inmuebles en Mercado Libre Chile).
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)
item competition: recibirás notificaciones cuando las publicaciones de catálogo que se encuentran compitiendo cambian de estado. Tanto de competidor a ganador y viceversa.
catalog_suggestions: recibirás notificaciones sobre los cambios de estado de las sugerencias de productos para nuestro catálogo - Brand Central.
VIS Leads: recibirás notificaciones sobre datos de contacto de los compradores interesados en sus publicaciones.
leads credits: recibirás notificaciones relacionadas a créditos aprobados o rechazados en Mercado Libre (se aplica para vehículos, e inmuebles).
stock fulfillment: recibirás notificaciones con el detalle de una operación en particular ejecutada sobre el stock que el seller tiene almacenado en los depósitos de FBM.
items_prices: recibirás notificaciones del item_id cada vez que el precio se crea, se actualiza o se borra.
public candidates: recibirás notificaciones cada vez que un ítem sea invitado a participar en una promoción.
public offers: recibirás notificaciones cuando se crea o cambia de estado una oferta en un ítem.
flex-handshakes: recibirás notificaciones cuando se realicen transferencias de paquetes entre transportistas y cuando lo escanee por primera vez (cuando se marca shipped).
stock_locations: recibirás notificaciones cuando se modifican las stock_locations del user_product, ya sea por incremento o decremento el campo quantity.
user products families: recibirás notificaciones cuando se modifican las familias del user_product, por modificación de atributos que impactan en eso.
¿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 Importantes
- Enviaremos un POST a la callback URL y tu aplicación deberá confirmar mediante un HTTP 200 la recepción correcta. Caso contrario, el mensaje será considerado como “no recibido” 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 1 hora. 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:
{
"_id":"f9f08571-1f65-4c46-9e0a-c0f43faas1557e",
"resource": "/items/MLA686791111",
"user_id": 123456789,
"topic": "items",
"application_id": 2069392825111111,
"attempts": 1,
"sent": "2017-10-09T13:44:33.006Z",
"received": "2017-10-09T13:44:32.984Z"
}
Con esta información podrás realizar un GET al siguiente recurso de ítems:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/$ITEM_ID
orders_v2
Notification response:
{
"_id":"f9f08571-1f65-4c46-9e0a-c0f43faas1557e",
"resource":"/orders/2195160686",
"user_id": 468424240,
"topic":"orders_v2",
"application_id": 5503910054141466,
"attempts":1,
"sent":"2019-10-30T16:19:20.129Z",
"received":"2019-10-30T16:19:20.106Z"
}
Con esta información podrás realizar un GET al recurso de órdenes:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/$RESOURCE
questions
Notification response:
{
"_id":"f9f08571-1f65-4c46-9e0a-c0f43faas1557e",
"resource": "/questions/5036111111",
"user_id": 123456789,
"topic": "questions",
"application_id": 2069392825111111,
"attempts": 1,
"sent": "2017-10-09T13:51:05.464Z",
"received": "2017-10-09T13:51:05.438Z"
}
Con esta información podrás realizar un GET al recurso de questions:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/questions/$QUESTION_ID
payments
Notification response:
{
"_id":"f9f08571-1f65-4c46-9e0a-c0f43faas1557e",
"resource": "/collections/3043111111",
"user_id": 123456789,
"topic": "payments",
"application_id": 2069392825111111,
"attempts": 1,
"sent": "2017-10-09T13:58:22.081Z",
"received": "2017-10-09T13:58:22.061Z"
}
Con esta información podrás realizar un GET al recurso de collections:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/$RESOURCE
messages
Notification response:
{
"_id":"f9f08571-1f65-4c46-9e0a-c0f43faas1557e",
"resource": "3f6da1e35ac84f70a24af7360d24c7bc",
"user_id": 268897726,
"topic": "messages",
"application_id": 2219612378080430,
"attempts": 1,
"sent": "2017-08-17T12:59:44.164Z",
"received": "2017-08-17T12:59:44.131Z"
}
Con esta información podrás realizar un GET al recurso de mensajes:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/messages/$RESOURCE
quotations
Notification response:
{
"_id":"f9f08571-1f65-4c46-9e0a-c0f43faas1557e",
"resource":"/quotations/5013267",
"user_id": 484630370,
"topic":"quotations",
"application_id": 5503910054141466,
"attempts":1,
"sent":"2019-10-30T14:04:14.584Z",
"received":"2019-10-30T14:04:14.553Z"
}
Con esta información podrás realizar un GET al recurso de órdenes:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/$RESOURCE?caller.type=seller
Donde caller.type es para identificar quién es el generador de la acción. Puede ser un vendedor o un usuario. Generalmente, para las aplicaciones de lanzamientos será el del vendedor.
invoices
Notification response:
{
"_id":"f9f08571-1f65-4c46-9e0a-c0f43faas1557e",
"resource": "/users/123456789/invoices/$INVOICE_ID",
"user_id": 123456789,
"topic": "invoices",
"application_id": 5503910054141466,
"attempts": 1,
"sent": "2018-03-21T20:51:11.906Z",
"received": "2018-03-21T20:51:11.884Z"
}
Con esta información podrás realizar un GET al recurso de /invoices:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/$RESOURCE
claims
Notification response:
{
"_id":"f9f08571-1f65-4c46-9e0a-c0f43faas1557e",
"resource":"/v1/claims/1041417027",
"user_id": 465432224,
"topic":"claims",
"application_id":5503910054141466,
"attempts":1,
"sent":"2019-10-29T17:46:24.606Z",
"received":"2019-10-29T17:46:24.616Z"
}
Con esta información podrás realizar un GET al recurso de /claims:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/$RESOURCE
item competition
Notificación:
{
"_id":"f9f08571-1f65-4c46-9e0a-c0f43faas1557e",
"resource":"/items/ITEM_ID/price_to_win",
"user_id": 123456789,
"topic":"catalog_item_competition_status",
"application_id":4806348059754779,
"attempts":1,
"sent":"2020-03-03T18:57:54.824Z",
"received":"2020-03-03T18:57:54.819Z"
}
Con esta información podrás realizar un GET al recurso de /price_to_win.
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/$ITEM_ID/price_to_win
catalog suggestions
Notificación:
{
"_id":"f9f08571-1f65-4c46-9e0a-c0f43faas1557e",
"topic": "catalog_suggestions",
"resource": "/catalog_suggestions/MLA123456",
"user_id": 123456,
"application_id": 5775857146034005,
"attempts": 1,
"recieved": "2021-12-05T17:13:53.617074685Z",
"sent": "2021-12-05T19:22:31.579985295Z"
}
Con esta información, podrás realizar un GET al recurso de /catalog_suggestions:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/catalog_suggestions/$SUGGESTION_ID
VIS Leads
Notificación:
{
"_id":"f9f08571-1f65-4c46-9e0a-c0f43faas1557e",
"resource": "/vis/leads/14b52fd8-85dc-11eb-8436-2753cb1f9665",
"user_id": 123456789,
"topic": "vis_leads",
"application_id": 2069392825111111,
"attempts": 1,
"sent": "2024-05-09T13:44:33.006Z",
"received": "2024-05-09T13:44:32.984Z"
}
Con esta información, podrás realizar un GET al recurso de /vis/leads:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/vis/leads/$LEAD_ID?seller_id=$SELLER_ID
Leads credits
Notificación:
{
"_id": "15b0e685-65be-40b6-8d23-alkdjf6465a4f",
"topic": "leads-credits",
"resource": "/vis/loans/66e93589-2d10-11ed-ae7f-0aa30fafa621",
"user_id": 123456789,
"application_id": 874563217565897,
"sent": "2022-09-13T21:03:24.581Z",
"attempts": 2,
"received": "2022-09-13T21:02:22.735Z"
}
Con esta información, podrás realizar un GET al recurso de /vis/loans:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/vis/loans/$CREDIT_ID?seller_id=$SELLER_ID
stock fulfillment
Notificación:
{
"_id":"f9f08571-1f65-4c46-9e0a-c0f43faas1557e",
"resource":"/stock/fulfillment/operations/9876",
"user_id":1234,
"topic":"fbm_stock_operations",
"application_id":12341234,
"attempts":1,
"sent":"2017-10-09T13:58:23.347Z",
"received":"2017-10-09T13:58:23.329Z"
}
Con esta información podrás realizar un GET al recurso de /stock/fulfillment/operations:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/$RESOURCE
items_prices
Notificación:
{
"_id":"f9f08571-1f65-4c46-9e0a-c0f43faas1557e",
"resource": "/items/MLA686791111/prices",
"user_id": 123456789,
"topic": "items",
"application_id": 2069392825111111,
"attempts": 1,
"sent": "2023-02-06T13:44:33.006Z",
"received": "2023-02-06T13:44:32.984Z"
}
Con esta información podrás realizar un GET al recurso /prices:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/$ITEM_ID/prices
public candidates
Notificación:
{
"topic": "public_candidates",
"_id":"f9f08571-1f65-4c46-9e0a-c0f43faas1557e",
"resource": "/seller-promotions/candidates/CANDIDATE-MLA1111111111-11111111",
"user_id": 2222222,
"application_id": 5111111111111,
"attempts": 1,
"recieved": "2021-12-23T17:13:53.617074685Z",
"sent": "2021-12-23T19:22:31.579985295Z"
}
Con esta información puede realizar un GET en el recurso /seller-promotions/candidates:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/seller-promotions/candidates/$CANDIDATE_ID
public offers
Notificación:
{
"topic": "public_offers",
"_id":"f9f08571-1f65-4c46-9e0a-c0f43faas1557e",
"resource": "/seller-promotions/offers/1234567",
"user_id": 2222222,
"application_id": 5111111111111,
"attempts": 1,
"recieved": "2022-01-20T17:13:53.617074685Z",
"sent": "2022-01-20T19:22:31.579985295Z"
}
Con esta información podrás realizar un GET al recurso /seller-promotions/offers:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/seller-promotions/offers/$OFFERS_ID
flex transportistas
Notificación:
{
"_id": "495cac10-8496-45f8-a6f5-8bff0a948597",
"topic": "flex-handshakes",
"resource": "/flex/sites/MLA/shipments/407323124706/assignment/v1",
"user_id": 123456789,
"application_id": 213123389095511,
"sent": "2022-09-13T21:06:13.632Z",
"attempts": 4,
"received": "2022-09-13T20:59:13.911Z"
}
Llamada:
Con esta información podrás realizar un GET al siguiente recurso:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/flex/sites/$SITE_ID/shipments/$SHIPMENT_ID/assignment/v1
stock_locations
Notificación:
{
"_id": "495cac10-8496-45f8-a6f5-8bff0a948597",
"topic": "stock-location",
"resource": "/user-products/$USER_PRODUCT_ID/stock",
"user_id": 123456789,
"application_id": 213123389095511,
"sent": "2022-09-13T21:06:13.632Z",
"attempts": 4,
"received": "2022-09-13T20:59:13.911Z"
}
Llamada:
Con esta información podrás realizar un GET al recurso de User product ID.
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/user-products/$USER_PRODUCT_ID/stock
user products families
Notificación:
{
"_id": "2e4f6253-ebcc-421d-9d0b-97f80290ac5d",
"topic": "user-products-families",
"resource": "/sites/$SITE_ID/user-products-families/$FAMILY_ID",
"user_id": 123456789,
"application_id": 213123389095511,
"sent": "2024-07-11T18:43:50.793Z",
"attempts": 1,
"received": "2024-07-11T18:43:50.699Z"
}
Llamada:
Con esta información podrás realizar un GET al recurso de consultar los user products de una familia.
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/sites/$SITE_ID/user-products-families/$FAMILY_ID
Prueba tus notificaciones
Puedes validar si estás recibiendo notificaciones en tu integración importando este link en Postman. Si tu URL funciona correctamente recibirás como respuesta code 200 status ok, como se muestra en la siguiente imagen.
Histórico de notificaciones
Consulta el historial de notificaciones perdidas de estos tópicos realizando un GET al siguiente endpoint:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/missed_feeds?app_id=$APP_ID
Si estás utilizando algún tipo de filtro en tu aplicación, desde Mercado Libre generaremos las notificaciones con las siguientes direcciones IP:
- 54.88.218.97
- 18.215.140.160
- 18.213.114.129
- 18.206.34.84
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/missed_feeds?app_id=3486171129139063
Respuesta:
{
"messages": [
{
"_id": "5da8a1b24be30a49eb66c52a",
"resource": "a35cf79864a845ca9a3bf6aee59bb4d7",
"user_id": 465432224,
"topic": "messages",
"application_id": 3486171129139063,
"attempts": 1,
"sent": "2019-10-17T17:15:30.279Z",
"received": "2019-10-17T17:15:30.259Z",
"request": {
"url": "https://YOUR_URL",
"headers": {
"accept": "application/json",
"content-type": "application/json",
"content-length": 207
},
"data": "{\"resource\":\"a35cf79864a845ca9a3bf6aee59bb4d7\",\"user_id\":\"465432224\",\"topic\":\"messages\",\"application_id\":3486171129139063,\"attempts\":1,\"sent\":\"2019-10-17T17:15:30.279Z\",\"received\":\"2019-10-17T17:15:30.259Z\"}"
},
"response": {
"req_time": 260,
"http_code": 400,
"body": "[object Object]",
"headers": {
"date": "Thu, 17 Oct 2019 17:15:30 GMT",
"content-length": "141",
"content-type": "text/plain; charset=utf-8",
"connection": "close"
}
}
},
{
"_id": "5da87eea5b35b865994cfd7d",
"resource": "/items/MLA820048955",
"user_id": 468424240,
"topic": "items",
"application_id": 3486171129139063,
"attempts": 1,
"sent": "2019-10-17T14:47:06.414Z",
"received": "2019-10-17T14:47:06.375Z",
"request": {
"url": "https://YOUR_URL",
"headers": {
"accept": "application/json",
"content-type": "application/json",
"content-length": 189
},
"data": "{\"resource\":\"/items/MLA820048955\",\"user_id\":468424240,\"topic\":\"items\",\"application_id\":3486171129139063,\"attempts\":1,\"sent\":\"2019-10-17T14:47:06.414Z\",\"received\":\"2019-10-17T14:47:06.375Z\"}"
},
"response": {
"req_time": 498,
"http_code": 200,
"body": "[object Object]",
"headers": {
"content-type": "application/json; charset=utf-8",
"date": "Thu, 17 Oct 2019 14:47:06 GMT",
"content-length": "190",
"connection": "close"
}
}
}
}
Campos del recurso
resource: recurso completo, con tópico por el cual se generó la notificación.
user_id: usuario que la generó.
topic: tema referente de la notificación.
request: consulta realizada a la URL de notificaciones, junto con su respectivo url, header y data.
response: respuesta de parte del servidor que recibe la notificación.
http_code: código HTTP que devuelve dicho servidor, para que no se reintente tiene que enviar un 200.
Filtro por tópico
Existe la posibilidad de filtrar por tópico, es muy útil para cuando se tienen una gran cantidad de notificaciones.
Llamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/missed_feeds?app_id=$APP_ID&topic=$TOPIC
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/missed_feeds?app_id=3486171129139063&topic=payments
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/missed_feeds?app_id=$APP_ID&offset=1&limit=5