Documentación Mercado Libre
Descubre toda la información que debes conocer sobre las APIs de Mercado Libre.
Documentación
Gestionar automatizaciones
Las automatizaciones de precios en MercadoLibre son herramientas fundamentales para los vendedores que desean mantener sus productos competitivos y maximizar sus márgenes de ganancia. Estas herramientas permiten ajustar los precios de los productos de manera dinámica y estratégica en respuesta a modificaciones en la competencia. A continuación, se detallan las funcionalidades disponibles para gestionar automatizaciones.
A partir del 18 de marzo de 2026, los ítems con Automatización de Precios activa tendrán la edición de precio bloqueada vía API. Esta alteración busca proteger las estrategias de precios de los vendedores, evitando desactivaciones involuntarias y garantizando mayor estabilidad, alineando el comportamiento de la API con lo que ya se practica en el front-end.
Qué cambia?
Las peticiones PUT al recurso /items/$ITEM_ID que contengan actualizaciones de precio para ítems automatizados serán rechazadas.El comportamiento variará según el contenido del payload:
1. Si el intento de actualización contiene únicamente el campo price:
- Status Code: 400 Bad Request.
- Resultado: La solicitud será rechazada integramente.
- Respuesta: Indicará un error de validación, informando que el precio no puede editarse debido a la automatización activa.
Ejemplo del error:
{
"message": "Cannot modify price on items with dynamic pricing",
"error": "item.price.not_modifiable",
"status": 400,
"cause": []
}
2. Si el intento de actualización de precio se envía junto con otros atributos:
- Status Code: 200 OK.
- Resultado: Los demás atributos se actualizarán con éxito.
- Comportamiento del Precio: El campo price será ignorado y el valor original permanecerá sin cambios.
- Respuesta: Contendrá un objeto de warnings detallando que el precio no fue modificado debido a la automatización activa.
Ejemplo del warning:
"warnings": [
{
"department": "items",
"cause_id": 502,
"code": "item.price.not_modifiable",
"message": "Cannot modify price on items with dynamic pricing",
"references": [
"item.price"
]
}
]
Identificación Previa
Para evitar fallas en el flujo de actualización, es fundamental realizar la identificación previa de los ítems que poseen la automatización activa a través del endpoint Obtener automatización de precios de ítems por vendedor.
Obtener reglas disponibles para un ítem
Para un ítem específico, se puede obtener el listado de reglas disponibles que pueden ser utilizadas para una automatización de precios, es necesario realizar un GET al recurso /pricing-automation/items/$ITEM_ID/rules.
Reglas
| rule_id | Título | Descripción |
|---|---|---|
| “INT_EXT” | Mejor precio dentro y fuera de Mercado Libre | Tu precio se ajustará al precio más bajo entre publicaciones similares de Mercado Libre y otras fuera del sitio. |
| “INT” | Precio para ganar en Mercado Libre | Tu precio se ajustará al precio más bajo entre publicaciones similares de Mercado Libre. |
Pre condiciones para obtener las reglas disponibles para un ítem
- Debe consultarse sobre un ítem existente
- El ítem debe poder automatizarse
Llamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN'
https://api.mercadolibre.com/pricing-automation/items/$ITEM_ID/rules
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN'
https://api.mercadolibre.com/pricing-automation/items/MLA12345678/rules
Respuesta:
{
"item_id": "MLA123456",
"rules": [
{
"rule_id": "INT_EXT"
},
{
"rule_id": "INT"
}
]
}
Campos de la respuesta
La respuesta de un GET al recurso /pricing-automation/items/$ITEM_ID/rules proporcionará los siguientes parámetros:
- item_id: Identificador del ítem
- rules: Lista de reglas disponibles para un ítem. Actualmente solo puede ser INT_EXT y INT
- rule_id: Regla de automatización.
Posibles errores al obtener las reglas disponibles
Al obtener las reglas disponibles para un ítem, es posible que te encuentres con los siguientes errores. Es crucial que entiendas la causa de cada uno y sepas cómo corregirlos, para manejar eficientemente la situación. Aquí tienes la información necesaria para identificar y resolver estos problemas.
Ítem no encontrado:
{
"error": "item_not_found",
"message" : "Item with id [MLA123456] not found",
"status": 404,
"cause": []
}
Usuario no autorizado:
{
"error": "user_not_authorized",
"message": "User is not allowed to automate items",
"status": 412,
"cause": []
}
No es posible automatizar el item:
{
"error": "item_not_automatizable",
"message" : "Item with id [MLA123456] has no rules available",
"status": 412,
"cause": []
}
No se puede procesar la estrategia establecida:
{
"error": "unprocessable_get_strategies",
"message" : "Error calling retrieve item strategies service",
"status": 422,
"cause": []
}
No autorizado:
{
"code": "unauthorized",
"message": "invalid access token"
}
Obtener automatización de precios de ítems por vendedor
Este recurso devuelve una lista paginada de todos los ítems automatizados asociados a un determinado vendedor, eliminando la necesidad de verificar ítem por ítem y mejorando la gestión e integración para sellers con alto volumen de publicaciones.
Parámetros
| Parámetro | Descripción | Valores |
|---|---|---|
| offset | Posición inicial de la consulta (opcional). | Predeterminado: 0, Mínimo: 0 |
| limit | Cantidad máxima de ítems devueltos (opcional). | Predeterminado: 50, Máximo: 100 |
Llamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/pricing-automation/users/$USER_ID/items
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/pricing-automation/users/1167132037/items
Respuesta:
{
"items": [
"MLB4605019098",
"MLB4211305575"
],
"paging": {
"total": 2,
"offset": 0,
"limit": 50
}
}
Campos de la Respuesta
La respuesta del GET al recurso /pricing-automation/users/$USER_ID/items proporcionará los siguientes parámetros:
- items: Lista de IDs de ítems que el usuario tiene automatizados.
- paging: Objeto que contiene la información de paginación del resultado.
- total: Total de ítems automatizados disponibles para el usuario.
- offset: Posición a partir de la cual se devolvió la lista.
- limit: Cantidad máxima de ítems devueltos en la respuesta.
Asignar nueva automatización de precios
Para asignar una nueva automatización de precios, es necesario realizar un POST al recurso /pricing-automation/items/$ITEM_ID/automation
Pre condiciones para asignar una automatización
- Se debe aplicar la regla a un ítem existente
- Debe tener sí o sí un precio mínimo
- Los precios no pueden ser absurdos (Maximo y Minimo)
- Debe cumplir las condiciones de Creación
Llamada:
curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN'
{
"rule_id" : "INT_EXT",
"min_price": 100000,
"max_price": 1000000
}
https://api.mercadolibre.com/pricing-automation/items/$ITEM_ID/automation
Ejemplo:
curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN'
{
"rule_id" : "INT_EXT",
"min_price": 100000,
"max_price": 1000000
}
https://api.mercadolibre.com/pricing-automation/items/MLA12345678/automation
Respuesta:
{
"item_id": "MLA123456",
"status": "ACTIVE",
"item_rule": {
"rule_id": "INT_EXT",
},
"min_price": 100000,
"max_price": 1000000
}
Campos de la respuesta
La respuesta de un POST al recurso /pricing-automation/items/$ITEM_ID/automation proporcionará los siguientes parámetros
- item_id: Identificador del ítem
- status: Estado de la automatización, posibles status:
- ACTIVE
- PAUSED
- item_rule: Regla de automatización, actualmente las únicas reglas disponibles son:
- rule_id: Regla de automatización.
- “INT_EXT” (Competencia interna y externa en simultáneo).
- “INT” (Competencia interna únicamente, en caso de ser de catálogo solo se tomarán en cuenta ese tipo de publicaciones).
- title: Nombre de la regla seleccionada. La única disponible es “Precio para ganar ventas”
- description: Descripción de la regla seleccionada.
- min_price: Precio mínimo seteado a la automatización.
- max_price: Precio máximo seteado a la automatización.
Posibles errores al asignar una automatización
Al asignar una nueva automatización, es posible que te encuentres con los siguientes errores. Es crucial que entiendas la causa de cada uno y sepas cómo corregirlos, para manejar eficientemente la situación. Aquí tienes la información necesaria para identificar y resolver estos problemas.
Campo rule_id sin valor:
{
"error": "argument_not_valid",
"message": "rule_id must not be null",
"status": 400,
"cause": [
{
"code": "rule_id_not_null",
"message": "Rule identifier is required"
}
]
}
Ítem no encontrado:
{
"error": "item_not_found",
"message" : "Item with id [MLA123456] not found",
"status": 404
}
Usuário no autorizado:
{
"error": "user_not_authorized",
"message": "User is not allowed to automate items",
"status": 412
}
Automatización ya creada:
{ "error": "automation_already_created",
"message" : "Automation already created",
"status": 412
}
Automatización no permitida:
{
"error": "automation_operation_not_allowed",
"message" : "Cannot perform [assign automation] for item with id [MLA123456]",
"status": 412
}
No se puede procesar la regla establecida:
{
"error": "unprocessable_set_rule",
"message" : "Error calling rule assignment service",
"status": 422
}
No autorizado
{
"code": "unauthorized",
"message": "invalid access token"
}
Obtener automatización de precios existente por ítem
Para obtener una automatización de un ítem, es necesario consultar el recurso /pricing-automation/items/$ITEM_ID/automation
Pre condiciones para obtener una automatización
- Debe corresponder a un ítem existente
- Debe ser una automatización ya asignada
- Debe cumplir las condiciones de Obtención
Llamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN'
https://api.mercadolibre.com/pricing-automation/items/$ITEM_ID/automation
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/pricing-automation/items/MLA12345678/automation
Respuesta:
{
"item_id": "MLA123456",
"status": "ACTIVE | PAUSED"
"item_rule": {
"rule_id": "INT_EXT",
},
"min_price": 100000,
"max_price": 1000000,
"status_detail": {
"cause": "ITEM_NO_ACTIVE| PROMO|COMPETITORS",
"message": "Item paused message"
}
}
Campos de la respuesta
La respuesta de un GET al recurso pricing-automation/items/$ITEM_ID/automation proporcionará los siguientes parámetros:
- item_id: Identificador del ítem
- status: Estado de la automatización, posibles status:
- ACTIVE
- PAUSED
- item_rule:
- rule_id: Regla de automatización.
- min_price: Precio mínimo seteado a la automatización.
- max_price: Precio máximo seteado a la automatización.
- status_detail: Estado de la automatización pausado por alguna de estas causas:
- COMPETITORS
- PROMO
- ITEM_NO_ACTIVE
- cause: causa de la automatización pausada
- message: mensaje detallando cuál de las causas pausó la automatización
Posibles errores al obtener una automatización
Al consultar una automatización, es posible que te encuentres con los siguientes errores. Es crucial que entiendas la causa de cada uno y sepas cómo corregirlos, para manejar eficientemente la situación. Aquí tienes la información necesaria para identificar y resolver estos problemas.
Ítem no encontrado:
{
"error": "item_not_found",
"message" :"Item with id [MLA123456] not found",
"status": 404,
"cause": []
}
Automatización no encontrada:
{
"error": "automation_not_found",
"message" : "Automation not found for item with id [MLA123456]",
"status": 404,
"cause": []
}
Usuário no autorizado:
{
"error": "user_not_authorized",
"message": "User is not allowed to automate items",
"status": 412,
"cause": []
}
Automatización no permitida:
{
"error": "automation_operation_not_allowed",
"message" : "Cannot perform [get automation] for item with id [MLA123456]",
"status": 412,
"cause": []
}
No se puede procesar la regla establecida:
{
"error": "unprocessable_get_rule",
"message" : "Error calling rule assignment service",
"status": 422
}
No autorizado:
{
"code": "unauthorized",
"message": "invalid access token"
}
Actualizar una automatización de precios
Para actualizar una regla de automatización de un ítem que se encuentra asignada, es necesario realizar un PUT al recurso /pricing-automation/items/$ITEM_ID/automation.
Pre condiciones para actualizar una automatización
- Se debe aplicar la regla a un ítem existente.
- Es obligatorio que tenga un precio mínimo.
- Los precios no pueden ser absurdos (Máximo y Mínimo).
- Debe cumplir las condiciones de Modificación.
Llamada:
curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN'
{
"rule_id" : "INT_EXT",
"min_price": 100000,
"max_price": 1000000
}
https://api.mercadolibre.com/pricing-automation/items/$ITEM_ID/automation
Ejemplo:
curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN'
{
"rule_id" : "INT_EXT",
"min_price": 100000,
"max_price": 1000000
}
https://api.mercadolibre.com/pricing-automation/items/MLA12345678/automation
Respuesta:
{
"item_id": "MLA123456",
"status": "ACTIVE",
"item_rule": {
"rule_id": "INT_EXT",
},
"min_price": 100000,
"max_price": 1000000
}
Campos de la respuesta
La respuesta de un PUT al recurso /pricing-automation/items/$ITEM_ID/automation proporcionará los siguientes parámetros:
- item_id: Identificador del ítem
- status: Estado de la automatización, posibles status:
- ACTIVE
- PAUSED
- item_rule:
- rule_id: Regla de automatización.
- min_price: Precio mínimo seteado a la automatización.
- max_price: Precio máximo seteado a la automatización.
Posibles errores al actualizar una automatización
Al actualizar una automatización, es posible que te encuentres con los siguientes errores. Es crucial que entiendas la causa de cada uno y sepas cómo corregirlos, para manejar eficientemente la situación. Aquí tienes la información necesaria para identificar y resolver estos problemas.
Campo rule_id sin valor:
{
"error": "argument_not_valid",
"message": "rule_id must not be null",
"status": 400,
"cause": [
{
"code": "rule_id_not_null",
"message": "Rule identifier is required"
}
]
}
Ítem no encontrado:
{
"error": "item_not_found",
"message" : "Item with id [MLA123456] not found",
"status": 404,
"cause": []
}
Usuário no autorizado:
{
"error": "user_not_authorized",
"message": "User is not allowed to automate items",
"status": 412,
"cause": []
}
Automatización no permitida:
{
"error": "automation_operation_not_allowed",
"message" : "Cannot perform [assign automation] for item with id [MLA123456]",
"status": 412,
"cause": []
}
No se puede procesar la regla establecida:
{ "error": "unprocessable_set_rule",
"message" : "Error calling rule retrieve service",
"status": 422,
"cause": []
}
No autorizado:
{
"code": "unauthorized",
"message": "invalid access token"
}
Eliminar una automatización de precios
Para eliminar una regla de automatización de un ítem que se encuentra asignada, es necesario realizar un DELETE al recurso /pricing-automation/items/$ITEM_ID/automation
Pre condiciones para eliminar una automatización
- Se debe eliminar la regla a un ítem existente
- Se debe eliminar una regla existente
Llamada:
curl -X DELETE -H 'Authorization: Bearer $ACCESS_TOKEN'
https://api.mercadolibre.com/pricing-automation/items/$ITEM_ID/automation
Ejemplo:
curl -X DELETE -H 'Authorization: Bearer $ACCESS_TOKEN'
https://api.mercadolibre.com/pricing-automation/items/MLA12345678/automation
La respuesta exitosa será solo un "200 - OK" con un retorno vacío.
{}
Posibles errores al eliminar una automatización
Al eliminar una automatización, es posible que te encuentres con los siguientes errores. Es crucial que entiendas la causa de cada uno y sepas cómo corregirlos, para manejar eficientemente la situación. Aquí tienes la información necesaria para identificar y resolver estos problemas.
Ítem no encontrado:
{
"error": "item_not_found",
"message" : "Item with id [MLA123456] not found",
"status": 404,
"cause": []
}
Automatización no encontrada:
{
"error": "automation_not_found",
"message" : "Automation not found for item with id [MLA123456]",
"status": 404,
"cause": []
}
Usuário no autorizado:
{
"error": "user_not_authorized",
"message": "User is not allowed to automate items",
"status": 412,
"cause": []
}
Automatización no permitida:
{
"error": "automation_operation_not_allowed",
"message" : "Cannot perform [delete automation] for item with id [MLA123456]",
"status": 412,
"cause": []
}
No se puede procesar la regla establecida:
{ "error": "unprocessable_delete_rule",
"message" : "Error calling rule retrieve service",
"status": 422,
"cause": []
}
No autorizado:
{
"code": "unauthorized",
"message": "invalid access token"
}
Obtener histórico de precios para un ítem automatizado
Para un ítem específico, se puede obtener el histórico de las modificaciones de precios generado por las automatizaciones aplicadas, es necesario realizar un GET al recurso /pricing-automation/items/$ITEM_ID/price/history.
Pre condiciones para obtener el historial de precios para un ítem
- Debe consultarse sobre un ítem existente
Parámetros:
| Query params | Obligatoriedad | Detalle value |
|---|---|---|
| days | Opcional | por defecto es 30 |
| page | Opcional | por defecto es 0 |
| size | Opcional | por defecto es 10 |
Llamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN'
https://api.mercadolibre.com/pricing-automation/items/$ITEM_ID/price/history
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN'
https://api.mercadolibre.com/pricing-automation/items/MLA12345678/price/history
Respuesta:
{
"result_code": 200,
"result": {
"content": [
{
"date_time": "2024-07-12T15:26:15Z",
"percent_change": 0,
"usd_price": 0,
"deal_id": "68719c01-0566-4728-adef-2701750be2d0",
"price": 120,
"event": "CurrentStrategyConfirmed",
"strategy_type": "automation_min_price"
}
],
"pageable": {
"offset": 0,
"page_number": 0,
"page_size": 1
},
"total_elements": 9,
"total_pages": 9,
"size": 1,
"number_of_elements": 1,
"empty": false
},
"result_message": "OK"
}
Campos de la respuesta
La respuesta de un GET al recurso /pricing-automation/items/$ITEM_ID/price/history proporcionará los siguientes parámetros:
- result_code: Código HTTP de respuesta a la request recibida.
- result: Contiene el contenido de la respuesta y la información de paginación.
- content: Lista de objetos que contienen los detalles del histórico de precios.
- date_time: Fecha que indica la fecha y hora en la que se registró el cambio de precio.
- percent_change: Variación porcentual del precio respecto al valor anterior.
- usd_price: Precio en USD del ítem. Puede ser 0 si no está disponible.
- deal_id: Identificador único asociado a la transacción o evento de precio.
- price: Precio del ítem en la moneda local en el momento del evento.
- event: Nombre del evento que provocó el cambio de precio.
- strategy_type: Tipo de estrategia utilizada para el ajuste del precio.
- pageable: Información sobre la paginación de los resultados.
- offset: Desplazamiento desde el inicio de la lista de resultados.
- page_number: Número de la página actual en la paginación.
- page_size: Número máximo de elementos por página.
- total_elements: Número total de elementos disponibles en la respuesta.
- total_pages: Número total de páginas disponibles según el tamaño de la página.
- size: Número de elementos presentes en la página actual.
- number_of_elements: Número de elementos en la página actual.
- empty: Indicador de si la respuesta contiene o no datos.
- content: Lista de objetos que contienen los detalles del histórico de precios.
- result_message: Mensaje que proporciona una descripción del estado de la solicitud.
Posibles errores al obtener el historial de precio de un ítem
Al obtener el historial de cambio de precios para un ítem, es posible que te encuentres con los siguientes errores. Es crucial que entiendas la causa de cada uno y sepas cómo corregirlos, para manejar eficientemente la situación. Aquí tienes la información necesaria para identificar y resolver estos problemas.
No autorizado:
{
"code": "unauthorized",
"message": "invalid access token"
}
Item consultado no fue automatizado:
{
"message": "Item with id [MLM20974486577] not found",
"error": "item_not_found",
"status": 404,
"cause": []
}
El item no pertenece al seller:
{
"message": "User is not item owner",
"error": "user_not_authorized",
"status": 412,
"cause": []
}
Error al recuperar artículos del historial de precios
{
"message": "Error calling retrieve price history item service",
"error": "unprocessable_get_price_history",
"status": 422,
"cause": []
}
Asignar nueva automatización de precios por producto de catálogo
Asignar una nueva regla de automatización a un ítem de catálogo con los datos del producto asociado a él. Para la asignación de la regla, es necesario que exista un precio mínimo establecido, que el ítem sea de catálogo y que posea oportunidades.
Precondiciones para asignar una automatización
- La regla debe aplicarse a un ítem existente
- Debe tener un precio mínimo obligatorio
- Los precios no pueden ser absurdos (Máximo y Mínimo)
- El usuario debe tener buena reputación (Amarilla, Verde claro o Verde).
- El ítem debe ser de catálogo.
- El producto asociado debe tener oportunidades.
- El ítem debe ser nuevo.
- Debe cumplir las condiciones de Creación
Parámetros
| Parámetros de consulta | Obligatoriedad | Detalle del valor |
|---|---|---|
| Item_id | Obligatorio | identificador de publicación |
| catalog_product_id | Obligatorio | identificador del producto de catálogo |
Llamada:
curl -X POST
'https://api.mercadolibre.com/pricing-automation/items/$ITEM_ID/automation/by-product/$CATALOG_PRODUCT_ID' \
-H 'Authorization: Bearer $ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"rule_id" : "INT",
"min_price": 1890,
"max_price": 2000
}'
Ejemplo:
curl -X POST
'https://api.mercadolibre.com/pricing-automation/items/MLB4211305575/automation/by-product/MLB38607446' \
-H 'Authorization: Bearer $ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"rule_id" : "INT",
"min_price": 1890,
"max_price": 2000
}'
Respuesta:
{
"item_id": "MLB4211305575",
"status": "ACTIVE",
"item_rule": {
"rule_id": "INT"
},
"min_price": 1890,
"max_price": 2000
}
Campos de la respuesta
- item_id: Identificador del ítem
- status: Estado de la automatización, posibles estados:
- ACTIVE
- PAUSED
- item_rule: Regla de automatización. Las reglas disponibles son:
- rule_id: Regla de automatización.
- "INT_EXT" (Competencia interna y externa simultáneamente)
- "INT" (Solo competencia interna; en el caso de catálogo, se considerarán solo este tipo de publicaciones)
- min_price: Precio mínimo asignado a la automatización.
- max_price: Precio máximo asignado a la automatización.
Posibles errores al asignar una automatización
Al asignar una nueva automatización, es posible que encuentres los siguientes errores. Es crucial que entiendas la causa de cada uno y sepas cómo corregirlos, para gestionar eficientemente la situación. Aquí tienes la información necesaria para identificar y resolver estos problemas.
Automatización ya creada:
{
"message": "Automation already created",
"error": "automation_already_created",
"status": 412,
"cause": []
}
El ítem no es de catálogo:
{
"message": "The item [MLB363980000] isn't from catalog",
"error": "item_not_catalog",
"status": 412,
"cause": []
}
Automatización no permitida:
{
"message": "Cannot perform [assign automation] for item with id [MLB5742509500]",
"error": "automation_operation_not_allowed",
"status": 412,
"cause": []
}
Valor del campo rule_id incorrecto:
{
"message": "rule identifier is not valid",
"error": "argument_not_valid",
"status": 400,
"cause": [
{
"code": "rule_id_not_valid",
"message": "Rule identifier is not valid"
}
]
}
ITEM_ID no encontrado:
{
"message": "Item with id [MLB416190419] not found",
"error": "item_not_found",
"status": 404,
"cause": []
}
CATALOG_PRODUCT_ID inválido:
{
"message": "Product with id [MLB192960] not found",
"error": "product_not_found",
"status": 404,
"cause": []
}
El ítem no es nuevo:
{
"message": "Item id [MLB416190331] doesn't have a condition: new.",
"error": "item_not_new",
"status": 412,
"cause": []
}
No autorizado:
{
"code": "unauthorized",
"message": "invalid access token"
}
Obtener reglas disponibles para producto de catálogo
Para un producto específico, es posible obtener la lista de reglas disponibles que pueden utilizarse para una automatización de precios.
Precondiciones para obtener las reglas disponibles para un ítem
- Debe consultarse sobre un producto existente.
- El usuario debe tener buena reputación (Amarilla, Verde claro, Verde).
Llamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/pricing-automation/products/$CATALOG_PRODUCT_ID/rules
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/pricing-automation/products/MLA123456/rules
Respuesta:
{
"product_id": "MLA123456",
"rules": [
{ "rule_id": "INT_EXT" },
{ "rule_id": "INT" }
]
}
Campos de la respuesta
La respuesta de un GET para el recurso pricing-automation/products/$CATALOG_PRODUCT_ID/rules proporcionará los siguientes parámetros:
- catalog_product_id: Identificador del producto de catálogo
- rules: Lista de reglas disponibles para un ítem. Actualmente solo puede ser INT_EXT e INT.
- rule_id: Regla de automatización.
Posibles errores al obtener las reglas disponibles
Al obtener las reglas disponibles para un producto, es posible que encuentres los siguientes errores. Es crucial que entiendas la causa de cada uno y sepas cómo corregirlos, para gestionar eficientemente la situación. Aquí tienes la información necesaria para identificar y resolver estos problemas.
$CATALOG_PRODUCT_ID no encontrado:
{
"message": "Product with id [MLA123456] not found",
"error": "product_not_found",
"status": 404,
"cause": []
}
No autorizado:
{
"code": "unauthorized",
"message": "invalid access token"
}
Identificar publicaciones con automatización de precios
En el recurso /items es posible identificar si la publicación tiene automatización de precios configurada, a través del tag"dynamic_standard_price".
Llamada:
curl --location --request GET
'https://api.mercadolibre.com/items/$ITEM_ID' \
--header 'Authorization: Bearer $ACCESS_TOKEN'
Ejemplo:
curl --location --request GET
'https://api.mercadolibre.com/items/MLB6713483676' \
--header 'Authorization: Bearer $ACCESS_TOKEN'
Respuesta:
{
"id": "MLB6713483676",
"site_id": "MLB",
"title": "Michelin Ii Primacy Test Pxq B2c - Auto",
"family_name": null,
"seller_id": 3347552577,
"category_id": "MLB2233",
"user_product_id": null,
"official_store_id": null,
"price": 50000.0,
"base_price": 50000.0,
"original_price": null,
"inventory_id": null,
"currency_id": "BRL",
"initial_quantity": 5,
"available_quantity": 5,
"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:33:43.861Z",
"stop_time": "2046-04-29T04:00:00.000Z",
"end_time": "2046-04-29T04:00:00.000Z",
"expiration_time": "2026-07-23T20:33:43.926Z",
"condition": "new",
"permalink": "https://produto.mercadolivre.com.br/MLB-6713483676-michelin-ii-primacy-test-pxq-b2c-auto-_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": "5913921",
"value_name": "55",
"values": [
{
"id": "5913921",
"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": 194124095262,
"price": 50000.0,
"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": 5,
"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": "MLBU3946235076"
}
],
"status": "active",
"sub_status": [],
"tags": [
"dynamic_standard_price",
"good_quality_thumbnail",
"catalog_listing_eligible",
"test_item",
"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:33:44.027Z",
"last_updated": "2026-05-08T12:38:16.669Z",
"health": null,
"catalog_listing": false,
"item_relations": [],
"channels": [
"marketplace"
]
}
Siguiente: Precios netos por cantidad