Documentación Mercado Libre
Descubre toda la información que debes conocer sobre las APIs de Mercado Libre.Documentación
Envíos Colecta y Places
Colecta (cross_docking):
- Proceso: Un carrier recoge los productos del domicilio del vendedor y los lleva a un HUB (almacén).
- Entrega: Desde el HUB, se elige el carrier más conveniente para la entrega al comprador.
- Ruta: Vendedor → Colecta → HUB → Carrier → Comprador.
Cross Docking con Drop Off (XD_drop_off):
- Proceso: El vendedor deja los productos en un punto de recolección designado (places). Places o puntos de despacho son tiendas comerciales que también llevan el logo de Mercado Libre, Pickit o HOP en la puerta.
- Recolección y Entrega: Una colecta los transporta desde el Place al HUB para su entrega final.
- Ruta: Vendedor → Place → Colecta → HUB → Carrier → Comprador.
Drop_off:
- Proceso: El vendedor lleva los productos directamente a la oficina de correos o punto de entrega asignado. Los paquetes siguen el flujo propio del correo hasta que se entregan al comprador.
- Recolección y Entrega: Se selecciona al carrier para su entrega final.
- Ruta: Vendedor → Carrier → Comprador.
Activar Colecta o Places
En Mercado Libre, evaluamos semanalmente el rendimiento en la entrega de productos de los vendedores de Colectas y Places. Esta evaluación puede influir en la activación de estos servicios según el desempeño.
Puntos clave de la activación:
- Revisión y Configuración de Domicilios: asegura que las direcciones para envíos, despachos y devoluciones estén siempre actualizadas y configuradas correctamente para evitar problemas.
- Activación de Notificaciones: mantén tus notificaciones activas, esto te permitirá recibir alertas inmediatas sobre cualquier cambio en los servicios de Colecta o Places.
El monitoreo constante de tu desempeño y la correcta configuración de tus direcciones son esenciales para asegurar una operación fluida y sin interrupciones en la logística de tus productos.
Configurar un usuario de test
Para configurar la modalidad de envío colecta para usuarios de prueba, sigue estos pasos:
- Iniciar sesión en la página de Developers de Mercado Libre.
- Seleccionar la categoría a consultar, en este caso: "Configuraciones de test".
- Desplegar la sección de "Configuración" y elija "Colecta".
- Completar la información requerida sobre el usuario de prueba.
- Enviar solicitud de activación de Colecta para su cuenta de usuario de prueba.
Capacidad de envíos
La gestión de capacidad de envíos es una herramienta que permite a los vendedores configurar la cantidad máxima de envíos que pueden despachar en un día sin sufrir demoras. Esto les brinda la flexibilidad de organizarse y evitar retrasos, ya sea frente a cambios planificados en su volumen de ventas o situaciones inesperadas.
Conoce más sobre:
- Qué es mi capacidad de envíos y para qué me sirve
- Qué pasa cuando supero mi capacidad
- Hasta cuándo puedo modificarla
- Cómo la modifico si tengo más de una colecta en el día
- Qué es mi capacidad mínima
Vista del vendedor:
Consultar la capacidad de envíos
Este endpoint permite obtener la configuración actual de la capacidad de envío de un usuario.
Llamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/users/$USER_ID/capacity_middleend/$LOGISTIC_TYPE
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/users/419059119/capacity_middleend/cross_docking
Respuesta con intervención delay:
{
"capacities":[
{
"day": "monday",
"capacity_min":20,
"capacity_max": 140,
"capacity": {
"value": 120,
"maximum": false
},
"next_capacity": {
"value": 110,
"maximum": false
},
"can_add_capacity": false,
"can_subtract_capacity": true,
"intervention" : "delay",
},
{
"day": "tuesday",
"capacity_min":20,
"capacity_max": 140,
"capacity": {
"value": 120,
"maximum": false
},
"next_capacity": null,
"can_add_capacity": true,
"can_subtract_capacity": false,
"intervention" : "delay",
},
{
"day": "wednesday",
"capacity_min":20,
"capacity_max": 140,
"capacity": {
"value": 140,
"maximum": false
},
"next_capacity": null,
"can_add_capacity": true,
"can_subtract_capacity": false,
"intervention" : "delay",
},
{
"day": "thursday",
"capacity_min":20,
"capacity_max": 140,
"capacity": {
"value": 120,
"maximum": false
},
"next_capacity": null,
"can_add_capacity": true,
"can_subtract_capacity": false,
"intervention" : "delay",
},
{
"day": "friday",
"capacity_min":20,
"capacity_max": 140,
"capacity": {
"value": 110,
"maximum": false
},
"next_capacity": null,
"can_add_capacity": true,
"can_subtract_capacity": false,
"intervention" : "delay",
},
{
"day": "saturday",
"capacity_min":20,
"capacity_max": 140,
"capacity": {
"value": 120,
"maximum": true
},
"next_capacity": null,
"can_add_capacity": true,
"can_subtract_capacity": false,
"intervention" : "delay",
},
]
}
Respuesta con intervención early:
{
"capacities":[
{
"day": "monday",
"capacity_min":20,
"capacity_max": null,
"capacity": {
"value": 120,
"maximum": false
},
"next_capacity": {
"value": 110,
"maximum": false
},
"can_add_capacity": false,
"can_subtract_capacity": true,
"intervention" : "early",
},
{
"day": "tuesday",
"capacity_min":20,
"capacity_max": null,
"capacity": {
"value": 120,
"maximum": false
},
"next_capacity": null,
"can_add_capacity": true,
"can_subtract_capacity": false,
"intervention" : "early",
},
{
"day": "wednesday",
"capacity_min":20,
"capacity_max": null,
"capacity": {
"value": 140,
"maximum": false
},
"next_capacity": null,
"can_add_capacity": true,
"can_subtract_capacity": false,
"intervention" : "early",
},
{
"day": "thursday",
"capacity_min":20,
"capacity_max": null,
"capacity": {
"value": 120,
"maximum": false
},
"next_capacity": null,
"can_add_capacity": true,
"can_subtract_capacity": false,
"intervention" : "early",
},
{
"day": "friday",
"capacity_min":20,
"capacity_max": null,
"capacity": {
"value": 110,
"maximum": false
},
"next_capacity": null,
"can_add_capacity": true,
"can_subtract_capacity": false,
"intervention" : "early",
},
{
"day": "saturday",
"capacity_min":20,
"capacity_max": null,
"capacity": {
"value": 120,
"maximum": true
},
"next_capacity": null,
"can_add_capacity": true,
"can_subtract_capacity": false,
"intervention" : "early",
},
]
}
Parámetros de respuesta:
- day: Representa el día de la semana al que se refiere la capacidad. Los valores posibles son monday, tuesday, wednesday, thursday, friday, y saturday.
- capacity_min: Es el valor mínimo de capacidad permitido para ese día.
- capacity_max: Es el valor máximo de capacidad permitido para ese día.
- capacity.value: Es el valor de la capacidad actual para el día y semana en la que se encuentra el usuario.
- capacity.maximum: Indica si el usuario tiene seleccionado la capacidad infinita (false) / máxima (true). En caso de no tener next_capacity se devuelve un null para este campo.
- next_capacity.value: Es el valor de la capacidad configurada aplicable para la siguiente semana.
- next_capacity.maximum: Indica si el usuario tiene seleccionado la capacidad infinita (false) / máxima (true) para la siguiente semana.
- can_add_capacity: Indica si es posible agregar capacidad adicional para ese día. Los posibles valores son true o false.
- can_subtract_capacity: Indica si es posible restar capacidad para ese día. Los posibles valores son true o false.
- intervention: Describe el tipo de intervención en el que pueda incurrir el usuario:
- delay: intervención por demoras.
- early: intervención por entregas tempranas.
- null: no tiene intervención.
Consideraciones:
- Si no se configura la capacidad de despacho, el sistema no impondrá restricciones. Sin embargo, se recomienda a los vendedores que utilicen esta función para optimizar sus entregas y mejorar la experiencia del cliente.
- Cuando un vendedor no cumple con su objetivo de capacidad de envíos, entra en un estado de intervención por delay. Durante este período, hay restricciones en la capacidad de modificar o actualizar la capacidad de envíos. Esto se hace para garantizar que los vendedores se comprometan a mejorar su rendimiento. Una vez que se cumplan los requisitos durante el período de intervención, se levantarán las restricciones y podrás volver a ajustar tu capacidad de envíos.
- Cuando un vendedor puede despachar más de su capacidad, entra en un estado de intervención por early. Durante este período, no hay restricciones en la capacidad de modificar o actualizar la capacidad de envíos. Lo que se busca es que el vendedor pueda maximizar su inyección y configurar una capacidad más exacta.
- Para una experiencia óptima, te recomendamos habilitar las Novedades de vendedores, ya que es aquí donde se notificará cualquier actualización o cambio relevante en este proceso.
Actualizar la capacidad de envíos
Este endpoint permite modificar o actualizar la configuración de la capacidad de envío de un usuario.
Llamada:
curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/users/$USER_ID/capacity_middleend/$LOGISTIC_TYPE
Ejemplo:
curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/users/419059119/capacity_middleend/cross_docking
{
"capacities": [
{
"day": "monday",
"capacity": {
"value": 120,
"maximum": false
},
},
{
"day": "tuesday",
"capacity": {
"value": 120,
"maximum": false
},
},
{
"day": "wednesday",
"capacity": {
"value": 120,
"maximum": false
},
},
{
"day": "tuesday",
"capacity": {
"value": 120,
"maximum": false
},
},
{
"day": "friday",
"capacity": {
"value": 120,
"maximum": true
},
},
{
"day": "saturday",
"capacity": {
"value": 120,
"maximum": false
},
},
]
}
Códigos de estado de respuesta:
Código | Mensaje | Descripción | Recomendación |
---|---|---|---|
200 - OK | - | Se obtuvo correctamente la configuración actual. | - |
400 - Bad Request | there was an error parsing the request body | Error en los parámetros del request body. | Validar el request body. |
404 - Not Found | not valid logistic type | No existe el usuario o no tiene la logística de cross_docking. | Validar el user_id y los tipos de logística del usuario. |
Tiempo de preparación de envíos
El tiempo de preparación de envíos es el tiempo para gestionar o despachar un pedido una vez procesado.
Conoce más sobre:
- Preguntas frecuentes sobre el tiempo de preparación
- Para qué me sirve ajustarlo
- Hasta cuándo puedo modificarlo en el día
- Cómo lo modifico si tengo más de una colecta en el día
- Por qué hay días con menos opciones de tiempo de preparación
Consultar el tiempo de preparación
Este endpoint permite obtener el tiempo de preparación para el envío.
Llamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' 'X-Version: v3' https://api.mercadolibre.com/shipping/users/$USER_ID/processing_time_middleend/$LOGISTIC_TYPE
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' 'X-Version: v3' https://api.mercadolibre.com/shipping/users/123456789/processing_time_middleend/cross_docking
Respuesta:
{
"monday": {
"modified_by_meli": false,
"visible": true,
"enabled": true,
"current_processing_time": null
"available_options": [
{
"processing_time": "00:30",
"selected": false,
"highlight_level": "low",
"disabled": false
},
...
...
...
{
"processing_time": "07:00",
"selected": true,
"highlight_level": "high",
"disabled": false
}
]
}
Parámetros de respuesta:
- modified_by_meli: en caso de que venga true indica que Mercado Libre es el responsable de modificar su processing time.
- visible: indica si el día debe ser mostrado en el front.
- enabled: Indica si la fila está habilitada para editar.
- current_processing_time: indica el valor del processing time que se encontraba seleccionado antes del cambio. Si es distinto de null se mostrará el mensaje de que entrará en vigencia para la próxima semana. Si no, se mostrará el día normalmente.
- available_options.processing_time: indica el tiempo de procesamiento posible a seleccionar en formato HH:MM. Por ejemplo, “00:30” (30 minutos).
- available_options.selected: valor actual elegido por el usuario, o el default si es que nunca lo configuró antes.
- available_options.highlight_level: las opciones son:
- low: menos tiempo de preparación que el default.
- default: tiempo de preparación default.
- high: más tiempo de preparación que el default.
Actualizar el tiempo de preparación
Este endpoint permite actualizar el tiempo de preparación del envío.
Llamada:
curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' 'X-Version:v3' -d
https://api.mercadolibre.com/shipping/users/$USER_ID/processing_time_middleend/$LOGISTIC_TYPE
Ejemplo:
curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' 'X-Version:v3' -d
https://api.mercadolibre.com/users/419059119/processing_time_middleend/cross_docking
{
"processing_times": {
"monday": {
"processing_time": "01:00"
},
"tuesday": {
"processing_time": "01:00"
},
"wednesday": {
"processing_time": "01:00"
},
"thursday": {
"processing_time": "01:30"
},
"friday": {
"processing_time": "00:30"
},
"saturday": {
"processing_time": "01:00"
}
}
}
Respuesta:
{
"message": "The seller processing times were successfully saved"
}
Consideraciones
- Enviar en el formato “01:00”, “00:30” como viene en el GET.
- En caso de enviarse el campo processing_times vacío, la integración tomará los valores default dependiendo la logística “01:00” cross_docking y “01:30” xd_drop_off.
- En caso de enviarse un día bloqueado, es decir, un día que esté en enabled false, la integración ignora este valor y deja el valor que tiene seleccionado antes del cambio.
- La actualización del processing_time del día vigente solo va tener impacto en la próxima semana.
Códigos de estado de respuesta:
Código | Mensaje | Descripción | Recomendación |
---|---|---|---|
200 - OK | - | Se obtuvo correctamente la configuración actual. | - |
400 - Bad Request | there was an error parsing the request body | Error en los parámetros del request body. | Validar el request body. |
404 - Not Found | not valid logistic type | No existe el usuario o no tiene la logística de cross_docking. | Validar el user_id y los tipos de logística del usuario. |
Horarios de despacho
Los horarios de despacho ayudan a los vendedores a programar sus envíos y evitar retrasos, protegiendo su reputación. Para acceder a esta información, es necesario conocer los tipos de logística habilitados en su cuenta.
Llamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/users/$USER_ID/shipping/schedule/$LOGISTIC_TYPE
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/users/9984538542/shipping/schedule/cross_docking
Respuesta:
{
"seller_id": "84538542",
"schedule": {
"monday": {
"work": true,
"detail": [
{
"from": "13:00",
"to": "15:00",
"cutoff": "12:00",
"carrier": {
"id": "17501840",
"name": "Iflow"
},
"vehicle": {
"id": "12345",
"license_plate": "AZ541VW",
"vehicle_type": "Camioneta",
"only_for_today": false,
"new_driver": false
},
"driver": {
"id": "12345",
"name": "Test User"
},
"sla": ""
}
]
},
"tuesday": {
"work": true,
"detail": [
{
"from": "13:00",
"to": "15:00",
"cutoff": "12:00",
"carrier": {
"id": "17501840",
"name": "Iflow"
},
"vehicle": {
"id": "12345",
"license_plate": "AZ541VW",
"vehicle_type": "Camioneta",
"only_for_today": false,
"new_driver": false
},
"driver": {
"id": "12345",
"name": "Test User"
},
"sla": ""
}
]
},
"wednesday": {
"work": true,
"detail": [
{
"from": "13:00",
"to": "15:00",
"cutoff": "12:00",
"carrier": {
"id": "17501840",
"name": "Iflow"
},
"vehicle": {
"id": "12345",
"license_plate": "AZ541VW",
"vehicle_type": "Camioneta",
"only_for_today": false,
"new_driver": false
},
"driver": {
"id": "12345",
"name": "Test User"
},
"sla": ""
}
]
},
"thursday": {
"work": true,
"detail": [
{
"from": "13:00",
"to": "15:00",
"cutoff": "12:00",
"carrier": {
"id": "17501840",
"name": "Iflow"
},
"vehicle": {
"id": "12345",
"license_plate": "AZ541VW",
"vehicle_type": "Camioneta",
"only_for_today": false,
"new_driver": false
},
"driver": {
"id": "12345",
"name": "User de prueba"
},
"sla": ""
}
]
},
"friday": {
"work": true,
"detail": [
{
"from": "13:00",
"to": "15:00",
"cutoff": "12:00",
"carrier": {
"id": "17578840",
"name": "Iflow"
},
"vehicle": {
"id": "12345",
"license_plate": "AZ541VW",
"vehicle_type": "Camioneta",
"only_for_today": false,
"new_driver": false
},
"driver": {
"id": "12345",
"name": "Test User"
},
"sla": ""
}
]
},
"saturday": {
"work": false,
"detail": null
},
"sunday": {
"work": false,
"detail": null
}
}
}
Parámetros de respuesta:
- seller_id: id del vendedor.
- work: indica si el vendedor trabaja ese día. Aplica a todas las logísticas. No tiene en cuenta los feriados.
- from: es el horario de inicio de la ventana de recolección. Para xd_drop_off es el horario máximo de despacho.
- to: es el horario de fin de ventana de recolección.
- cutoff: horario de corte.
- carrier.id: id del carrier.
- carrier.name: nombre del carrier.
- vehicle: es la descripción del vehículo.
- vehicle.id: id del vehículo.
- vehicle.license_plate: es la patente del vehículo.
- vehicle.only_for_today: indica si la colecta es solo por el día de hoy.
- vehicle.new_driver: indica si hubo un cambio en el conductor que pasará.
- driver.id: id del conductor de la colecta.
- driver.name: es el nombre del conductor de la colecta.
Códigos de estado de respuesta:
Código | Mensaje | Descripción | Recomendación |
---|---|---|---|
200 - OK | - | Se obtuvo correctamente la configuración actual. | - |
400 - Bad Request | there was an error parsing the request body | Error en los parámetros del request body. | Validar el request body. |
404 - Not Found | not valid logistic type | No existe el usuario o no tiene la logística de cross_docking. | Validar el user_id y los tipos de logística del usuario. |