Recursos Cross
Explora los recursos principales de nuestras APIsDocumentación
Puedes usar esta documentación para las siguientes unidades de negocio:
Precios de productos
Si publicas y sincronizas items debes consultar los precios relacionados a un producto y contexto (canal y/o nivel de comprador) con las siguientes APIs. Además, puedes conocer el valor exacto de venta.
Para crear un item y editarlo debes continuar haciéndolo mediante la API de /items. Próximamente, habilitaremos este endpoint para editar precios.
En Mercado Libre puedes ver los precios de la siguiente manera:
Notificaciones sobre precios
Para recibir notificaciones sobre los precios, debes suscribirte al tópico items_prices, después de recibir la notificación debe consultar el recurso de /prices.
Obtener precio de venta actual
Para conocer el precio de venta, debes saber que los precios pueden ser de tipo standard (precios por default sin promociones asociadas) o promotion (promocionales, el precio tiene una promoción).
Con el siguiente request identificas el precio de venta ganador de un producto y puedes filtrar precios por canal de venta y/o nivel del comprador. Además, recibirás información sobre las promociones asociadas al ítem con el precio ganador, que se muestra al comprador. Si el token no pertenece al seller e ítem consultado, no recibirás información del array metadata (tipo de promoción asociada).
Context: parámetro opcional para filtrar canal de venta y/o nivel de comprador. Te recomendamos enviar por lo menos un channel a la vez y opcional puedes agregar cada loyalty_level. Valores posibles:
CHANNEL (Canal de venta)
- channel_marketplace: canal Mercado Libre.
- channel_mshops: canal Mercado Shops disponible para MLA, MLB, MLM, MLC y MCO. Si aún no trabajas con este canal, conoce más sobre Mercado Shops.
- channel_proximity, mp_merchants y mp_links: canal de productos publicados en Mercado Pago. Próximamente estarán habilitados.
LOYALTY_LEVEL (Nivel del comprador): no disponible en MLU y MPE
- buyer_loyalty_3
- buyer_loyalty_4
- buyer_loyalty_5
- buyer_loyalty_6
Llamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/$ITEM_ID/sale_price?context=$CHANNEL,LOYALTY_LEVEL
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/MLA3191390879/sale_price?context=channel_marketplace,buyer_loyalty_3
Respuesta:
{
"price_id": "145",
"amount": 39200.0,
"regular_amount": 49000.0,
"currency_id": "ARS",
"reference_date": "2023-06-08T19:06:56Z",
"metadata": {
"promotion_id": "OFFER-MLA13456789-1122334455", --- No aparece sin token propietario
"promotion_type": "custom" --- No aparece sin token propietario
}
}
Descripción de los campos
price_id: ID del precio.
amount: precio de venta del producto.
regular_amount: precio original del producto, en casos que tenga promoción. El precio tachado del precio ganador también es calculado, y se puede tomar de varias fuentes. No necesariamente será el mismo 'regular_amount' del recurso /prices.
currency_id: ID de la moneda a la que se refiere el campo amount y regular_amount.
reference_date: fecha para la cual está calculando el precio de venta.
metadata: información privada del usuario relacionada a la promotion asociada.
promotion_id: Id de la promoción. Con este ID puedes consultar la oferta (item, promoción y estado). .
promotion_type: tipo de promoción. No se informa de qué campaña es el item.
Cuando la promoción está activa:
- Las promociones siguen activas independientemente del aumento del precio standard.
- Si se baja el precio por debajo de la oferta, Mercado Libre la elimina.
- No se verá reflejada
- Si actualizas el precio de los DEALS, no se impactará hasta la fecha indicada.
- De forma individual, colocando una oferta custom a un ítem.
- De forma masiva como parte de una campaña de seller de porcentaje de descuento. Esto es, creas una campaña de 5% de descuento y subes items a esa campaña.
Cuando la promoción está programada:
Con la API de Promotions, puedes consultar promociones filtrando por su estado (started, finished, pending y candidate).
Solo las ofertas CUSTOM y PRICE_DISCOUNT se reportan como custom. Esto es porque se pueden crear de 2 formas:
Esto significa que para todos esos ítems se crearon ofertas CUSTOM/PRICE_DISCOUNT con un 5% de descuento. No existen otros tipos de campañas que también reporten ser custom
Obtener precios del producto
Conoce todos los tipos de precio (standard y promotion), siempre y cuando estén vigentes, que puede tener un producto en los diferentes canales donde está publicado.
Si el token no pertenece al seller e ítem consultado, no recibirás información en los campos start_time ni end_time relacionados a las promotions asociadas (price type: promotion).
Llamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/$ITEM_ID/prices
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/MLA1222333/prices
Respuesta:
{
"id": "MLA1222333",
"prices": [
{
"id": "52",
"type": "standard",
"amount": 49000,
"regular_amount": null,
"currency_id": "ARS",
"last_updated": "2023-05-25T16:03:32Z",
"conditions": {
"context_restrictions": [
"channel_marketplace"
],
"start_time": null,
"end_time": null
}
},
{
"id": "28",
"type": "standard",
"amount": 50000,
"regular_amount": null,
"currency_id": "ARS",
"last_updated": "2023-05-16T21:15:34Z",
"conditions": {
"context_restrictions": [
"channel_mshops"
],
"start_time": null,
"end_time": null
}
},
{
"id": "54",
"type": "promotion",
"amount": 46550.0,
"regular_amount": 49000.0,
"currency_id": "ARS",
"last_updated": "2023-06-08T14:07:08Z",
"conditions": {
"context_restrictions": [
"channel_marketplace"
],
"start_time": "2023-06-01T02:30:00Z", --- No aparece sin token propietario
"end_time": "2023-06-19T03:00:00Z"--- No aparece sin token propietario }
},
{
"id": "55",
"type": "promotion",
"amount": 44100.0,
"regular_amount": 49000.0,
"currency_id": "ARS",
"last_updated": "2023-06-08T14:07:08Z",
"conditions": {
"context_restrictions": [
"channel_marketplace",
"buyer_loyalty_3"
],
"start_time": "2023-06-01T02:30:00Z",
"end_time": "2023-06-19T03:00:00Z"
}
},
{
"id": "56",
"type": "promotion",
"amount": 44100.0,
"regular_amount": 49000.0,
"currency_id": "ARS",
"last_updated": "2023-06-08T14:07:08Z",
"conditions": {
"context_restrictions": [
"channel_marketplace",
"buyer_loyalty_4"
],
"start_time": "2023-06-01T02:30:00Z",
"end_time": "2023-06-19T03:00:00Z"
}
},
{
"id": "57",
"type": "promotion",
"amount": 44100.0,
"regular_amount": 49000.0,
"currency_id": "ARS",
"last_updated": "2023-06-08T14:07:08Z",
"conditions": {
"context_restrictions": [
"channel_marketplace",
"buyer_loyalty_5"
],
"start_time": "2023-06-01T02:30:00Z",
"end_time": "2023-06-19T03:00:00Z"
}
},
{
"id": "58",
"type": "promotion",
"amount": 44100.0,
"regular_amount": 49000.0,
"currency_id": "ARS",
"last_updated": "2023-06-08T14:07:08Z",
"conditions": {
"context_restrictions": [
"channel_marketplace",
"buyer_loyalty_6"
],
"start_time": "2023-06-01T02:30:00Z",
"end_time": "2023-06-19T03:00:00Z"
}
}
]
}
Descripción de los campos
id: ID del producto.
price: array con información relacionada al precio.
- id: id del precio.
- type: tipo de precio. Puede ser: standard (valor indicado por el vendedor sin promociones) o promotion (precio promocional).
- amount: precio del producto.
- regular_amount: precio original del producto, en casos que tenga promoción.
- currency_id: ID de la moneda a la que se refiere el campo amount regular_amount.
- last_updated: fecha última actualización.
conditions: array de condiciones bajo las cuales puede aplicar el precio.
- context_restrictions: canal que se aplica el precio o nivel de loyalty. Conceptualmente son restricciones que solo 'compiten' por ser el precio de venta si el contexto cumple con esos valores, por lo que está restringido a esos valores.
- start_time/end_time: fecha de inicio y finalización del precio. Información sensible oculta si consultas un ítem con token que no pertenece al ítem.
Editar precios tipo standard
Antes de utilizar este recurso, realiza GET a /items/$ITEM_ID/prices para conocer el precio standard del item y luego envía en el body del JSON conditions (canal de venta), amount (nuevo precio) y currency_id (moneda local) que desees cambiar. En todo los casos, debes enviar los canales de venta donde está publicado el precio standard.
Por ejemplo, si tienes un ítem con precio en canal marketplace y mshops, pero solo quieres editar mshops, debes enviar los 2 context_restrictions en el body del JSON, tal cual como lo recibes de la API /prices.
Parámetros obligatorios
prices: array lista de precios por canal.
conditions: condiciones del precio. Debes enviar context_restrictions como parte de las condiciones del precio. Dicta qué restricciones tendrá al momento de hacer match en búsqueda del Precio de Venta.
amount: valor del precio. Aplican máximos y mínimos según el país y categoría del producto.
currency_id: moneda del precio. Consulta las monedas disponibles por sites o detalle de monedas.
Llamada:
curl -x POST -H 'Authorization: Bearer $ACCESS_TOKEN' -H 'Content-Type: application/json' https://api.mercadolibre.com/items/$ITEM_ID/prices/standard
{
"prices": [
{
"conditions": {
"context_restrictions": ["channel_marketplace"]
},
"amount":400,
"currency_id":"USD"
},
{
"conditions": {
"context_restrictions": ["channel_mshops"]
},
"amount":450,
"currency_id":"USD"
}
]
}