Mercado Envíos Flex
Configurar un usuario test
Para configurar la funcionalidad para los usuarios de prueba, debe estar logueado en la cuenta que desea poner Envio Flex, y la cuenta debe tener:
- ME2 en sus publicaciones;
- Reputación Amarilla o Verde;
- Dirección de correo compatible con el área de cobertura de su país;
- Estar configurado con la dirección de envío de acuerdo con las áreas de cobertura en los países:
- Chile: debes configurar una ciudad, por ejemplo: Lo Barnechea.
- Argentina: debes configurar para una dirección de Ciudad Autónoma de Buenos Aires (CABA) o Córdoba.
- Colombia: debes configurar en las seguintes ciudades:
Bogota
Medellín
Bello
Copacabana
Itagüí
La Estrella
Sabaneta
Enviado
Rionegro
Guarne
- Brasil: debes configurar para una dirección con cobertura Flex, conforme algunos ejemplos de CEPs: São Paulo Central: 01401000 Oeste: 05002070 Este: 03424010 Norte: 02308000 Sur1: 04342011 Sur2: 04866100
- Uruguay: debe estar configurado para Montevideo o Canelones.
- Péru: debe estar configurado para Lima.
Una vez garantizadas todas estas condiciones, es necesario acceder a la página de Mercado Envios Flex y realizar la activación.
Al realizar esta activación, todos los anuncios comenzarán a ofrecer Flex, y para cambiar esta configuración, debe acceder a la página de Mercado Libre del usuario> "Configuración"> "Preferencias de venta" y editar.
Consultar la configuración del vendedor
Antes de consultar las configuraciones de FLEX en una cuenta, identifique sé el vendedor tiene ese tipo de envío (self_service) activo usando el recurso /users/$CUST_ID/shipping_preferences. Después, puedes verificar las configuraciones que el vendedor habilito en la cuenta.
Llamada:
curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' - H 'Accept-version: v2' https://api.mercadolibre.com/shipping/flex/sites/$SITE_ID/configuration
Ejemplo:
curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' - H 'Accept-version: v2' https://api.mercadolibre.com/shipping/flex/sites/MLA/configuration
{
"query": "{ configuration(user_id: 427427465, service_type: \"lightweight\"){ adoption{ service_id status {id cause date} creation_date last_update penalty_status recover_date delivery_window } address{ id address_line zip_code city{ id name } } capacity{ availables selected current_count } cutoff{ availables{ value unit } selected{ week saturday sunday } } working_days training_time{ offset{ value unit } activation_date } zones{ id label price{ cents currency_id decimal_separator fraction symbol } is_mandatory selected neighborhoods } }}"
}
Respuesta:
{
"configuration": {
"address": {
"address_line": "Avenida Brigadeiro Luís Antônio - de 2253 a 3139 - lado ímpar 50",
"city": {
"id": "BR-SP-44",
"name": "São Paulo"
},
"id": 1091302682,
"zip_code": "01401000"
},
"adoption": {
"creation_date": "2020-03-10T15:43:36-03:00",
"delivery_window": "same_day",
"last_update": "2020-03-11T09:43:38-03:00",
"penalty_status": "",
"recover_date": "0001-01-01T00:00:00Z",
"service_id": 214241,
"status": "in"
},
"capacity": {
"availables": [
0,
10,
20,
30,
40,
60,
80,
100
],
"current_count": 0,
"selected": 100
},
"cutoff": {
"availables": [
{
"unit": "HOUR",
"value": 12
},
{
"unit": "HOUR",
"value": 13
},
{
"unit": "HOUR",
"value": 14
},
{
"unit": "HOUR",
"value": 15
},
{
"unit": "HOUR",
"value": 16
},
{
"unit": "HOUR",
"value": 17
},
{
"unit": "HOUR",
"value": 18
}
],
"selected": {
"unit": "HOUR",
"value": 18
}
},
"selected": {
“week”: 17,
“saturday”: 13,
“sunday”: 12
}
},
"training_time": {
"activation_date": "2020-03-10T00:00:00.000Z",
"unit": "DAY",
"value": 7
},
"working_days": [
"week",
"saturday"
],
"zones": [
{
"id": "BR-SP-Centro",
"is_mandatory": false,
"label": "Centro",
"polygon": {
"properties": {
"name": "Centro"
}
},
"price": {
"cents": "90",
"currency_id": "BRL",
"decimal_separator": ".",
"fraction": "8",
"symbol": "R$"
},
"selected": true
},
{
"id": "BR-SP-Leste-1",
"is_mandatory": false,
"label": "Leste 1",
"polygon": {
"properties": {
"name": "Leste 1"
}
},
"price": {
"cents": "90",
"currency_id": "BRL",
"decimal_separator": ".",
"fraction": "13",
"symbol": "R$"
},
"selected": false
},
{
"id": "BR-SP-Leste-2",
"is_mandatory": false,
"label": "Leste 2",
"polygon": {
"properties": {
"name": "Leste 2"
}
},
"price": {
"cents": "90",
"currency_id": "BRL",
"decimal_separator": ".",
"fraction": "15",
"symbol": "R$"
},
"selected": false
},
{
"id": "BR-SP-Leste-3",
"is_mandatory": false,
"label": "Leste 3",
"polygon": {
"properties": {
"name": "Leste 3"
}
},
"price": {
"cents": "90",
"currency_id": "BRL",
"decimal_separator": ".",
"fraction": "15",
"symbol": "R$"
},
"selected": false
},
{
"id": "BR-SP-Leste-4",
"is_mandatory": false,
"label": "Leste 4",
"polygon": {
"properties": {
"name": "Leste 4"
}
},
"price": {
"cents": "90",
"currency_id": "BRL",
"decimal_separator": ".",
"fraction": "15",
"symbol": "R$"
},
"selected": false
},
{
"id": "BR-SP-Leste-5",
"is_mandatory": false,
"label": "Leste 5",
"polygon": {
"properties": {
"name": "Leste 5"
}
},
"price": {
"cents": "90",
"currency_id": "BRL",
"decimal_separator": ".",
"fraction": "15",
"symbol": "R$"
},
"selected": false
},
{
"id": "BR-SP-Norte-1",
"is_mandatory": false,
"label": "Norte 1",
"polygon": {
"properties": {
"name": "Norte 1"
}
},
"price": {
"cents": "90",
"currency_id": "BRL",
"decimal_separator": ".",
"fraction": "13",
"symbol": "R$"
},
"selected": false
},
{
"id": "BR-SP-Norte-2",
"is_mandatory": false,
"label": "Norte 2",
"polygon": {
"properties": {
"name": "Norte 2"
}
},
"price": {
"cents": "90",
"currency_id": "BRL",
"decimal_separator": ".",
"fraction": "13",
"symbol": "R$"
},
"selected": false
},
{
"id": "BR-SP-Norte-3",
"is_mandatory": false,
"label": "Norte 3",
"polygon": {
"properties": {
"name": "Norte 3"
}
},
"price": {
"cents": "90",
"currency_id": "BRL",
"decimal_separator": ".",
"fraction": "15",
"symbol": "R$"
},
"selected": false
},
{
"id": "BR-SP-Oeste-1",
"is_mandatory": false,
"label": "Oeste 1",
"polygon": {
"properties": {
"name": "Oeste 1"
}
},
"price": {
"cents": "90",
"currency_id": "BRL",
"decimal_separator": ".",
"fraction": "13",
"symbol": "R$"
},
"selected": false
},
{
"id": "BR-SP-Oeste-2",
"is_mandatory": false,
"label": "Oeste 2",
"polygon": {
"properties": {
"name": "Oeste 2"
}
},
"price": {
"cents": "90",
"currency_id": "BRL",
"decimal_separator": ".",
"fraction": "15",
"symbol": "R$"
},
"selected": false
},
{
"id": "BR-SP-Oeste-3",
"is_mandatory": false,
"label": "Oeste 3",
"polygon": {
"properties": {
"name": "Oeste 3"
}
},
"price": {
"cents": "90",
"currency_id": "BRL",
"decimal_separator": ".",
"fraction": "13",
"symbol": "R$"
},
"selected": false
},
{
"id": "BR-SP-Sul-1",
"is_mandatory": false,
"label": "Sul 1",
"polygon": {
"properties": {
"name": "Sul 1"
}
},
"price": {
"cents": "90",
"currency_id": "BRL",
"decimal_separator": ".",
"fraction": "13",
"symbol": "R$"
},
"selected": false
},
{
"id": "BR-SP-Sul-2",
"is_mandatory": false,
"label": "Sul 2",
"polygon": {
"properties": {
"name": "Sul 2"
}
},
"price": {
"cents": "90",
"currency_id": "BRL",
"decimal_separator": ".",
"fraction": "13",
"symbol": "R$"
},
"selected": false
},
{
"id": "BR-SP-Sul-3",
"is_mandatory": false,
"label": "Sul 3",
"polygon": {
"properties": {
"name": "Sul 3"
}
},
"price": {
"cents": "90",
"currency_id": "BRL",
"decimal_separator": ".",
"fraction": "15",
"symbol": "R$"
},
"selected": false
}
]
}
}
También puedes consultar las ubicaciones de coordenadas del mapa a través de un json. En este caso, la query podría ser ejecutada de la siguiente manera:
zones{ id label polygon{ type geometry{ type coordinates } properties{ name } }
Respuesta:
{
"id": "BR-SP-Sul-1",
"is_mandatory": false,
"label": "Sul 1",
"polygon": {
"geometry": {
"coordinates": [
[
[
-46.687368,
-23.6263235
],
]
…………..
Determinar el plazo de entrega y límite de envíos
Este recurso permite configurar hasta qué hora puede ofrecer envíos en el mismo día. También puedes ofrecer solo envíos en el siguiente día. Después el horario configurado solo podrás ofrecer en el día hábil.
Configura la cantidad de envíos con Mercado Envíos Flex que el vendedor podrá ofrecer por día en sus publicaciones. Al alcanzar el límite, los envíos rápidos no serán visibles en sus publicaciones.
Parámetros esperados
delivery_window (required): establece si el usuario eligió hacer entregas en el día (consideramos días hábiles) o no, puede ser uno de los siguientes:
- same_day: el usuario elige hacer entregas en el día.
- next_day: el usuario elige hacer entregas al día siguiente.
cutoff: indica el horario límite para recibir pedidos a ser enviados en el mismo día. Si el usuario eligió “next_day” en delivery_window, el cutoff no puede estar vacío. Posibles valores: 12 / 13 / 14 / 15 / 16 / 17 / 18. También puedes configurar entregas los fines de semana habilitando los sábados y domingos.
capacity: capacidad máxima por día seleccionada por el vendedor, puede estar vacío ya que no hay necesidad de actualización. Posibles valores: 10 / 20 / 30 / 40 / 60 / 80 / 100 / 0 (indica que es "más de 100").
Llamada:
curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' -H 'Accept-version: v2' https://api.mercadolibre.com/shipping/flex/sites/$SITE_ID/users/$USER_ID/adoption
Ejemplo:
curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' - H 'Accept-version: 2' https://api.mercadolibre.com/shipping/flex/sites/MLA/users/427427465/adoption
[
{
"service_id": 171791,
"delivery_window": "next_day",
"settings": [
{
"cutoff": {
"week": {
"value": 15
},
"saturday": {
"value": 13,
"enabled": true
},
"sunday": {
"value": 12,
"enabled": false
}
},
"capacity": 100
}
]
}
]
Respuesta:
[
{
"user_id": 427427465,
"service_id": 171791,
"service_type": "lightweight",
"status": {
"version": 1,
"id": "out",
"cause": "full",
"date": "2020-08-25T17:59:29.276-03:00"
},
"penalty_status": "",
"delivery_window": "next_day",
"settings": [
{
"zones": [
""
],
"monday": {
"cutoff": 15,
"capacity": 100,
"enabled": true
},
"tuesday": {
"cutoff": 15,
"capacity": 100,
"enabled": true
},
"wednesday": {
"cutoff": 15,
"capacity": 100,
"enabled": true
},
"thursday": {
"cutoff": 15,
"capacity": 100,
"enabled": true
},
"friday": {
"cutoff": 15,
"capacity": 100,
"enabled": true
},
"saturday": {
"cutoff": 13,
"capacity": 100,
"enabled": true
},
"sunday": {
"cutoff": 12,
"capacity": 100,
"enabled": false
}
}
],
"training_time": {
"offset": {
"value": 0,
"unit": "DAY"
},
"activation_date": "2019-07-15T00:00:00.000Z"
},
"creation_date": "2019-07-15T11:40:47-03:00",
"last_update": "2021-03-04T17:26:33-03:00",
"recover_date": null,
"site_id": "MLA",
"is_test": true
}
]
Ampliar su área de cobertura
Este endpoint te permite configurar las regiones donde el vendedor quiera entregar con Mercado Envíos Flex.
Aquí es necesario enviar las zonas que deseas agregar y también las que ya estaban, de lo contrario serán eliminadas.
A través de la consulta de la configuración del vendedor es posible obtener las zonas liberadas por Mercado Libre para ser elegidas por el vendedor.
Llamada:
curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' -H 'Accept-version: v1' https://api.mercadolibre.com/shipping/flex/sites/$SITE_ID/coverages/users/$USER_ID/services/types/$SERVICE_TYPE/zones
Ejemplo:
curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' -H 'Accept-version: v1' https://api.mercadolibre.com/shipping/flex/sites/MLB/coverages/users/534720659/services/types/lightweight/zones
["BR-SP-Sul-2"]
Respuesta:
[
{
"service_id": 214241,
"zones": [
"BR-SP-Sul-2"
]
}
]
Consultar Flex en el ítem
Este endpoint te permite consultar si el ítem está habilitado para Mercado Envíos Flex o no.
Llamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/sites/$SITE_ID/shipping/selfservice/items/$ITEM_ID
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/sites/MLB/shipping/selfservice/items/MLB1493119403
Respuesta:
Status: 204 No Content
Posibles respuestas:
204 - No Content: el ítem ofrece Flex.
403 - Forbidden: el site está deshabilitado para Flex.
404 - Not Found: el ítem no ofrece Flex o no existe.
message: item down: el ítem no ofrece Flex.
message: item not found: el ítem no fue encontrado.
También es posible verificar si el ítem está activado con Flex o no a través del recurso /items, en los tags:
self_service_out: ítem no activo
self_service_in: ítem activo
Activar Flex en el ítem
Este endpoint permite activar la opción de Flex en el ítem.
Llamada:
curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/sites/$SITE_ID/shipping/selfservice/items/$ITEM_ID
Ejemplo:
curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/sites/MLB/shipping/selfservice/items/MLB1493119403
Respuesta:
Status: 204 No Content
Posibles respuestas:
204 - No Content: el ítem fue actualizado correctamente para ofrecer Flex.
400 - Bad Request: item is already in Flex.
403 - Forbidden: el site está deshabilitado para Flex.
404 - Not Found: el ítem no existe.
Desactivar Flex en el ítem
Este endpoint permite desactivar la opción de Flex en el ítem.
Llamada:
curl -X DELETE -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/sites/$SITE_ID/shipping/selfservice/items/$ITEM_ID
Ejemplo:
curl -X DELETE -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/sites/MLB/shipping/selfservice/items/MLB1493119403
Respuesta:
Status: 204 No Content
Posibles respuestas:
204 - No Content: el ítem fue actualizado correctamente para dejar de ofrecer Flex.
400 - Bad Request: item is not in flex.
403 - Forbidden: el site está deshabilitado para Flex.
404 - Not Found: el ítem no existe.
Identificar el código del transportista
Para los envíos con Flex, es posible identificar quien escanea el pedido en la dirección del vendedor a través del código y estar informado en caso de que ocurra un cambio de transportista en el transcurso del envío. En caso de cambiar de transportista se notificará con un evento.
Llamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' 'Accept-version: v1' https://api.mercadolibre.com/ultron/public/sites/$SITE_ID/shipments/$SHIPMENT_ID/assignment
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' 'Accept-version: v1' https://api.mercadolibre.com/ultron/public/sites/MLB/shipments/40070866801/assignment
Respuesta:
{
“driver_id”: 1234
}
200 - OK
Conoce más sobre Mercado Envíos Flex.