Mercado Envios Flex

Importante:
Atualmente a funcionalidade já está disponível para vendedores dos países MLA, MLB, MLC, MCO, MLU.

Este recurso permitirá fazer as configuração de envios na modalidade Mercado Envios Flex, tais como: prazo de entrega, limite de envios por dia e áreas de cobertura através da integração.
Mercado Envios Flex é uma ferramenta que facilita e potencia as entregas com velocidade em até 24 horas. Os vendedores podem fazer um seguimento dos envios y ter uma organização na logística para enviar todos os produtos com maior praticidade e, principalmente, agilidade. Conheça mais os benefícios de Mercado Envios Flex.
Para sua ativação é necessário que o vendedor tenha o endereço de envio dentro das localidades com cobertura de Flex e com a reputação acima de amarela, com isso ativação poderá ser feita de duas maneiras: através da Central de Vendedores ou diretamente na edição do item, já irá aparecer a opção de oferecer Flex. Após a primeira ativação na plataforma, as demais poderão ser feitas diretamente através da sua integração.

Conteúdos

→Configurar o usuário de test
→Consultar configuração do vendedor
→Determine o prazo de entrega e limite de envios
→Amplie sua área de cobertura
→Consultar Flex no item
→Ativar Flex no item
→Desativar Flex no item

Configurar o usuário de test

Para configurar esta funcionalidade para os usuários de teste, você deve estar logado na conta que deseja colocar Flex, e a conta deve ter:

  • ME2 em suas publicações;
  • Reputação amarela ou verde;
  • Endereço de e-mail compatível com a área de cobertura de seu país;
  • O cust_id tem que estar configurado com o endereço de envio de acordo com as áreas de cobertura da seguinte maneira:
    • Para MLC: deve configurar com a cidade, por exemplo: Lo Barnechea.
    • Para MLA: deve configurar para um endereço de CABA (Ciudade Autónoma de Buenos Aires).
    • Para MCO: deve configurar qualquer bairro de Bogota.
    • Para MLB: deve configurar para um endereço com cobertura a Flex, conforme alguns exemplos de CEPs:
      São Paulo
      Central: 01401000
      Oeste: 05002070
      Leste: 03424010
      Norte: 02308000
      Sul1: 04342011
      Sul2: 04866100

    • Para MLU: deve estar configurado para Montevideo ou Canelones.

    Depois de garantidas todas essas condições, é necessário acessar a página de Mercado Envios Flex e fazer a ativação.


    Ao fazer essa ativação, todos os anúncios passarão a oferecer Flex, e para alterar essa configuração, deverá acessar a página do Mercado Livre do usuário > "Configurações" > "Preferências de venda" e editar.



    Consultar configuração do vendedor

    Através deste endpoint, é possivel consultar a configurações do seller para verificar se esta ativada com Mercado Envios Flex. Este endpoint é um GET (para retornar a informação), mas termina sendo un POST porque requer uma query com o cust_id.

    Chamada:

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

    Exemplo:

    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 price{ cents currency_id decimal_separator fraction symbol } is_mandatory selected } }}"
    }
    Nota:
    En MLA não retorna os bairros (o atributo “neighborhoods”) porque é bastante claro o nome das zonas, que son partidos (um conjunto de bairros), exemplo: CABA, Vicente Lopez, etc.

    Resposta:

    {
        "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
                }
            ]
        }
    }

    Também é possível consultar as localizações de coordenadas do mapa através de um geojson, neste caso a query poderia ser executada assim no atributo zones:

    zones{ id label polygon{ type geometry{ type coordinates } properties{ name } }

    Resposta:

    {
                    "id": "BR-SP-Sul-1",
                    "is_mandatory": false,
                    "label": "Sul 1",
                    "polygon": {
                        "geometry": {
                            "coordinates": [
                                [
                                    [
                                        -46.687368,
                                        -23.6263235
                                    ],
                                ]
    …………..

    Determine o prazo de entrega e limite de envios

    Também permitirá configurar quantos envios com o Mercado Envios Flex você vai oferecer por dia nos seus anúncios. Ao alcançar o limite, os envios rápidos não serão mais mostrados nos seus anúncios.


    Parâmetros esperados:

    delivery_window (required): indica se o usuário escolheu fazer entregas no mesmo dia (consideramos apenas os dias úteis):

    • same_day: o usuário escolheu fazer entregas no mesmo dia.
    • next_day: o usuário escolheu fazer entregas no dia seguinte.

    cutoff: indica o horário limite para receber pedidos a ser enviados no mesmo dia. Se o usuário escolheu “next_day” em delivery_window, o cutoff não pode ser vazio. Possíveis valores: 12 / 13 / 14 / 15 / 16 / 17 / 18.

    capacity: capacidade máxima por dia selecionada pelo seller, o seu valor pode ser vazio, porque não é necessário atualizá-lo.
    Possíveis valores: 10 / 20 / 30 / 40 / 60 / 80 / 100 / 0 (indica que é "Mais de 100).

    Chamada:

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

    Exemplo:

    curl -X PUT https://api.mercadolibre.com/users/534720659/shipping/selfservice/adoption?access_token=$ACCESS_TOKEN
    
    {
            "delivery_window": "same_day",
            "cutoff": 12,
            "capacity": 20
    }

    Resposta:

    {
        "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
    }

    Amplie sua área de cobertura

    Este endpoint permite que você configure as regiões onde quer entregar com Mercado Envios Flex.

    Neste recurso é necessário enviar as zonas que deseja adicionar e também as que já estavam adicionadas, senão serão eliminadas.

    Através da consulta da configuração do vendedor é possível obter as zonas liberadas pelo Mercado Livre para serem elegidas pelo vendedor.

    Chamada:

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

    Exemplo:

    curl -X PUT https://api.mercadolibre.com/users/534720659/shipping/selfservice/coverage/zones?access_token=$ACCESS_TOKEN
    
    ["BR-SP-Sul-2"]

    Resposta:

    [
        {
            "service_id": 214241,
            "zones": [
                "BR-SP-Sul-2"
            ]
        }
    ]

    Consultar Flex no item

    Este endpoint permite que você consulte se o item está habilitado para ME Flex ou não.

    Chamada:

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

    Exemplo:

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

    Resposta:

    Status: 204 No Content

    Possíveis respostas:

    204 - No Content: o item oferece Flex.
    403 - Forbidden: site está desabilitado para Flex.
    404 - Not Found: o ítem não oferece Flex ou o item não existe.
    message: item down: o item não oferece Flex.
    message: item not found: o item não foi encontrado.
    Também é possível verificar se o item está ativado com Flex ou não através do recurso de /items, nas tags:
    self_service_out: item não ativo
    self_service_in: item ativo


    Ativar Flex no item

    Este endpoint permite que você ative a opção de Flex no item.

    Chamada:

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

    Exemplo:

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

    Resposta:

    Status: 204 No Content

    Possíveis respostas:

    204 - No Content: o item foi atualizado corretamente para oferecer Flex.
    400 - Bad Request: item is already in flex.
    403 - Forbidden: site está desabilitado para Flex.
    404 - Not Found: o item não existe.


    Desativar Flex no item

    Este endpoint permite que você desative a opção de Flex no item.

    Chamada:

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

    Exemplo:

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

    Resposta:

    Status: 204 No Content

    Possíveis respostas:

    204 - No Content: o item foi atualizado corretamente para deixar de oferecer Flex.
    400 - Bad Request: item is not in flex.
    403 - Forbidden: site está desabilitado para Flex.
    404 - Not Found: o item não existe.

ou registre-se para receber as últimas notícias sobre nossa API