Documentação do Mercado Livre
Confira todas as informações necessárias sobre as APIs Mercado Livre.Documentação do
Envios Flex
Envios Flex é um serviço que permite aos vendedores realizarem envios por conta própria, os 7 dias da semana. Integra envios no dia ou no dia seguinte para melhorar os tempos de entrega e aumentar a penetração no mercado. Com Envios Flex, os vendedores podem ter maior controle e acompanhamento sobre seus envios, oferecendo um serviço mais rápido e eficiente aos seus clientes.
Saiba mais sobre:
- Como funciona Envios Flex
- Custo dos envios pelo Envios Flex
- Dicas para enviar com Envios Flex
- Como oferecer Envios Flex e Full na mesma publicação
- Áreas de cobertura do Mercado Envios Flex em Brasil
- Entregue dentro do prazo seus envios com o Envios Flex
Visão do vendedor:
Áreas de cobertura por países
Para poder oferecer Envíos Flex, o endereço de envio do vendedor deve estar habilitado para alguma das áreas de cobertura conforme o país:
País | Cobertura |
---|---|
Argentina | AMBA (Área Metropolitana de Buenos Aires) Córdoba |
Brasil | São Paulo Rio de Janeiro Brasília Belo Horizonte Porto Alegre Salvador Bahia Curitiba |
México | CDMX (Zona Metropolitana do Vale do México) Mérida |
Chile | Santiago (Região Metropolitana) Valparaíso |
Colômbia | Bogotá Medellín Cali |
Uruguai | Montevidéu Canelones |
Peru | Lima (Área Metropolitana) |
Equador | Quito |
Configurar um usuário de teste
Para configurar a funcionalidade de Envíos Flex para usuários de teste, leve em conta:
- Faça login na conta em que deseja habilitar o Envio Flex.
- Certifique-se de que a conta tenha publicações ativas no ME2.
- Verifique se sua conta possui uma reputação Amarela ou Verde.
- Certifique-se de ter um endereço de e-mail compatível com a área de cobertura do seu país.
- Configure o endereço de envio de acordo com as áreas de cobertura nos países correspondentes.
- Ative Envíos Flex na conta.
Depois de concluir essas etapas, você deve conseguir usar o Envíos Flex como um usuário de teste.
Consultar inscrições de um usuário
Este endpoint permite consultar as inscrições que um usuário possui.
- Se o usuário ativou apenas Flex, ele terá uma única inscrição.
- Se o usuário também ativou Turbo, ele terá duas inscrições, já que para ativar o Turbo, o usuário deve primeiro ter o Flex ativo.
Chamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/shipping/flex/sites/$SITE_ID/users/$USER_ID/subscriptions/v1
Exemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/shipping/flex/sites/MLA/users/1438865529/subscriptions/v1
Resposta:
[
{
"id": 111181,
"site_id": "MLA",
"user_id": 1438865529,
"mode": "FLEX",
"configuration_type": {
"coverage": "zone",
"delivery": "custom"
},
"service_id": 736230,
"status": {
"id": "in",
},
"creation_date": "2023-08-02T06:34:40Z"
},
{
"id": 111183,
"site_id": "MLA",
"user_id": 1438865529,
"mode": "TURBO",
"configuration_type": {
"coverage": "radius",
"delivery": "accurate"
},
"service_id": 738216,
"status": {
"id": "in",
},
"creation_date": "2023-08-02T06:35:30Z"
}
]
Parâmetros de resposta:
- id: ID único da assinatura.
- site_id: Identificador do país.
- user_id: ID do usuário.
- mode: Tipo de assinatura ("FLEX" neste caso).
- configuration_type: Tipo de configuração da assinatura ("FLEX" neste caso).
- configuration_type.coverage: Tipo de cobertura.
- configuration_type.delivery: Tipo de entrega.
- service_id: ID do serviço associado à assinatura.
- status: Estado da assinatura.
- status.id: Tipos de estados da assinatura:
- in: A assinatura está ativa. Nesse estado, o usuário pode mudar sua configuração e receberá pedidos de envio para o modo de assinatura.
- out: A assinatura não está ativa. Nesse estado, o usuário não pode mudar a configuração.
- pending: A assinatura está pendente de ativação. Nesse estado, o usuário pode mudar sua configuração, embora não vá receber pedidos para realizar envios.
- creation_date: Data de criação da assinatura.
Códigos de Estado de resposta:
Código | Mensagem | Descrição | Recomendação |
---|---|---|---|
200 - OK | - | Configuração atualizada corretamente. | - |
400 - Bad Request | empty site id | O site_id está vazio | Validar o site_id. |
400 - Bad Request | invalid site_id | Site_id inválido | Verificar se o site_id está habilitado para Envíos Flex. |
400 - Bad Request | can't access to resource | Site_id inválido | Verificar se o site_id está habilitado para Envíos Flex. |
404 - Not Found | user not found | Usuário não encontrado | Validar o user_id. |
Consultar a configuração da assinatura
Este endpoint permite consultar a configuração das assinaturas que um usuário possui, neste caso para Flex.
Chamada:
curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/shipping/flex/sites/$SITE_ID/configuration/v3
Exemplo:
{
"query": "{ configuration(user_id: 000000000, service_id: 0000000, flavour: \"gm\", original_configuration_required: false) { address { id address_line city { id name } zip_code } subscription { id site_id user_id flavour facility_id service_id status { id cause } creation_date training_times { original { value unit } remaining { value unit } activation_date } } delivery_window is_moderated delivery_ranges { week { capacity type processing_time from to et_hour calculated_cutoff } saturday { capacity type processing_time from to et_hour calculated_cutoff } sunday { capacity type processing_time from to et_hour calculated_cutoff } } holidays { description selected type date } working_days zones { id enabled is_mandatory label neighborhoods polygon { type geometry { type coordinates } properties { name } } price { cents currency_id decimal_separator fraction symbol } scope selected transit_time { offset value } calculated_cutoff { week saturday sunday } } origin_zone { enabled id is_mandatory label neighborhoods selected } disabled_features availables { cutoff capacity capacity_range { from to } transit_time ranges radius_range { from to } accurate_ranges { from to } } } }"
}
Resposta:
{
"configuration": {
"address": {
"address_line": "Testing Address 100",
"city": {
"id": "BR-SP-31",
"name": "Osasco"
},
"id": "1396840000",
"zip_code": "06020110"
},
"availables": {
"accurate_ranges": [],
"capacity": [
0,
10,
20,
30,
40,
60,
80,
100,
200,
300,
400,
500
],
"capacity_range": {
"from": 10,
"to": 5000
},
"cutoff": [
12,
13,
14,
15,
16,
17,
18
],
"radius_range": {
"from": 0,
"to": 0
},
"ranges": [
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21
],
"transit_time": []
},
"delivery_ranges": {
"saturday": [
{
"calculated_cutoff": 14,
"capacity": 33,
"et_hour": 14,
"from": 12,
"processing_time": 0,
"to": 21,
"type": "cpt"
}
],
"sunday": [
{
"calculated_cutoff": 14,
"capacity": 33,
"et_hour": 14,
"from": 12,
"processing_time": 0,
"to": 21,
"type": "cpt"
}
],
"week": [
{
"calculated_cutoff": 16,
"capacity": 44,
"et_hour": 16,
"from": 12,
"processing_time": 0,
"to": 21,
"type": "cpt"
}
]
},
"delivery_window": "same_day",
"disabled_features": [
"CUTOFF_BY_ZONE",
"CAPACITY_BY_DAY"
],
"holidays": [
{
"date": "2024-10-12",
"description": "Nossa Sr.a Aparecida - Padroeira do Brasil",
"selected": false,
"type": "holiday"
},
{
"date": "2024-11-02",
"description": "Finados",
"selected": false,
"type": "holiday"
},
{
"date": "2024-11-15",
"description": "Proclamação da República",
"selected": false,
"type": "holiday"
},
{
"date": "2024-11-20",
"description": "Dia Nacional de Zumbi e da Consciência Negra.",
"selected": false,
"type": "holiday"
}
],
"is_moderated": false,
"origin_zone": {
"enabled": true,
"id": "BR-SP-Osasco-2",
"is_mandatory": false,
"label": "Osasco 2",
"neighborhoods": [],
"selected": false
},
"subscription": {
"creation_date": "2024-07-17T15:04:47Z",
"facility_id": "BRP19064530301",
"flavour": "gm",
"id": 160661,
"service_id": 1086084,
"site_id": "MLB",
"status": {
"cause": "full",
"id": "in"
},
"training_times": null,
"user_id": 1906453030
},
"working_days": [
"week",
"saturday",
"sunday"
],
"zones": [
{
"calculated_cutoff": {
"saturday": 14,
"sunday": 14,
"week": 16
},
"enabled": true,
"id": "BR-SP-Centro",
"is_mandatory": false,
"label": "Centro",
"neighborhoods": [
"Barra Funda",
"Bela Vista",
"Bom Retiro",
"Cambuci",
"Consolaçao",
"Jardim Paulista",
"Liberdade",
"República",
"Santa Cecilia",
"Sé"
],
"polygon": {
"geometry": {
"coordinates": [
[
[
-46.671062,
-23.576848
],
[
-46.670216,
-23.58414
],
[
-46.660773,
-23.578632
],
[
-46.648937,
-23.567639
],
[
-46.64175,
-23.573095
],
[
-46.63534,
-23.575115
],
[
-46.633761,
-23.575014
],
[
-46.634201,
-23.575474
],
[
-46.633074,
-23.576446
],
[
-46.63261,
-23.578502
],
[
-46.619283,
-23.578186
],
[
-46.618113,
-23.579026
],
[
-46.618284,
-23.577167
],
[
-46.616249,
-23.575651
],
[
-46.614542,
-23.573496
],
[
-46.614599,
-23.572525
],
[
-46.612982,
-23.571414
],
[
-46.612022,
-23.568427
],
[
-46.60934,
-23.567282
],
[
-46.608284,
-23.568485
],
[
-46.603893,
-23.567145
],
[
-46.610221,
-23.554583
],
[
-46.625204,
-23.553297
],
[
-46.624871,
-23.551296
],
[
-46.626336,
-23.547843
],
[
-46.626262,
-23.544701
],
[
-46.626826,
-23.542739
],
[
-46.628197,
-23.541373
],
[
-46.625659,
-23.535666
],
[
-46.625323,
-23.534922
],
[
-46.625202,
-23.519303
],
[
-46.642767,
-23.518232
],
[
-46.653948,
-23.516764
],
[
-46.677521,
-23.513831
],
[
-46.683265,
-23.510407
],
[
-46.689613,
-23.509038
],
[
-46.693467,
-23.508283
],
[
-46.693658,
-23.510417
],
[
-46.687775,
-23.521555
],
[
-46.682652,
-23.5249
],
[
-46.682305,
-23.526314
],
[
-46.679535,
-23.528444
],
[
-46.67288,
-23.532284
],
[
-46.665316,
-23.533833
],
[
-46.663427,
-23.534989
],
[
-46.664018,
-23.539808
],
[
-46.666162,
-23.544827
],
[
-46.674041,
-23.548357
],
[
-46.67581,
-23.552015
],
[
-46.67746,
-23.551021
],
[
-46.68273,
-23.556392
],
[
-46.681084,
-23.55974
],
[
-46.676562,
-23.565377
],
[
-46.678472,
-23.567773
],
[
-46.671062,
-23.576848
]
]
],
"type": "Polygon"
},
"properties": {
"name": "CENTRO"
},
"type": "Feature"
},
"price": {
"cents": "90",
"currency_id": "BRL",
"decimal_separator": ".",
"fraction": "15",
"symbol": "R$"
},
"scope": "LocalLejano",
"selected": false,
"transit_time": {
"offset": 0,
"value": 0
}
}
]
}
}
Parâmetros de resposta:
- address: Informação sobre o endereço do usuário.
- availables: Contém informações sobre capacidade, cortes e intervalos disponíveis para o serviço.
- availables.capacity_range: Intervalo de valores para capacidade.
- availables.cutoff: Detalhe dos cortes disponíveis.
- availables.ranges: Detalhe dos intervalos disponíveis.
- delivery_ranges: Informação sobre capacidade, cortes e intervalos disponíveis para os diferentes dias da semana.
- delivery_ranges.saturday: Intervalos de entrega e capacidade para os sábados.
- delivery_ranges.sunday: Intervalos de entrega e capacidade para os domingos.
- delivery_ranges.week: Intervalos de entrega e capacidade para os dias da semana.
- delivery_window: O tipo de serviço para a entrega. Os valores possíveis são "same_day" (entregas no mesmo dia) ou "next_day" (entregas no dia seguinte).
- disabled_features: Características desabilitadas para o serviço, incluindo "CUTOFF_BY_ZONE" e "CAPACITY_BY_DAY".
- is_moderated: Indica se o serviço está moderado (true/false).
- subscription: Informação sobre a assinatura do usuário.
- Holidays: Feriados de acordo com o endereço do vendedor.
- working_days: Dias úteis disponíveis.
- zones: Informação sobre as zonas disponíveis para o serviço.
- zones.polygon.geometry.coordinates: Coordenadas geometricas para formar polígono em mapa.
- zones.selected: Indica se a zona está selecionada (true/false).
Códigos de Estado de resposta:
Código | Mensagem | Descrição | Recomendação |
---|---|---|---|
200 - OK | - | Configuração atualizada corretamente. | - |
400 - Bad Request | empty site id | O site_id está vazio. | Validar o site_id. |
400 - Bad Request | invalid site_id | Site_id inválido. | Verificar se o site_id está habilitado para Envíos Flex. |
400 - Bad Request | can't access to resource | Site_id inválido. | Verificar se o site_id está habilitado para Envíos Flex. |
400 - Bad Request | invalid JSON body | O JSON é inválido. | Verificar o esquema da query estabelecida. |
400 - Bad Request | invalid query | GraphQL inválida para o esquema definido. | Verificar o esquema da query estabelecida. |
404 - Not Found | subscriptions not found | Não há assinatura para Envíos Flex para a combinação de user_id e service_id enviada. | Verificar o user_id e o service_id no endpoint. |
404 - Not Found | user not found | Usuário não encontrado. | Verificar o user_id. |
Configurar Prazo de Entrega e Limite de Envios
Através deste endpoint, é possível configurar diferentes aspectos para Envios Flex como:
- Janela de Entrega
- Intervalos de Horário de Entrega
- Horário de Corte
- Limite de envios
Chamada:
curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/shipping/flex/sites/$SITE_ID/users/$USER_ID/services/$SERVICE_ID/configuration/delivery/custom/v3
Exemplo:
curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/shipping/flex/sites/MLA/users/1438865529/services/736230/configuration/delivery/custom/v3
{
"delivery_window": "same_day",
"delivery_ranges": {
"week": [
{
"from": 12,
"to": 21,
"capacity": 44,
"cutoff": 16
}
],
"saturday": [
{
"from": 12,
"to": 21,
"capacity": 33,
"cutoff": 14
}
],
"sunday": [
{
"from": 12,
"to": 21,
"capacity": 33,
"cutoff": 14
}
]
}
}
Considerações:
O delivery_window é sempre necessário ao alterar qualquer configuração.
Os Intervalos de Horário de Entrega para dias da semana, sábado e domingo indicam de que hora (from) e até que hora (to) as entregas são realizadas. Esses valores devem ser enviados em:
- delivery_ranges.week.from e delivery_ranges.week.to
- delivery_ranges.saturday.from e delivery_ranges.saturday.to (se trabalha aos sábados)
- delivery_ranges.sunday.from e delivery_ranges.sunday.to (se trabalha aos domingos)
O from e o to são sempre necessários ao alterar qualquer configuração.
O valor da Capacidade (limite de envios) deve ser enviado em:
- delivery_ranges.week.capacity
- delivery_ranges.saturday.capacity (se trabalha aos sábados)
- delivery_ranges.sunday.capacity (se trabalha aos domingos)
Atualmente, a API só suporta o mesmo valor para os 3 casos.
O valor do Cutoff Geral deve ser enviado em:
- delivery_ranges.week.cutoff
- delivery_ranges.saturday.cutoff (se trabalha aos sábados)
- delivery_ranges.sunday.cutoff (se trabalha aos domingos)
O cutoff é sempre necessário ao alterar qualquer configuração.
Códigos de Estado de resposta:
Código | Mensagem | Descrição | Recomendação |
---|---|---|---|
200 - OK | - | Configuração atualizada corretamente. | - |
400 - Bad Request | invalid user_id | User_id inválido. | Validar o user_id (deve ser um número inteiro). |
400 - Bad Request | invalid service_id | Service_id inválido. | Validar o service_id (deve ser um número inteiro). |
400 - Bad Request | invalid JSON body | O JSON é inválido. | Validar o esquema de query estabelecida. |
403 - Forbidden | can't update delivery custom | Não é possível atualizar a configuração porque o usuário está moderado ou intervenido. | Não permitir mudar configurações de usuários moderados ou intervenidos. |
404 - Not Found | can't update delivery custom | Não é possível atualizar a configuração porque não existe inscrição no Envíos Flex para a combinação de user_id e service_id enviada. | Validar o user_id e service_id no endpoint. |
Ampliar área de cobertura Flex
Este endpoint permite adicionar mais áreas de cobertura para Envíos Flex.
Chamada:
curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/shipping/flex/sites/$SITE_ID/users/$USER_ID/services/$SERVICE_ID/configuration/coverage/zone/v3
Exemplo:
curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/shipping/flex/sites/MLA/users/1438865529/services/736230/configuration/coverage/zone/v3
{
"zones": [
{
"id": "Almirante_Brown"
},
{
"id": "Avellaneda"
},
{
"id": "CABA"
}
]
}
Códigos de Estado de resposta:
Código | Mensagem | Descrição | Recomendação |
---|---|---|---|
200 - OK | - | Configuração atualizada corretamente. | - |
400 - Bad Request | invalid user_id | User_id inválido. | Validar o user_id (deve ser um número inteiro). |
400 - Bad Request | invalid service_id | Service_id inválido. | Validar o service_id (deve ser um número inteiro). |
400 - Bad Request | invalid JSON body | O JSON é inválido. | Validar o esquema de query estabelecida. |
403 - Forbidden | can't update coverage zone | Não é possível atualizar a configuração porque o usuário está moderado ou intervenido. | Não permitir mudar configurações de usuários moderados ou intervenidos. |
404 - Not Found | can't update coverage zone | Não é possível atualizar a configuração porque não existe inscrição no Envíos Flex para a combinação de user_id e service_id enviada. | Validar o user_id e service_id no endpoint. |
Consultar estado do item
Antes de ativar flex a um item, é necessário realizar uma validação para garantir que o item esteja no estado 'active'. Isso pode ser verificado por meio do endpoint para obter um item e depois consultar o atributo 'status'.
Chamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/$ITEM_ID?attributes=id,status,id,status,shipping.mode,shipping.logistic_type,shipping.tags,shipping.free_shipping
Exemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/MLB4879366528?attributes=id,status,id,status,shipping.mode,shipping.logistic_type,shipping.tags,shipping.free_shipping
Resposta:
{
"status": "active",
"id": "MLB4879366528",
"shipping": {
"tags": [
"self_service_in",
"mandatory_free_shipping"
],
"free_shipping": true,
"logistic_type": "drop_off",
"mode": "me2"
}
}
Parâmetros de resposta:
- id: ID da publicação
- status: Status da publicação
- shipping.mode: Modo de envio da publicação.
- shipping.logistic_type: Tipo logístico da publicação
- shipping.tags: Tags de shipping, incluindo a ativação do Flex.
- self_service_in: Item com Flex ativado
- self_service_out: Item não tem Flex ativado
- self_service_available: Item é permitido enviar por Flex.
Consultar se a categoria permite Flex
Chamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/categories/MLB438794/shipping_preferences
Exemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/categories/MLB438794/shipping_preferences
Resposta:
{
...
"logistics": [
...
{
"types": [
"drop_off",
"xd_drop_off",
"self_service",
"cross_docking",
"fulfillment"
],
"mode": "me2"
}
],
...
"category_id": "MLB438794"
}
Nota: Para saber que a categoria permite Flex, deve estar presente a opção self_service, dentro do array logistics.
Consultar Flex no item
Este endpoint permite verificar se o item está atualmente sendo oferecido com Envios Flex ou não.
Chamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/sites/$SITE_ID/shipping/selfservice/items/$ITEM_ID
Exemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/sites/MLB/shipping/selfservice/items/MLB1493119403
Resposta:
Status: 204 No Content
Códigos de Estado de resposta:
Código | Mensagem | Descrição | Recomendação |
---|---|---|---|
204 - No Content | - | Item habilitado para Envios Flex. | - |
403 - Forbidden | item down | Item não oferece Envios Flex. | Validar as modalidades de envio do item. |
404 - Not Found | item not found | O país está desabilitado para Envios Flex. | Validar os países com Envios Flex. |
Ativar Flex no item
Este endpoint permite ativar a opção de Envios Flex no item.
Chamada:
curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/sites/$SITE_ID/shipping/selfservice/items/$ITEM_ID
Exemplo:
curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/sites/MLB/shipping/selfservice/items/MLB1493119403
Resposta:
Status: 204 No Content
Códigos de Estado de resposta:
Código | Mensagem | Descrição | Recomendação |
---|---|---|---|
204 - No Content | - | Item habilitado para Envios Flex. | - |
400 - Bad request | item is already in flex | Item já tem Flex ativo | Validar que o Item já possua Flex prévio a esta requisição |
403 - Forbidden | item down | Item não oferece Envios Flex. | Validar as modalidades de envio do item. |
404 - Not Found | item not found | O país está desabilitado para Envios Flex. | Validar os países com Envios Flex. |
Desativar Flex no item
Este endpoint permite desativar a opção de Envios Flex no item.
Chamada:
curl -X DELETE -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/sites/$SITE_ID/shipping/selfservice/items/$ITEM_ID
Exemplo:
curl -X DELETE -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/sites/MLB/shipping/selfservice/items/MLB1493119403
Resposta:
Status: 204 No Content
Códigos de Estado de resposta:
Código | Mensagem | Descrição | Recomendação |
---|---|---|---|
204 - No Content | - | Item desabilitado para envios Flex. | - |
403 - Forbidden | item down | Item não oferece Envios Flex. | Validar as modalidades de envio do item. |
404 - Not Found | item not found | O país está desabilitado para Envios Flex. | Validar os países com Envios Flex. |
Identificar Ordens Flex
Este endpoint determina se um envio será realizado pelo serviço Flex, permitindo concluir a transação de forma efetiva.
Chamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/shipments/$SHIPMENT_ID
Exemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/shipments/42469883906
Resposta:
"tags": [
"self_service"
]
Identificar o código do transportador
Este endpoint facilita a identificação do transportador atribuído a um envio, o que é útil para registrar alterações de transportador durante o processo de entrega.
Chamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/flex/sites/$SITE_ID/shipments/$SHIPMENT_ID/assignment/v1
Exemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/flex/sites/MLA/shipments/40070866801/assignment/v1
Resposta:
{
"driver_id": 1234
}
Códigos de Estado de resposta:
Código | Mensagem | Descrição | Recomendação |
---|---|---|---|
200 - OK | - | Transportador atribuído. | - |
404 - Not Found | shipment_id not found | Não possui transportador atribuído ou a rota não está aberta (envio pendente de ser entregue). Não existe (shipment inexistente). | Validar o estado do envio ou shipment_id . |
Estados e subestados Flex
Este endpoint permite conhecer os estados e subestados do fluxo de envios Flex.
Chamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/shipments/$SHIPMENT_ID
Exemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/shipments/43319685225
Respostas:
{
...
"comments": null,
"substatus": "receiver_absent",
"date_created": "2024-04-23T10:48:51.245-04:00",
"date_first_printed": "2024-04-23T13:14:16.093-04:00",
...
"status": "shipped",
}
Parâmetros de resposta:
- status: O estado geral do pacote. Os valores possíveis são:
- delivered: pacotes entregues.
- ready_to_ship: pacotes prontos para despachar.
- cancelled: pacotes cancelados.
- not_delivered: pacotes rejeitados ou que não será possível entregá-los. Dentro deste status temos os seguintes substatus possíveis:
- Rejeitado pelo comprador.
- refused_delivery: O comprador rejeitou a entrega.
- Rejeitado pelo comprador.
- shipped: pacotes que estão a caminho do comprador.
- Saída para rota: O pedido está a caminho.
- out_for_delivery: O pacote está a caminho para ser entregue.
- soon_deliver: O motorista notificou o comprador que seu pacote é o próximo na rota de entrega.
- Endereço incorreto ou incompleto.
- bad_address: O motorista registrou que o endereço fornecido está incorreto.
- Não há ninguém no endereço.
- receiver_absent: O motorista marcou que o comprador estava ausente no momento da entrega.
- O comprador decide reprogramar a compra desde seu aplicativo.
- buyer_rescheduled: O comprador solicitou reprogramar a entrega.
- O motorista marcou como entregue longe do endereço do comprador.
- delivery_blocked: O motorista indicou que o pacote foi entregue, mas longe do endereço do comprador. Solicita-se ao comprador que confirme se recebeu o envio.
- O vendedor marca como entregue o envio desde seu aplicativo.
- waiting_for_confirmation: O pacote foi marcado como entregue pelo vendedor após a data prometida. Solicita-se ao comprador que confirme se recebeu o envio.
- Saída para rota: O pedido está a caminho.
Convivencia Full e Flex
Para gerenciar o estoque do Flex quando o vendedor tem Fulfillment ativo em sua publicação, disponibilizamos a funcionalidade de estoque distribuído.
Consulte a documentação para entender o funcionamento: Convivência Full e Flex
Items não enviáveis por ME2 (Items em ME1, custom ou not_specified)
Produtos em categorias que não são enviadas por Mercado Envios (ME2) em outras modalidades logisticas (drop_off, crossdocking, fulfillment) por suas particularidades, agora podem ser enviados por Envios Flex especificamente.
São produtos considerados não enviáveis os que possuem a seguinte caracteristica:
- Inflamável: Produtos com risco de inflamação.
- Pack 4 Pneus: Pacotes que contêm quatro pneus.
- Não-Maquinável: Items que não podem ser processados por máquinas.
- Hazmat: Materiais perigosos.
Para ativar o Flex no produto do vendedor, valide que a categoria agora permite a opção self_service (Flex), como já deve ser realizado para os demais envios.
Categoria exemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/categories/MLA45502/shipping_preferences
Resposta:
{
...
"logistics": [
...
{
"types": [
"self_service"
],
"mode": "me2"
}
],
...
"category_id": "MLA45502"
}
Após isso, para ativar o Flex não é necessário modificar previamente o shipping.mode do Item, mas sim executar o optin do Flex conforme a instrução de ativar Flex.
Vista do vendedor:
Próximo: Envios Turbo