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 diversas variables del mercado. A continuación, se detallan las funcionalidades disponibles para gestionar automatizaciones.
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/{{itemId}}/rules
Reglas
rule_id | Título | Descripción |
---|---|---|
“INT_EXT” | Precio para ganar ventas | Tu precio se ajustará al precio más bajo entre publicaciones similares de Mercado Libre y otras fuera del sitio. |
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",
}
]
}
Campos de la respuesta
La respuesta de un GET al recurso /pricing-automation/items/{{itemId}}/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
- 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.
Resource not found:
{
"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"
}
Asignar nueva automatización de precios
Para asignar una nueva automatización de precios, es necesario realizar un POST al recurso /pricing-automation/items/{{itemId}}/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 la única regla disponible es “INT_EXT” (Competencia interna y externa en simultáneo)
- 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 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.
Resource bad req::
{
"error": "argument_not_valid",
"message": "rule_id must not be null",
"status": 400,
"cause": [
{
"code": "rule_id_not_null",
"message": "Rule identifier is required"
}
]
}
Resource not found:
{
"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
Para obtener una automatización de un ítem, es necesario consultar el recurso /pricing-automation/items/{{itemId}}/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/{{itemId}}/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.
Resource not found:
{
"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/{{itemId}}/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/{{itemId}}/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.
Response bad req:
{
"error": "argument_not_valid",
"message": "rule_id must not be null",
"status": 400,
"cause": [
{
"code": "rule_id_not_null",
"message": "Rule identifier is required"
}
]
}
Resource not found:
{
"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/{{itemId}}/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
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.
Resource not found:
{
"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/{{itemId}}/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/{{itemId}}/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.
Response bad req:
{
"message": "size must be numeric",
"error": "bad_request",
"status": 400,
"cause": []
}
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": []
}