Mercado Envíos Flex

Importante:
Actualmente la funcionalidad está disponible para vendedores de Argentina, Brasil, Chile, Colombia y Uruguay.

Este recurso te permite realizar la configuración de envíos en la modalidad Mercado Envíos Flex, como el plazo de entrega, el límite de envíos por días y áreas de cobertura a través de la integración.
Mercado Envíos Flex es una herramienta que facilita y potencia tu servicio de entregas en el día o al día siguiente. Los vendedores pueden hacer un seguimiento de los envíos y verán cómo se agiliza la rutina por completo. Conoce más los beneficios de Mercado Envíos Flex.
Para su activación es necesario que el vendedor tenga la dirección de envío dentro de las ubicaciones con cobertura de Flex y con la reputación por encima de amarilla. Así, podrá activarse de dos maneras: a través del Centro de Vendedores o directamente en la edición del ítem, aparecerá la opción de ofrecer Flex. Luego de la primera activación en la plataforma, las demás podrán ser hechas directamente desde su integración.

Contenidos

→Configurar un usuario test
→Consultar la configuración del vendedor
→Determinar el plazo de entrega y límite de envíos
→Ampliar su área de cobertura
→Consultar Flex en el ítem
→Activar Flex en el ítem
→Desactivar Flex en el ítem

Configurar un usuario test

Para configurar los usuarios test debes activarlo internamente mediante el cust_id. El cust_id tiene que estar configurado con la dirección de envío de acuerdo con las áreas de cobertura en los países:

  • Para MLC: debes configurar una ciudad, por ejemplo: Lo Barnechea.
  • Para MLA: debes configurar para una dirección de Ciudad Autónoma de Buenos Aires (CABA).
  • Para MCO: debe configurar cualquier barrio de Bogota.
  • Para MLB: 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

  • Para MLU: debe estar configurado para Montevideo o Canelones.

Consultar la configuración del vendedor

A través de este endpoint puedes consultar la configuración del vendedor para verificar si está activo con Mercado Envíos Flex. Este endpoint es un GET (para obtener la información) pero termina siendo un POST porque requiere una query con el cust_id.

Llamada:

curl -X POST https://api.mercadolibre.com/shipping/selfservice/configuration?access_token=$ACCESS_TOKEN

Ejemplo:

curl -X POST https://api.mercadolibre.com/shipping/selfservice/configuration?access_token=$ACCESS_TOKEN

{
    "query": "{ configuration(user_id: 534720659){ adoption{ service_id status 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{ value unit } } training_time{ activation_date offset{ value unit } } zones{ id label neighborhoods price{ cents currency_id decimal_separator fraction symbol } is_mandatory selected } }}"
}

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
            }
        },
        "training_time": {
            "activation_date": "2020-03-10T00:00:00.000Z",
            "unit": "DAY",
            "value": 7
        },
        "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 optar por ofrecer solo envíos en el siguiente día. Después el horario configurado solo se podrá ofrecer en el día habil.

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.

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 https://api.mercadolibre.com/users/$USER_ID/shipping/selfservice/adoption?access_token=$ACCESS_TOKEN

Ejemplo:

curl -X PUT https://api.mercadolibre.com/users/534720659/shipping/selfservice/adoption?access_token=$ACCESS_TOKEN

{
        "delivery_window": "same_day",
        "cutoff": 12,
        "capacity": 20
}

Respuesta:

{
    "user_id": 534720659,
    "service_id": 214241,
    "status": "pending",
    "penalty_status": null,
    "delivery_window": "same_day",
    "cutoff": 12,
    "capacity": 20,
    "training_time": {
        "offset": {
            "value": 0,
            "unit": "DAY"
        },
        "activation_date": "2020-03-10T00:00:00.000Z"
    },
    "creation_date": "2020-03-10T15:43:36-03:00",
    "last_update": "2020-03-10T15:44:36-03:00",
    "recover_date": null,
    "site_id": "MLB",
    "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 https://api.mercadolibre.com/users/$user_id/shipping/selfservice/coverage/zones?access_token=$ACCESS_TOKEN

Ejemplo:

curl -X PUT https://api.mercadolibre.com/users/534720659/shipping/selfservice/coverage/zones?access_token=$ACCESS_TOKEN

["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 https://api.mercadolibre.com/sites/$SITE_ID/shipping/selfservice/items/$ITEM_ID?access_token=$ACCESS_TOKEN

Ejemplo:

curl -X GET https://api.mercadolibre.com/sites/MLB/shipping/selfservice/items/MLB1493119403?access_token=$ACCESS_TOKEN

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 https://api.mercadolibre.com/sites/$SITE_ID/shipping/selfservice/items/$ITEM_ID?access_token=$ACCESS_TOKEN

Ejemplo:

curl -X POST https://api.mercadolibre.com/sites/MLB/shipping/selfservice/items/MLB1493119403?access_token=$ACCESS_TOKEN

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 https://api.mercadolibre.com/sites/$SITE_ID/shipping/selfservice/items/$ITEM_ID?access_token=$ACCESS_TOKEN

Ejemplo:

curl -X DELETE https://api.mercadolibre.com/sites/MLB/shipping/selfservice/items/MLB1493119403?access_token=$ACCESS_TOKEN

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.

o regístrate para recibir las últimas novedades sobre nuestra API