Recursos Cross

Explora los recursos principales de nuestras APIs
circulos azuis em degrade

Documentación

Puedes usar esta documentación para las siguientes unidades de negocio:

Última actualización 15/04/2024

Precios de productos

Importante:
Utiliza los siguientes endpoints para consultar precios, ya que eliminaremos progresivamente:
- Los campos price, base_price y original_price de la API de /items.
- El GET a /prices/types/standard/channels/mshops utilizado para Mercado Shops.
Por favor, utiliza esta documentación para gestionar precios de Mercado Libre y Mercado Shops.

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

Importante:
A partir de junio 2024 debes utilizar las notificaciones items_prices para conocer cambios sobre los precios, las notificaciones de ítems no comunicarán cambios 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.

Importante:
Si el ítem tiene un precio con promoción, los siguientes campos estarán relacionados a Promociones. Puedes utilizarlos como input para realizar consultas específicas sobre promociones de marketplace y promociones de mshops.

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:

  • Si se sube el precio del item, las promociones se caen por ende no se mostrarán y no será necesario consultar con la API de Promotions.
  • Si se baja el precio, se ajusta el descuento del vendedor. Si se baja el precio por debajo de la oferta, Mercado Libre la elimina.

Cuando la promoción está programada:

  • No se verá reflejada
  • Si actualizas el precio de los DEALS, no se impactará hasta la fecha indicada.

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:

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

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

Importante:
Esta API aún no está disponible. Próximamente reemplazará al PUT de ítems para editar precios.

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"
        }
    ]
}
Nota:
Recibirás error 400 si:
- envías un nodo sin restricción por contexto y luego uno o más nodos con restricciones por contexto. Por default, si envías el nodo de precio sin restricciones por contexto, editarás precios standard.
- envías más de un nodo sin restricción por contexto.
- envías uno o más nodos con restricciones por contexto con valores de canales inválidos.
- no envías uno o más nodos con restricciones por contexto con valores de canales que el item tiene en el campo channels (/items).