Documentación Mercado Libre
Descubre toda la información que debes conocer sobre las APIs de Mercado Libre.
Documentación
Gestionar precios por cantidad
Precio por cantidad (PxQ) es un precio mayorista donde el comprador puede llevar más productos pagando menos. La propuesta se basa en definir un precio por cantidad reutilizando el "type" de precio junto con un nuevo atributo numérico dentro del campo "conditions"llamado "min_purchase_unit", que establece la cantidad mínima de unidades a partir de la cual el precio es válido.
Para sitios con multimoneda, siempre se deberá usar la misma moneda para el precio estándar y el precio por cantidad. En caso de que se usen monedas diferentes, ocurrirá un error 404.
Precios por cantidad B2B
En la funcionalidad disponible para Business to Business (B2B), se añadirá una cadena de texto (string) en el campo “conditions.context_restrictions” con el valor “user_type_business”. Para representar los diferentes precios por cantidad de un ítem, se utilizan varios nodos de precio “standard”.
Consideraciones
- Un ítem tiene una sola “tabla de precios mayorista” (conjunto de nodos con “min_purchase_unit”).
- La tabla de precios mayorista se podrá visualizar en el recurso de precios, con el contexto: user_type_business.
- La tabla de precios mayorista podría tener como min_purchase_unit cualquier número mayor que 1 y diferente de nulo.
- Por el momento solo vamos a generar precios con “min_purchase_unit” para channel_marketplace.
- Es posible cargar al máximo 5 precios por cantidad, donde el precio baja a medida que crece la cantidad mínima.
- NO vamos a cargar PxQ sin “user_type_business”. (Por lo tanto estos precios solo estarán disponibles para compradores B2B)
- En la actualidad el encendido va a ser controlado, por lo que los seller que tengan acceso a la funcionalidad, serán elegidos previamente e integrarán un listado.
- Los ítems que se les pueda definir un precio por cantidad, podrán ser validado bajo el tag “standard_price_by_quantity”.
- En caso de que el usuario agregue, modifique o elimine un PxQ, se enviará una notificación correspondiente al tópico items prices.
Identificar usuarios habilitados
Los usuarios que tengan habilitada la funcionalidad, tanto para navegar el buying flow como compradores B2B o publicar como vendedores B2B con precios por cantidad, serán marcados con el tag “business”. Esta tag puede ser consultada por el propio usuario a través del recurso de users.
Llamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/users/$USER_ID
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/users/206946886
Respuesta:
{
"id": 12345,
"nickname": "TETE1234",
"registration_date": "2020-03-04T09:43:00.000-04:00",
"first_name": "Test",
...
},
"user_type": "normal",
"tags": [
"normal",
"test_user",
"business",
"user_product_seller",
"messages_as_seller",
"eshop"
],
"logo": null,
"points": 1,
"site_id": "MLB",
"permalink": "http://perfil.mercadolivre.com.br/TETE3206487",
"seller_experience": "NEWBIE",
"bill_data": {
"accept_credit_note": null
},
...
"status": {
"billing": {
"allow": true,
"codes": []
},
"buy": {
"allow": true,
"codes": [],
"immediate_payment": {
"reasons": [],
"required": false
}
},
"confirmed_email": true,
"shopping_cart": {
"buy": "allowed",
"sell": "allowed"
},
"immediate_payment": false,
"list": {
"allow": true,
"codes": [],
"immediate_payment": {
"reasons": [],
"required": false
}
},
"mercadoenvios": "not_accepted",
"mercadopago_account_type": "personal",
"mercadopago_tc_accepted": true,
"required_action": null,
"sell": {
"allow": true,
"codes": [],
"immediate_payment": {
"reasons": [],
"required": false
}
},
"site_status": "active",
"user_type": null
},
...
}
Agregar, modificar y eliminar precio por cantidad
Permite definir o modificar precios por cantidad en la publicación, enviando o editando un listado de precios.
Parámetros:
| Query params | Obligatoriedad | Detalle value |
|---|---|---|
| Item_id | Obligatorio | identificador de publicación< |
Llamada:
curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/$ITEM_ID/prices/standard/quantity
Ejemplo:
curl -X POST 'https://api.mercadolibre.com/items/MLB123456789/prices/standard/quantity' \
-H 'Authorization: Bearer $ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"prices": [
{
"id": "1"
},
{
"amount": 2850,
"currency_id": "BRL",
"conditions": {
"context_restrictions": [
"channel_marketplace",
"user_type_business"
],
"min_purchase_unit": 10
}
}
]
}
Importante:
Ten en cuenta que en caso que no envíes el ID de uno de los precios ya definidos, se considerará que se está intentando eliminar dicho nodo.
Para modificar un ID existente, el cambio no se aplicará sobre el ID existente sino que se deberá crear un nuevo ID con la información actualizada y no enviar en la llamada los ID que se quieren quitar.
Además deberás tener en cuenta que el ID que se envía en la llamada, en la respuesta puedes identificarlo con un ID diferente, ya que si el ID enviado fue utilizado, se creará un ID nuevo en relación al último ID utilizado.
Para mantener un precio, solo tendrá que enviar el ID
Respuesta:
{
"id": MLB123456789,
"prices": [
{
"id" : "1",
"amount": 3000,
"currency_id" : "BRL",
"conditions": {
"context_restrictions": [
"channel_marketplace"
],
}
},
{
"amount": 2850,
"currency_id" : "BRL",
"conditions": {
"context_restrictions": [
"channel_marketplace",
"user_type_business"
],
"min_purchase_unit": 10
}
}
]
}
Ejemplo de envío de 5 precios por cantidad:
Ejemplo:
curl -X POST 'https://api.mercadolibre.com/items/MLB123450000/prices/standard/quantity' \
-H 'Authorization: Bearer $ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"prices": [
{
"id": "1"
},
{
"amount": 480,
"currency_id": "BRL",
"conditions": {
"context_restrictions": [
"channel_marketplace",
"user_type_business"
],
"min_purchase_unit": 2
}
},
{
"id": "2"
},
{
"amount": 450,
"currency_id": "BRL",
"conditions": {
"context_restrictions": [
"channel_marketplace",
"user_type_business"
],
"min_purchase_unit": 3
}
},
{
"id": "3"
},
{
"amount": 400,
"currency_id": "BRL",
"conditions": {
"context_restrictions": [
"channel_marketplace",
"user_type_business"
],
"min_purchase_unit": 4
}
},
{
"id": "4"
},
{
"amount": 380,
"currency_id": "BRL",
"conditions": {
"context_restrictions": [
"channel_marketplace",
"user_type_business"
],
"min_purchase_unit": 5
}
},
{
"id": "5"
},
{
"amount": 300,
"currency_id": "BRL",
"conditions": {
"context_restrictions": [
"channel_marketplace",
"user_type_business"
],
"min_purchase_unit": 6
}
}
]
}
Respuesta:
{
"id": "MLB123450000",
"prices": [
{
"id": "1",
"type": "standard",
"amount": 500,
"regular_amount": null,
"currency_id": "BRL",
"last_updated": "2025-05-13T21:50:48Z",
"conditions": {
"context_restrictions": [],
"start_time": null,
"end_time": null
}
},
{
"id": "10",
"type": "standard",
"amount": 480,
"regular_amount": null,
"currency_id": "BRL",
"last_updated": "2025-07-03T14:21:57Z",
"conditions": {
"context_restrictions": [
"channel_marketplace",
"user_type_business"
],
"start_time": null,
"end_time": null,
"min_purchase_unit": 2
}
},
{
"id": "11",
"type": "standard",
"amount": 450,
"regular_amount": null,
"currency_id": "BRL",
"last_updated": "2025-07-03T14:21:57Z",
"conditions": {
"context_restrictions": [
"channel_marketplace",
"user_type_business"
],
"start_time": null,
"end_time": null,
"min_purchase_unit": 3
}
},
{
"id": "12",
"type": "standard",
"amount": 400,
"regular_amount": null,
"currency_id": "BRL",
"last_updated": "2025-07-03T14:21:57Z",
"conditions": {
"context_restrictions": [
"channel_marketplace",
"user_type_business"
],
"start_time": null,
"end_time": null,
"min_purchase_unit": 4
}
},
{
"id": "13",
"type": "standard",
"amount": 380,
"regular_amount": null,
"currency_id": "BRL",
"last_updated": "2025-07-03T14:21:57Z",
"conditions": {
"context_restrictions": [
"channel_marketplace",
"user_type_business"
],
"start_time": null,
"end_time": null,
"min_purchase_unit": 5
}
},
{
"id": "14",
"type": "standard",
"amount": 300,
"regular_amount": null,
"currency_id": "BRL",
"last_updated": "2025-07-03T14:21:57Z",
"conditions": {
"context_restrictions": [
"channel_marketplace",
"user_type_business"
],
"start_time": null,
"end_time": null,
"min_purchase_unit": 6
}
}
]
}
Nota:
Ten en cuenta que la respuesta mostrará también el precio standard, precio de promoción (si cuenta con alguno) y el listado de precios por cantidad definidos.
Campos de la respuesta:
La respuesta de un POST al recurso items/$ITEM_ID/prices proporcionará los siguientes parámetros:
- prices: listado de precios del item después de agregar/borrar precios
- id: identificador del precio
- amount: precio del item
- currency_id: ID de la moneda utilizada
- conditions: restricciones aplicadas al precio
- context_restrictions: contexto a los cuales se le aplica el precio (para el caso de precio por cantidad, siempre deberán contar con los siguientes valores)
- channel_marketplace
- user_type_business
- min_purchase_unit: cantidad de unidades mínima para que se aplique el precio
- context_restrictions: contexto a los cuales se le aplica el precio (para el caso de precio por cantidad, siempre deberán contar con los siguientes valores)
Posibles errores
El seller_id no es correcto o no puede identificarse
{
"message": "You must provide a client id",
"error": "forbidden",
"status": 403,
"cause": []
}
El item id no es correcto o no puede identificarse
{
"message": "Item not found",
"error": "not.found",
"status": 404,
"cause": []
}
El token no pertenece al seller_id consultado
{
"message": "Caller ID must match item owner",
"error": "FORBIDDEN",
"status": 403,
"cause": []
}
No cuentas con permisos para acceder al recurso
{
"message": "Caller ID does not have rights to access this endpoint",
"error": "FORBIDDEN",
"status": 403,
"cause": []
}
Faltan campos en la llamada revisar min_purchase_unit y/o restricciones de contexto específicas channel_marketplace y user_type_business
{
"message": "A price per quantity needs min_purchase_unit and specific context_restrictions (channel_marketplace and user_type_business)",
"error": "bad.request",
"status": 404,
"cause": []
}
Puedes enviar un máximo de 5 precios por cantidad
{
"message": "You can just send a maximum of 5 prices per quantity",
"error": "bad.request",
"status": 404,
"cause": []
}
Envío de ID ya existente
{
"message": "Price per quantity min purchase unit are not unique",
"error": "invalid.price_per_quantity"
"status": 400,
"cause": []
}
La moneda del precio por cantidad no coincide con la del precio standard
{
"message": "Currencies must be the same for all prices",
"error": "invalid.price.currency",
"status": 404,
"cause": []
}
Identificar publicaciones con precio por cantidad
Podrás filtrar las publicaciones que cuenten con precios por cantidad, reconociendo estas publicaciones en /items mediante el tag "standard_price_by_quantity".
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN'
https://api.mercadolibre.com/items/MLB3868780585
Respuesta:
{
"id": "MLB3868780585",
"site_id": "MLB",
"title": "Smart App Wifi 220v 10a Baw Smart Switch Cor Branca",
"family_name": "Smart App Wifi 220v 10a Baw Smart Switch Cor Branca",
"seller_id": 532833708,
"category_id": "MLB269930",
"user_product_id": "MLBU1946664967",
"official_store_id": null,
"price": 280,
"base_price": 280,
"original_price": null,
"inventory_id": null,
"currency_id": "BRL",
"initial_quantity": 200,
"available_quantity": 200,
"sold_quantity": 0,
"sale_terms": [
{
"id": "WARRANTY_TIME",
"name": "Tempo de garantia",
"value_id": null,
"value_name": "30 dias",
"value_struct": {
"number": 30,
"unit": "dias"
},
"values": [
{
"id": null,
"name": "30 dias",
"struct": {
"number": 30,
"unit": "dias"
}
}
],
"value_type": "number_unit"
},
{
"id": "WARRANTY_TYPE",
"name": "Tipo de garantia",
"value_id": "2230279",
"value_name": "Garantia de fábrica",
"value_struct": null,
"values": [
{
"id": "2230279",
"name": "Garantia de fábrica",
"struct": null
}
],
"value_type": "list"
}
],
"buying_mode": "buy_it_now",
"listing_type_id": "gold_pro",
"start_time": "2024-10-04T15:30:04.337Z",
"stop_time": "2044-09-29T04:00:00.000Z",
"end_time": "2044-09-29T04:00:00.000Z",
"expiration_time": "2024-12-23T15:32:08.219Z",
"condition": "new",
"permalink": "https://produto.mercadolivre.com.br/MLB-3868780585-smart-app-wifi-220v-10a-baw-smart-switch-cor-branca-_JM",
"thumbnail_id": "948487-MLU71542239882_092023",
"thumbnail": "http://http2.mlstatic.com/D_948487-MLU71542239882_092023-I.jpg",
"pictures": [
{
"id": "948487-MLU71542239882_092023",
"url": "http://http2.mlstatic.com/D_948487-MLU71542239882_092023-O.jpg",
"secure_url": "https://http2.mlstatic.com/D_948487-MLU71542239882_092023-O.jpg",
"size": "500x267",
"max_size": "934x500",
"quality": ""
},
{
"id": "662409-MLU73489146186_122023",
"url": "http://http2.mlstatic.com/D_662409-MLU73489146186_122023-O.jpg",
"secure_url": "https://http2.mlstatic.com/D_662409-MLU73489146186_122023-O.jpg",
"size": "500x376",
"max_size": "502x378",
"quality": ""
},
{
"id": "706368-MLU73581947059_122023",
"url": "http://http2.mlstatic.com/D_706368-MLU73581947059_122023-O.jpg",
"secure_url": "https://http2.mlstatic.com/D_706368-MLU73581947059_122023-O.jpg",
"size": "473x500",
"max_size": "565x596",
"quality": ""
},
{
"id": "948008-MLU78085160228_082024",
"url": "http://http2.mlstatic.com/D_948008-MLU78085160228_082024-O.jpg",
"secure_url": "https://http2.mlstatic.com/D_948008-MLU78085160228_082024-O.jpg",
"size": "500x453",
"max_size": "1200x1088",
"quality": ""
}
],
"video_id": null,
"descriptions": [],
"accepts_mercadopago": true,
"non_mercado_pago_payment_methods": [],
"shipping": {
"mode": "me2",
"methods": [],
"tags": [
"mandatory_free_shipping"
],
"dimensions": null,
"local_pick_up": false,
"free_shipping": true,
"logistic_type": "drop_off",
"store_pick_up": false
},
"international_delivery_mode": "none",
"seller_address": {
"address_line": "Rua Cardeal Arcoverde SN",
"zip_code": "05407002",
"city": {
"id": "BR-SP-44",
"name": "São Paulo"
},
"state": {
"id": "BR-SP",
"name": "São Paulo"
},
"country": {
"id": "BR",
"name": "Brasil"
},
"search_location": {
"neighborhood": {
"id": "TUxCQlBJTkNBUDE1MQ",
"name": "Pinheiros"
},
"city": {
"id": "TUxCQ1NQLTY5NzA",
"name": "São Paulo Zona Oeste"
},
"state": {
"id": "TUxCUFNBT085N2E4",
"name": "São Paulo"
}
},
"latitude": -23.5601828,
"longitude": -46.6858799,
"id": 1090417221
},
"seller_contact": null,
"location": {},
"geolocation": {
"latitude": -23.5601828,
"longitude": -46.6858799
},
"coverage_areas": [],
"attributes": [
{
"id": "ANATEL_HOMOLOGATION_NUMBER",
"name": "Homologação Anatel Nº",
"value_id": "-1",
"value_name": null,
"values": [
{
"id": "-1",
"name": null,
"struct": null
}
],
"value_type": "number"
},
{
"id": "BRAND",
"name": "Marca",
"value_id": "411107",
"value_name": "BAW",
"values": [
{
"id": "411107",
"name": "BAW",
"struct": null
}
],
"value_type": "string"
},
{
"id": "COLOR",
"name": "Cor",
"value_id": "52055",
"value_name": "Branco",
"values": [
{
"id": "52055",
"name": "Branco",
"struct": null
}
],
"value_type": "string"
},
{
"id": "COMPATIBLE_SMART_APPS",
"name": "Aplicações inteligentes compatíveis",
"value_id": "12306602",
"value_name": "Smart Life",
"values": [
{
"id": "12306602",
"name": "Smart Life",
"struct": null
}
],
"value_type": "string"
},
{
"id": "COMPATIBLE_VIRTUAL_ASSISTANTS",
"name": "Assistentes virtuais compatíveis",
"value_id": "18618763",
"value_name": "Lâmpadas de parede e teto",
"values": [
{
"id": "18618763",
"name": "Lâmpadas de parede e teto",
"struct": null
}
],
"value_type": "string"
},
{
"id": "EMPTY_GTIN_REASON",
"name": "Motivo de GTIN vazio",
"value_id": "17055160",
"value_name": "O produto não tem código cadastrado",
"values": [
{
"id": "17055160",
"name": "O produto não tem código cadastrado",
"struct": null
}
],
"value_type": "list"
},
{
"id": "INCLUDES_PLATE",
"name": "Inclui placa",
"value_id": "242084",
"value_name": "Não",
"values": [
{
"id": "242084",
"name": "Não",
"struct": null
}
],
"value_type": "boolean"
},
{
"id": "INMETRO_CERTIFICATION_REGISTRATION_NUMBER",
"name": "Número de registro/certificação INMETRO",
"value_id": "-1",
"value_name": null,
"values": [
{
"id": "-1",
"name": null,
"struct": null
}
],
"value_type": "string"
},
{
"id": "ITEM_CONDITION",
"name": "Condição do item",
"value_id": "2230284",
"value_name": "Novo",
"values": [
{
"id": "2230284",
"name": "Novo",
"struct": null
}
],
"value_type": "list"
},
{
"id": "LINE",
"name": "Linha",
"value_id": "14954282",
"value_name": "smart wifi",
"values": [
{
"id": "14954282",
"name": "smart wifi",
"struct": null
}
],
"value_type": "string"
},
{
"id": "MAIN_COLOR",
"name": "Cor principal",
"value_id": "2450308",
"value_name": "Branco",
"values": [
{
"id": "2450308",
"name": "Branco",
"struct": null
}
],
"value_type": "list"
},
{
"id": "MODEL",
"name": "Modelo",
"value_id": "18075451",
"value_name": "TPSWIFI-10",
"values": [
{
"id": "18075451",
"name": "TPSWIFI-10",
"struct": null
}
],
"value_type": "string"
},
{
"id": "OUTLETS_NUMBER",
"name": "Quantidade de tomadas",
"value_id": "5949776",
"value_name": "1",
"values": [
{
"id": "5949776",
"name": "1",
"struct": null
}
],
"value_type": "number"
},
{
"id": "RATED_CURRENT",
"name": "Corrente nominal",
"value_id": "4480026",
"value_name": "10 A",
"values": [
{
"id": "4480026",
"name": "10 A",
"struct": {
"number": 10,
"unit": "A"
}
}
],
"value_type": "number_unit"
},
{
"id": "RATED_VOLTAGE",
"name": "Voltagem nominal",
"value_id": "3835864",
"value_name": "220V",
"values": [
{
"id": "3835864",
"name": "220V",
"struct": {
"number": 220,
"unit": "V"
}
}
],
"value_type": "number_unit"
},
{
"id": "SALE_FORMAT",
"name": "Formato de venda",
"value_id": "1359391",
"value_name": "Unidade",
"values": [
{
"id": "1359391",
"name": "Unidade",
"struct": null
}
],
"value_type": "list"
},
{
"id": "SELLER_SKU",
"name": "SKU",
"value_id": null,
"value_name": "543",
"values": [
{
"id": null,
"name": "543",
"struct": null
}
],
"value_type": "string"
},
{
"id": "UNITS_PER_PACK",
"name": "Unidades por kit",
"value_id": "2726554",
"value_name": "1",
"values": [
{
"id": "2726554",
"name": "1",
"struct": null
}
],
"value_type": "number"
},
{
"id": "WITH_USB_PORT",
"name": "Com entrada USB",
"value_id": "242084",
"value_name": "Não",
"values": [
{
"id": "242084",
"name": "Não",
"struct": null
}
],
"value_type": "boolean"
},
{
"id": "WITH_WI_FI",
"name": "Com Wi-Fi",
"value_id": "242085",
"value_name": "Sim",
"values": [
{
"id": "242085",
"name": "Sim",
"struct": null
}
],
"value_type": "boolean"
}
],
"warnings": [],
"listing_source": "",
"variations": [],
"status": "active",
"sub_status": [],
"tags": [
"good_quality_thumbnail",
"extended_warranty_eligible",
"user_product_listing",
"test_item",
"standard_price_by_quantity",
"immediate_payment",
"cart_eligible"
],
"warranty": "Garantia de fábrica: 30 dias",
"catalog_product_id": "MLB26881749",
"domain_id": "MLB-ELECTRICAL_OUTLETS",
"seller_custom_field": null,
"parent_item_id": null,
"differential_pricing": null,
"deal_ids": [],
"automatic_relist": false,
"date_created": "2024-10-04T15:30:04.487Z",
"last_updated": "2024-10-04T15:34:54.749Z",
"health": null,
"catalog_listing": true,
"item_relations": [],
"channels": [
"marketplace"
]
}
Obtener precios del ítem con precio por cantidad
Además del comportamiento conocido del recurso /items/$ITEM_ID/prices, donde se puede conocer los precios standard y promociones aplicadas a una publicación. Ahora va a ser posible conocer los precios por cantidad.
Nota:
Para conocer los precios por cantidad, se podrá enviar un header extra de manera opcional (show-all-prices: true | false)
Llamada:
curl -X GET -H 'show-all-prices: TRUE' \
'Authorization: Bearer $ACCESS_TOKEN'
https://api.mercadolibre.com/items/$ITEMS_ID/prices
Ejemplo:
curl -X GET -H 'show-all-prices: TRUE' \
'Authorization: Bearer $ACCESS_TOKEN'
https://api.mercadolibre.com/items/MLB123456789/prices
Respuesta:
{
"id": "MLB3868780585",
"prices": [
{
"id": "7",
"type": "standard",
"amount": 280,
"regular_amount": null,
"currency_id": "BRL",
"last_updated": "2024-10-04T15:32:08Z",
"conditions": {
"context_restrictions": [],
"start_time": null,
"end_time": null
}
},
{
"id": "2",
"type": "standard",
"amount": 240,
"regular_amount": null,
"currency_id": "BRL",
"last_updated": "2024-10-04T15:30:04Z",
"conditions": {
"context_restrictions": [
"channel_marketplace",
"user_type_business"
],
"start_time": null,
"end_time": null,
"min_purchase_unit": 10
}
},
{
"id": "3",
"type": "standard",
"amount": 225.58,
"regular_amount": null,
"currency_id": "BRL",
"last_updated": "2024-10-04T15:30:04Z",
"conditions": {
"context_restrictions": [
"channel_marketplace",
"user_type_business"
],
"start_time": null,
"end_time": null,
"min_purchase_unit": 39
}
},
{
"id": "4",
"type": "standard",
"amount": 220.32,
"regular_amount": null,
"currency_id": "BRL",
"last_updated": "2024-10-04T15:30:04Z",
"conditions": {
"context_restrictions": [
"channel_marketplace",
"user_type_business"
],
"start_time": null,
"end_time": null,
"min_purchase_unit": 48
}
},
{
"id": "5",
"type": "standard",
"amount": 227.5,
"regular_amount": null,
"currency_id": "BRL",
"last_updated": "2024-10-04T15:30:04Z",
"conditions": {
"context_restrictions": [
"channel_marketplace",
"user_type_business"
],
"start_time": null,
"end_time": null,
"min_purchase_unit": 35
}
},
{
"id": "6",
"type": "standard",
"amount": 232,
"regular_amount": null,
"currency_id": "BRL",
"last_updated": "2024-10-04T15:30:04Z",
"conditions": {
"context_restrictions": [
"channel_marketplace",
"user_type_business"
],
"start_time": null,
"end_time": null,
"min_purchase_unit": 26
}
}
]
}
Campos de la respuesta:
La respuesta de un GET al recurso /items/$ITEM_ID/prices proporcionará los siguientes parámetros:
- id: Identificador del ítem
- prices: precio que se quiere aplicar/modificar
- id: identificador del precio por cantidad definido
- type: tipo de precio
- standard
- amount: precio del ítem
- currency_id: ID de la moneda utilizada
- last_updated: fecha de la última actualización del precio
- conditions: restricciones aplicadas al precio
- context_restrictions: contexto a los cuales se le aplica el precio (para el caso de precio por cantidad, siempre deberán contar con los siguientes valores)
- channel_marketplace
- user_type_business
- min_purchase_unit: cantidad de unidades mínima para que se aplique el precio.
- context_restrictions: contexto a los cuales se le aplica el precio (para el caso de precio por cantidad, siempre deberán contar con los siguientes valores)
Obtener el precio actual de venta según cantidad de compra
Para los sellers que tengan habilitado el feature de precio por cantidad, va a ser posible buscar por el precio de venta actual según una cantidad de compra. Hoy por hoy, buscamos el mejor precio unitario. Con ese cambio, es posible saber el mejor precio para 10, 20, 55 unidades.
Además, va a ser posible saber todos los rangos de precios disponibles y si son rangos válidos al ser comparados con el precio unitario base.
Llamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/$ITEMS_ID/sale_price?context=$CONTEXTS&quantity=$CANTIDAD
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN'
https://api.mercadolibre.com/items/MLB3647026655/sale_price?context=channel_marketplace,user_type_business&quantity=30
Nota:
- Precio base: $37000 (gana siempre que quantity < 20)
- 5 unidades: $39000 (nunca gana, por qué es >= precio base)
- 10 unidades: $38000 (nunca gana, por qué es >= precio base)
- 20 unidades: $36000 (gana siempre que 20 <= quantity < 30)
- 30 unidades: $34000 (gana siempre que quantity >= 30)
Por "ganar", se entiende que el precio va ser reflejado en el campo amount.
Respuesta:
{
"price_id": "6",
"amount": 200,
"regular_amount": 300,
"currency_id": "BRL",
"reference_date": "2024-10-14T15:04:09Z",
"metadata": {}
}
Campos de la respuesta:
La respuesta de un GET al recurso /items/$ITEMS_ID/sale_price?context=$CONTEXTS&quantity proporcionará los siguientes parámetros:
- prices_id: identificador del precio ganador
- amount: precio ganador para la cantidad consultada.
- regular_amount: precio standard del item
- currency_id: ID de la moneda utilizada
- reference_date: Fecha de creación del precio por cantidad
- metadata: detalle de la información de precio por cantidad (No mostrará información)
Precios por cantidad B2C
Consideraciones
- Los precios B2C son del tipo "discount_percentage" con porcentaje de descuento (percentage) y se ubican en el nuevo array price_per_quantity[], separado del array prices[].
- Las context_restrictions del B2C incluyen únicamente "channel_marketplace", sin "user_type_business". Los precios B2C están disponibles para todos los compradores en el canal marketplace.
- El endpoint de creación B2C sustituye completamente el array price_per_quantity: omitir el ID de un precio existente equivale a eliminarlo. No existe la operación de "actualizar", para modificar un precio es necesario eliminarlo y crear uno nuevo.
- Es posible registrar un máximo de 2 precios B2C por cantidad por ítem, con valores de min_purchase_unit fijos: 2 y 4. Esta restricción aplica al dominio AUTOMOTIVE_TIRES.
- Los sellers con perfil B2B (tag business) también serán elegibles para configurar PxQ B2C en el dominio AUTOMOTIVE_TIRES. Tras el lanzamiento de la funcionalidad en producción, este dominio pasará a aceptar exclusivamente PxQ B2C, independientemente del perfil del seller. De esta forma, los ítems de este dominio no podrán tener PxQ B2B configurado.
Identificar versión de precios
Para crear o modificar precios por cantidad B2C, es necesario realizar primero una llamada a /items/$ITEM_ID/prices para obtener la versión actual de los precios del ítem. Esta versión debe enviarse como header en la llamada de escritura posterior.
Llamada:
curl -X GET 'https://api.mercadolibre.com/items/$ITEM_ID/prices?display_version=true' \
-H 'Authorization: Bearer $ACCESS_TOKEN' \
-H 'show-all-prices: true'
Ejemplo:
curl -X GET 'https://api.mercadolibre.com/items/MLB6713484994/prices?display_version=true' \
-H 'Authorization: Bearer $ACCESS_TOKEN' \
-H 'show-all-prices: true'
Respuesta:
{
"id": "MLB6713484994",
"prices": [
{
"id": "1",
"type": "standard",
"amount": 950,
"regular_amount": null,
"currency_id": "BRL",
"last_updated": "2026-05-04T20:35:55Z",
"conditions": {
"context_restrictions": [],
"start_time": null,
"end_time": null
}
}
],
"version": 3
}
Campos de la respuesta
- id : Identificador del ítem.
- prices: Lista de precios configurados para el ítem.
- id: Identificador del precio.
- type: Tipo de precio. Para precios estándar, el valor es standard.
- amount: Precio del ítem.
- regular_amount: Precio original antes de aplicar una promoción. Retorna
nullsi el ítem no tiene promoción activa. - currency_id: ID de la moneda utilizada.
- last_updated: Fecha y hora de la última modificación del precio.
- conditions: Condiciones de aplicación del precio.
- context_restrictions: Contextos en los que aplica el precio.
- version: Versión actual de los precios del ítem.
El valor a utilizar es el campo version de la raíz de la respuesta. En el ejemplo anterior, el valor es 3. Este número debe enviarse como header x-version: 3 en el POST de creación o modificación de precios por cantidad.
Agregar, modificar y eliminar precio por cantidad
Permite definir o modificar precios por cantidad en la publicación con porcentaje de descuento.
Llamada:
curl -L -X POST 'https://api.mercadolibre.com/items/$ITEM_ID/prices/price-per-quantity' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer $ACCESS_TOKEN' \
-H 'x-version: 1' \
-d '{
"price_per_quantity": [
{
"type": "discount_percentage",
"percentage": 15.0,
"conditions": {
"context_restrictions": [
"channel_marketplace"
],
"min_purchase_unit": 2,
"eligible": true
}
},
{
"type": "discount_percentage",
"percentage": 17.5,
"conditions": {
"context_restrictions": [
"channel_marketplace"
],
"min_purchase_unit": 4,
"eligible": true
}
}
]
}'
Ejemplo:
curl -L -X POST 'https://api.mercadolibre.com/items/MLB4642967339/prices/price-per-quantity' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer $ACCESS_TOKEN' \
-H 'x-version: 1' \
-d '{
"price_per_quantity": [
{
"type": "discount_percentage",
"percentage": 15.0,
"conditions": {
"context_restrictions": [
"channel_marketplace"
],
"min_purchase_unit": 2,
"eligible": true
}
},
{
"type": "discount_percentage",
"percentage": 17.5,
"conditions": {
"context_restrictions": [
"channel_marketplace"
],
"min_purchase_unit": 4,
"eligible": true
}
}
]
}'
Respuesta:
{
"id": "MLB6646853040",
"prices": [
{
"id": "10",
"type": "standard",
"amount": 650,
"regular_amount": null,
"currency_id": "BRL",
"last_updated": "2026-05-04T21:08:57Z",
"conditions": {
"context_restrictions": [],
"start_time": null,
"end_time": null,
"eligible": true
},
"exchange_rate_context": "DEFAULT",
"metadata": {}
}
],
"presentation": {
"display_currency": "BRL"
},
"payment_method_prices": [],
"reference_prices": [],
"purchase_discounts": [],
"last_price_id": 12,
"version": 9,
"price_per_quantity": [
{
"id": "11",
"type": "discount_percentage",
"percentage": 15.0,
"last_updated": "2026-05-05T10:03:52Z",
"price_floor": null,
"conditions": {
"context_restrictions": [
"channel_marketplace"
],
"min_purchase_unit": 2,
"eligible": true,
"start_time": null,
"end_time": null
}
},
{
"id": "12",
"type": "discount_percentage",
"percentage": 17.5,
"last_updated": "2026-05-05T10:03:52Z",
"price_floor": null,
"conditions": {
"context_restrictions": [
"channel_marketplace"
],
"min_purchase_unit": 4,
"eligible": true,
"start_time": null,
"end_time": null
}
}
]
}
La lógica de modificar o eliminar un precio por cantidad depende del campo "id".
- Enviar solo el “id” del precio existente: el precio se mantiene sin cambios. Ejemplo: "id": "4".
- No enviar el “id” de un precio existente: este se elimina. Ejemplo: Si el ítem tenía los ids “4” y "6" y el request incluye solo el “4”, el id "6" será eliminado.
- Enviar datos sin "id": se crea un nuevo precio y se le asigna un id.
De esta forma, no existe la opción de actualizar un precio. Modificar un precio implica necesariamente eliminar el existente y crear uno nuevo.
Posibles errores
Número máximo de faixas de precio excedido
Se produce cuando se intenta configurar más de 2 entradas en el array price_per_quantity. El límite máximo permitido es de 2 faixas de precio por cantidad por ítem.
{
"error": "Maximum 2 price_per_quantity entries allowed for channel_marketplace",
"code": "bad.request",
"status": 400
}
Enviado “id” para agregar precio por cantidad
El campo "id" dentro de "price_per_quantity" solo debe enviarse cuando se desea mantener un precio que ya existe. Si se envía un id que no corresponde a ningún precio configurado actualmente en el ítem, la API devolverá un error. Para crear un precio nuevo, no envíes el campo id; para eliminar uno existente, simplemente omítelo del array.
{
"status": 400,
"code": "bad.request",
"error": "Price per quantity with id 5 not found"
}
La versión enviada no corresponde a la versión actual del ítem
El valor del header x-version enviado en la llamada no es lo correcto.
{
"error": "The version provided is not the current one. Please fetch the item again",
"status": 409,
"code": "item.version"
}
No se envió el header x-version
El header x-version es obligatorio para todas las operaciones de escritura sobre precios por cantidad B2C. Si se omite, la API devolverá el siguiente error:
{
"error": "Version must be provided for this operation",
"status": 400,
"code": "bad.request"
}
Porcentaje fuera del rango permitido
Se produce cuando el campo "percentage" tiene un valor igual o menor a 0, o igual a 100. El porcentaje de descuento debe ser un valor mayor a 0 y menor a 100.
{
"status": 400,
"error": "Percentage must be greater than 0 and less than 100",
"code": "bad.request"
}
Ítem no pertenece al dominio Automotive Tires
Se produce cuando se intenta configurar un precio por cantidad B2C para un ítem cuya categoría no pertenece al dominio AUTOMOTIVE_TIRES (categorias MLB2233, MLA22195 y MLM5686).
{
"code": "invalid.price_per_quantity",
"error": "Price per quantity is available only for automotive tires",
"status": 400
}
El descuento de la cantidad mayor no supera al de la cantidad menor
La cantidad mayor siempre debe tener un porcentaje de descuento más alto que la cantidad menor.
{
"code": "prices.validator.validation.failed",
"cause_id": 5612,
"error": "Price must be strictly decreasing as quantity increases",
"status": 400
}
Obtener precios del ítem con precio por cantidad
Para obtener todos los precios de un ítem, incluyendo los precios por cantidad B2C, utiliza la llamada a GET /items/$ITEM_ID/prices. La respuesta tendrá el nuevo array price_per_quantity, donde se definen los precios por cantidad B2C con un porcentaje de descuento en lugar de un monto fijo.
Llamada:
curl -L -X GET 'https://api.mercadolibre.com/items/$ITEM_ID/prices' \
-H 'Authorization: Bearer $ACCESS_TOKEN'
Ejemplo:
curl -L -X GET 'https://api.mercadolibre.com/items/MLB6646853040/prices' \
-H 'Authorization: Bearer $ACCESS_TOKEN'
Respuesta:
{
"id": "MLB6646853040",
"prices": [
{
"id": "10",
"type": "standard",
"amount": 650,
"regular_amount": null,
"currency_id": "BRL",
"last_updated": "2026-05-04T21:08:57Z",
"conditions": {
"context_restrictions": [],
"start_time": null,
"end_time": null
}
}
],
"price_per_quantity": [
{
"id": "11",
"type": "discount_percentage",
"percentage": 15.0,
"last_updated": "2026-05-05T10:03:52Z",
"price_floor": null,
"conditions": {
"context_restrictions": [
"channel_marketplace"
],
"min_purchase_unit": 2,
"eligible": true,
"start_time": null,
"end_time": null
}
},
{
"id": "12",
"type": "discount_percentage",
"percentage": 17.5,
"last_updated": "2026-05-05T10:03:52Z",
"price_floor": null,
"conditions": {
"context_restrictions": [
"channel_marketplace"
],
"min_purchase_unit": 4,
"eligible": true,
"start_time": null,
"end_time": null
}
}
]
}
Campos de la respuesta:
- id: identificador del precio
- type: tipo de precio. Para B2C siempre será discount_percentage
- percentage: porcentaje de descuento aplicado sobre el precio standard del ítem
- last_updated: fecha y hora de la última actualización del precio
- conditions: restricciones aplicadas al precio
- context_restrictions: contextos en los que se aplica el precio. Para B2C siempre incluirá channel_marketplace
- min_purchase_unit: cantidad mínima de unidades para que se aplique el precio
- eligible: indica si el precio está activo y puede aplicarse
- start_time / end_time: fechas de vigencia del precio. Pueden ser null
Obtener precio de venta según cantidad de compra
Para obtener el precio de venta ganador según la cantidad que el comprador desea adquirir, agrega el parámetro quantity a la llamada GET /items/{itemId}/sale_price. El resultado seguirá siendo un único valor, el precio ganador para esa cantidad.
Si el precio ganador corresponde a un PxQ B2C, la respuesta incluirá el campo is_price_per_quantity: true en el objeto metadata.
Llamada:
curl -L -X GET 'https://api.mercadolibre.com/items/$ITEM_ID/sale_price?quantity=5' \
-H 'Authorization: Bearer $ACCESS_TOKEN'
Ejemplo:
curl -L -X GET 'https://api.mercadolibre.com/items/MLB6646853040/sale_price?quantity=5' \
-H 'Authorization: Bearer $ACCESS_TOKEN'
Respuesta:
{
"price_id": "10",
"amount": 536.25,
"regular_amount": null,
"currency_id": "BRL",
"reference_date": "2026-05-05T10:46:14Z",
"metadata": {
"is_price_per_quantity": true
}
}
Identificar publicaciones con precio por cantidad
Podrás filtrar las publicaciones que cuenten con precios por cantidad, reconociendo estas publicaciones en /items mediante el tag "standard_price_by_quantity".
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN'
https://api.mercadolibre.com/items/MLB6713484994
Respuesta:
{
"id": "MLB6713484994",
"site_id": "MLB",
"title": "Michelin Ii Primacy Test Pxq B2c - Promo",
"family_name": null,
"seller_id": 3347552577,
"category_id": "MLB2233",
"user_product_id": null,
"official_store_id": null,
"price": 950,
"base_price": 950,
"original_price": null,
"inventory_id": null,
"currency_id": "BRL",
"initial_quantity": 6,
"available_quantity": 6,
"sold_quantity": 0,
"sale_terms": [
{
"id": "WARRANTY_TYPE",
"name": "Tipo de garantia",
"value_id": "6150835",
"value_name": "Sem garantia",
"value_struct": null,
"values": [
{
"id": "6150835",
"name": "Sem garantia",
"struct": null
}
],
"value_type": "list"
}
],
"buying_mode": "buy_it_now",
"listing_type_id": "gold_special",
"start_time": "2026-05-04T20:35:55.785Z",
"stop_time": "2046-04-29T04:00:00.000Z",
"end_time": "2046-04-29T04:00:00.000Z",
"expiration_time": "2026-07-23T20:35:55.852Z",
"condition": "new",
"permalink": "https://produto.mercadolivre.com.br/MLB-6713484994-michelin-ii-primacy-test-pxq-b2c-promo-_JM",
"thumbnail_id": "800206-MLB95151503674_102025",
"thumbnail": "http://http2.mlstatic.com/D_800206-MLB95151503674_102025-I.webp",
"pictures": [
{
"id": "800206-MLB95151503674_102025",
"url": "http://http2.mlstatic.com/D_800206-MLB95151503674_102025-O.webp",
"secure_url": "https://http2.mlstatic.com/D_800206-MLB95151503674_102025-O.webp",
"size": "358x500",
"max_size": "859x1199",
"quality": ""
}
],
"video_id": null,
"descriptions": [],
"accepts_mercadopago": true,
"non_mercado_pago_payment_methods": [],
"shipping": {
"mode": "me2",
"methods": [],
"tags": [
"mandatory_free_shipping"
],
"dimensions": null,
"local_pick_up": false,
"free_shipping": true,
"logistic_type": "drop_off",
"store_pick_up": false
},
"international_delivery_mode": "none",
"seller_address": {
"address_line": "daw da SN",
"zip_code": "14010030",
"city": {
"id": "BR-SP-23",
"name": "Ribeirão Preto"
},
"state": {
"id": "BR-SP",
"name": "São Paulo"
},
"country": {
"id": "BR",
"name": "Brasil"
},
"search_location": {
"neighborhood": {
"id": "TVhYQ2VudHJvVFZoWVVtbGlaV2x5dzZOdklGQ0",
"name": "Centro"
},
"city": {
"id": "TVhYUmliZWlyw6NvIFByZXRvVFV4Q1VGTkJUM",
"name": "Ribeirão Preto"
},
"state": {
"id": "TUxCUFNBT085N2E4",
"name": "São Paulo"
}
},
"latitude": -21.1817961,
"longitude": -47.8002979,
"id": 1610141194
},
"seller_contact": null,
"location": {},
"geolocation": {
"latitude": -21.1817961,
"longitude": -47.8002979
},
"coverage_areas": [],
"attributes": [
{
"id": "AUTOMOTIVE_TIRE_ASPECT_RATIO",
"name": "Relação de aspecto",
"value_id": null,
"value_name": "55",
"values": [
{
"id": null,
"name": "55",
"struct": null
}
],
"value_type": "string"
},
{
"id": "BRAND",
"name": "Marca",
"value_id": "76166",
"value_name": "Michelin",
"values": [
{
"id": "76166",
"name": "Michelin",
"struct": null
}
],
"value_type": "string"
},
{
"id": "EXTERNAL_NOISE_REDUCTION_EFFICIENCY",
"name": "Eficiência de redução de ruído externo",
"value_id": "11308238",
"value_name": "A",
"values": [
{
"id": "11308238",
"name": "A",
"struct": null
}
],
"value_type": "string"
},
{
"id": "EXTERNAL_NOISE_REDUCTION_LEVEL",
"name": "Nivel de redução de ruído externo",
"value_id": "11363510",
"value_name": "68 dBA",
"values": [
{
"id": "11363510",
"name": "68 dBA",
"struct": {
"number": 68,
"unit": "dBA"
}
}
],
"value_type": "number_unit"
},
{
"id": "FUEL_SAVING_EFFICIENCY",
"name": "Eficiência de poupança de combustível",
"value_id": "11300936",
"value_name": "C",
"values": [
{
"id": "11300936",
"name": "C",
"struct": null
}
],
"value_type": "list"
},
{
"id": "IS_DIRECTIONAL",
"name": "É direcional",
"value_id": "242084",
"value_name": "Não",
"values": [
{
"id": "242084",
"name": "Não",
"struct": null
}
],
"value_type": "boolean"
},
{
"id": "IS_RUN_FLAT",
"name": "É run flat",
"value_id": "242084",
"value_name": "Não",
"values": [
{
"id": "242084",
"name": "Não",
"struct": null
}
],
"value_type": "boolean"
},
{
"id": "ITEM_CONDITION",
"name": "Condição do item",
"value_id": "2230284",
"value_name": "Novo",
"values": [
{
"id": "2230284",
"name": "Novo",
"struct": null
}
],
"value_type": "list"
},
{
"id": "LINE",
"name": "Linha",
"value_id": "5914488",
"value_name": "Primacy",
"values": [
{
"id": "5914488",
"name": "Primacy",
"struct": null
}
],
"value_type": "string"
},
{
"id": "LOAD_INDEX",
"name": "Índice de carga",
"value_id": "75319",
"value_name": "94",
"values": [
{
"id": "75319",
"name": "94",
"struct": null
}
],
"value_type": "string"
},
{
"id": "MANUFACTURER_TIRE_SIZE",
"name": "Tamanho",
"value_id": "36524054",
"value_name": "295/55 R16",
"values": [
{
"id": "36524054",
"name": "295/55 R16",
"struct": null
}
],
"value_type": "string"
},
{
"id": "MODEL",
"name": "Modelo",
"value_id": "7741851",
"value_name": "Primacy 4",
"values": [
{
"id": "7741851",
"name": "Primacy 4",
"struct": null
}
],
"value_type": "string"
},
{
"id": "OUTSIDE_DIAMETER",
"name": "Diâmetro externo",
"value_id": "7494998",
"value_name": "631.9 mm",
"values": [
{
"id": "7494998",
"name": "631.9 mm",
"struct": {
"number": 631.9,
"unit": "mm"
}
}
],
"value_type": "number_unit"
},
{
"id": "RIM_DIAMETER",
"name": "Diâmetro da roda",
"value_id": null,
"value_name": "17 \"",
"values": [
{
"id": null,
"name": "17 \"",
"struct": {
"number": 17,
"unit": "\""
}
}
],
"value_type": "number_unit"
},
{
"id": "SECTION_WIDTH",
"name": "Largura de secção",
"value_id": null,
"value_name": "205 mm",
"values": [
{
"id": null,
"name": "205 mm",
"struct": {
"number": 205,
"unit": "mm"
}
}
],
"value_type": "number_unit"
},
{
"id": "SELLER_PACKAGE_HEIGHT",
"name": "Altura da embalagem do vendor",
"value_id": null,
"value_name": "66 cm",
"values": [
{
"id": null,
"name": "66 cm",
"struct": {
"number": 66,
"unit": "cm"
}
}
],
"value_type": "number_unit"
},
{
"id": "SELLER_PACKAGE_LENGTH",
"name": "Comprimento da embalagem do vendor",
"value_id": null,
"value_name": "21 cm",
"values": [
{
"id": null,
"name": "21 cm",
"struct": {
"number": 21,
"unit": "cm"
}
}
],
"value_type": "number_unit"
},
{
"id": "SELLER_PACKAGE_WEIGHT",
"name": "Peso da embalagem do vendor",
"value_id": null,
"value_name": "9219 g",
"values": [
{
"id": null,
"name": "9219 g",
"struct": {
"number": 9219,
"unit": "g"
}
}
],
"value_type": "number_unit"
},
{
"id": "SELLER_PACKAGE_WIDTH",
"name": "Largura da embalagem do vendor",
"value_id": null,
"value_name": "66 cm",
"values": [
{
"id": null,
"name": "66 cm",
"struct": {
"number": 66,
"unit": "cm"
}
}
],
"value_type": "number_unit"
},
{
"id": "SERVICE_TYPE",
"name": "Tipo de serviço",
"value_id": "4369800",
"value_name": "P",
"values": [
{
"id": "4369800",
"name": "P",
"struct": null
}
],
"value_type": "list"
},
{
"id": "SIDEWALL",
"name": "Lateral",
"value_id": "13384862",
"value_name": "BSW",
"values": [
{
"id": "13384862",
"name": "BSW",
"struct": null
}
],
"value_type": "string"
},
{
"id": "TERRAIN_TYPE",
"name": "Tipo de terreno",
"value_id": "4369773",
"value_name": "HT",
"values": [
{
"id": "4369773",
"name": "HT",
"struct": null
}
],
"value_type": "list"
},
{
"id": "TIRES_NUMBER",
"name": "Quantidade de pneus",
"value_id": "2726554",
"value_name": "1",
"values": [
{
"id": "2726554",
"name": "1",
"struct": null
}
],
"value_type": "number"
},
{
"id": "TIRE_ASPECT_RATIO",
"name": "Relação de aspecto do pneu",
"value_id": null,
"value_name": "55 %",
"values": [
{
"id": null,
"name": "55 %",
"struct": {
"number": 55,
"unit": "%"
}
}
],
"value_type": "number_unit"
},
{
"id": "TIRE_CONSTRUCTION_TYPE",
"name": "Tipo de construção",
"value_id": "79419",
"value_name": "Radial",
"values": [
{
"id": "79419",
"name": "Radial",
"struct": null
}
],
"value_type": "list"
},
{
"id": "UNITS_PER_PACK",
"name": "Unidades por kit",
"value_id": null,
"value_name": "1",
"values": [
{
"id": null,
"name": "1",
"struct": null
}
],
"value_type": "number"
},
{
"id": "VEHICLE_TYPE",
"name": "Tipo de veículo",
"value_id": "11377043",
"value_name": "Carro/Caminhonete",
"values": [
{
"id": "11377043",
"name": "Carro/Caminhonete",
"struct": null
}
],
"value_type": "list"
},
{
"id": "WET_GRIP_EFFICIENCY",
"name": "Eficiência de aderência em molhado",
"value_id": "11300941",
"value_name": "A",
"values": [
{
"id": "11300941",
"name": "A",
"struct": null
}
],
"value_type": "list"
},
{
"id": "WITH_NOISE_REDUCTION",
"name": "Com redução de ruído",
"value_id": "242085",
"value_name": "Sim",
"values": [
{
"id": "242085",
"name": "Sim",
"struct": null
}
],
"value_type": "boolean"
}
],
"warnings": [],
"listing_source": "",
"variations": [
{
"id": 194124095318,
"price": 950,
"attribute_combinations": [
{
"id": "SPEED_INDEX",
"name": "Índice de velocidade",
"value_id": "362211",
"value_name": "A1",
"values": [
{
"id": "362211",
"name": "A1",
"struct": null
}
],
"value_type": "list"
}
],
"available_quantity": 6,
"sold_quantity": 0,
"sale_terms": [],
"picture_ids": [
"800206-MLB95151503674_102025"
],
"seller_custom_field": null,
"catalog_product_id": null,
"inventory_id": null,
"item_relations": [],
"user_product_id": "MLBU3946240324"
}
],
"status": "active",
"sub_status": [],
"tags": [
"test_item",
"catalog_listing_eligible",
"good_quality_thumbnail",
"standard_price_by_quantity",
"immediate_payment",
"cart_eligible"
],
"warranty": "Sem garantia",
"catalog_product_id": "MLB35830119",
"domain_id": "MLB-AUTOMOTIVE_TIRES",
"seller_custom_field": null,
"parent_item_id": null,
"differential_pricing": null,
"deal_ids": [],
"automatic_relist": false,
"date_created": "2026-05-04T20:35:55.966Z",
"last_updated": "2026-05-07T12:01:47.516Z",
"health": null,
"catalog_listing": false,
"item_relations": [],
"channels": [
"marketplace"
]
}