---
title: Quais são os parâmetros da Planning API?
description: Conheça todos os parâmetros disponíveis na Planning API, com descrição e exemplos práticos.
---

[Pular para o conteúdo](https://knowledge.maplink.global/migration/pt-br/base/quais-são-os-parametros-da-planning-api#main-content)

Português - Brasil

Mostrar submenu para traduções

[Abrir chamado](https://knowledge.maplink.global/migration/pt-br/base/kb-tickets/new?hsLang=pt-br) [Portal do cliente](https://knowledge.maplink.global/customers?hsLang=pt-br)

![logo\_maplink-1.png\]](https://knowledge.maplink.global/hs-fs/hubfs/logo_maplink-1.png?height=40&name=logo_maplink-1.png)

Abrir navegação principal

Fechar navegação principal

- Português - Brasil
  
  Mostrar submenu para traduções
- [Abrir chamado](https://knowledge.maplink.global/migration/pt-br/base/kb-tickets/new)
- [Portal do cliente](https://knowledge.maplink.global/customers)
- Ir para maplink.global

 Ir para maplink.global

 Olá. Como podemos ajudá-lo?

- Não há sugestões porque o campo de pesquisa está em branco.

1. [Centro de ajuda](https://knowledge.maplink.global/migration/pt-br/base?hsLang=pt-br)
2. [APIs Maplink Platform](https://knowledge.maplink.global/migration/pt-br/base/apis-maplink-platform?hsLang=pt-br)
3. [Planning API](https://knowledge.maplink.global/migration/pt-br/base/apis-maplink-platform?hsLang=pt-br#planning-api)

# Quais são os parâmetros da Planning API?

## Conheça todos os parâmetros disponíveis na Planning API, com descrição e exemplos práticos.

Os parâmetros obrigatórios estão denotados com "\*". Segue abaixo, o grupo de parâmetros disponíveis na Planning API:

- [optimizationProfile\*](https://knowledge.maplink.global/migration/pt-br/base/quais-são-os-parametros-da-planning-api#optimizarionProfile)
- [startDate\*](https://knowledge.maplink.global/migration/pt-br/base/quais-são-os-parametros-da-planning-api#startDate)
- [depots\*](https://knowledge.maplink.global/migration/pt-br/base/quais-são-os-parametros-da-planning-api#depots)
- [logisticConstraints\*](https://knowledge.maplink.global/migration/pt-br/base/quais-são-os-parametros-da-planning-api#logisticConstraints)
- [vehicleTypes\*](https://knowledge.maplink.global/migration/pt-br/base/quais-são-os-parametros-da-planning-api#vehicleTypes)
- [vehicles\*](https://knowledge.maplink.global/migration/pt-br/base/quais-são-os-parametros-da-planning-api#vehicles)
- [products\*](https://knowledge.maplink.global/migration/pt-br/base/quais-são-os-parametros-da-planning-api#products)
- [legislationProfiles\*](https://knowledge.maplink.global/migration/pt-br/base/quais-são-os-parametros-da-planning-api#legislationProfiles)
- [sites\*](https://knowledge.maplink.global/migration/pt-br/base/quais-são-os-parametros-da-planning-api#sites)
- [operations\*](https://knowledge.maplink.global/migration/pt-br/base/quais-são-os-parametros-da-planning-api#operations)
- [logisticZones](https://knowledge.maplink.global/migration/pt-br/base/quais-são-os-parametros-da-planning-api#logisticZones)
- [callback](https://knowledge.maplink.global/migration/pt-br/base/quais-são-os-parametros-da-planning-api#callback)
- [tripsProfile\*](https://knowledge.maplink.global/migration/pt-br/base/quais-são-os-parametros-da-planning-api#tripsProfile)
- [trip](https://knowledge.maplink.global/migration/pt-br/base/quais-são-os-parametros-da-planning-api#trip)
- [calculationMode](https://knowledge.maplink.global/migration/pt-br/base/quais-são-os-parametros-da-planning-api#calculationMode)
- [restrictionZones](https://knowledge.maplink.global/migration/pt-br/base/quais-são-os-parametros-da-planning-api#restrictionZones)

Veremos com detalhes e exemplos cada uma deles:

### optimizationProfile\*

O parâmetro **optimizationProfile** indica qual perfil de otimização a Planning API usará para processar os dados.

Cada perfil de otimização possui características que serão consideradas para otimizar o problema logístico, sendo cada perfil indicado para um cenário específico.

Exemplo:

```
"optimizationProfile": "BRAZIL46"
```

Os seguintes perfis estão disponíveis:

- **BRAZIL37, CHILE37, ARGENTINA37, COLOMBIA37, MEXICO37**: Perfil para problemas grandes, distribuindo as rotas entre veículos aos invés de criar mais de uma rota por veículo. Começa a alocação pelos veículos de maior capacidade.
- **BRAZIL46 CHILE46, ARGENTINA46, COLOMBIA46, MEXICO46**: Perfil para problemas menores, construção inicial com mais de 10 locais por rota e tratamento de diversas janelas de atendimento diferentes.
- **BRAZIL\_AVG\_LOAD\_RATE** : Perfil usado para **multiple vehicle routing problem** (VRP) e tem como característica atender as prioridades das operações e com os critérios de valorização que destacam a capacidade de carga média em volume/peso para os veículos.
- **BRAZIL\_VRP\_PICKUP**: Perfil usado para **multiple vehicle routing problem** (VRP). Para casos que precisam realizar rotas permitindo coleta de produtos no *depot* e em outras lojas durante a rota para realizar as entregas. Útil em casos de uso de *last mile*, onde o veículo ira partir do centro de distribuição e realizar coletas em lojas durante o percurso.

### startDate\*

O parâmetro **startDate** indica a **data e horário de início** a ser considerado para todo cálculo do problema logístico.

É um parâmetro obrigatório e deve estar no formato *timestamp.* Exemplo:

```
"startDate": 1583492400000,
```

### depots\*

O parâmetro **depots** é um **array de objetos**, onde cada objeto representará um depósito ou centro de distribuição. Pode ser também uma loja física de onde o produto sairá para a entrega.

Os *depots* serão referenciados nas operações como origem do produto para entrega, ou como destino, caso seja uma operação de coleta.

Na requisição é possível definir um ou mais *depots* para atender as operações.

> - **name** - Texto único do nome do depósito. Usado para referenciar em *Operations* e identificar no resultado.
> - **coordinates** - Coordenadas geográficas em graus decimais da latitude e longitude:
>   
>     - **latitude** - Valor numérico em graus decimais. Deve estar entre -90.0 e 90.0. Exemplo: -23.6987.
>     - **longitude** - Valor numérico em graus decimais. Deve estar entre -180.0 e 180.0. Exemplo: -45.7347.
> - **logisticConstraints** - Texto com referência ao nome da *logisticConstraint.*
> - **logisticZones** - (Opcional) Array com os nomes das zonas logísticas nos quais o *depot* pertence. Devem ser únicos e devem ter o mesmo nome declarado em *Logistic Zones.*

```
    "depots": [        {            "name": "MG - BELO HORIZONTE DEPÓSITO",            "coordinates": {                "latitude": -19.9251768,                "longitude": -43.9509008            },            "logisticConstraints": "DEFAULT",            "logisticZones": ["bh"]        },        {            "name": "BH - Loja 1",            "coordinates": {                "latitude": -19.8849981,                "longitude": -44.0089124            },            "logisticConstraints": "DEFAULT",            "logisticZones": ["bh"]        }]
```

### logisticConstraints\*

O parâmetro **logisticConstraints** é um **array de objetos**, onde cada objeto representará um grupo de **regras logísticas** para serem consideradas no planejamento e otimização, como tempo de carga e descarga por exemplo.

Cada regra logística deverá ser associada aos *Depot* ou *Site* ao qual ela se aplica.

> - **name** - Texto do nome da regra logística. Usado para referenciar em *Depots* e *Sites.*
> - **siteLoadingFixedTime** - Número inteiro com o tempo fixo de carregamento em segundos.
> - **siteUnloadingFixedTime** - Número inteiro com o tempo fixo de descarregamento em segundos.
> - **unloadingPositionInRoute** - Posição na rota para o descarregamento*.* Valores possíveis: **\[INDIFFERENT, FIRST, LAST, ALONE\]**.
>   
>     - Exemplo 1: Se um *site* estiver com a regra de **"unloadingPositionInRoute": "FIRST"**, a operação deste site será executado em primeiro na rota para realizar a entrega.
>     - Exemplo 2: Se um *site* estiver com a regra de **"unloadingPositionInRoute"": "LAST"**, a operação deste site será executado em último na rota para realizar a entrega.
>     - Exemplo 3: Se um *site* estiver com a regra de **"unloadingPositionInRoute"": "ALONE"**, a operação deste site será executado sozinho, com uma rota exclusiva para realizar a entrega.
>     - Exemplo 4: Se um *site* estiver com a regra de **"unloadingPositionInRoute"": "INDIFFERENT"**, a operação deste site será executado em qualquer posição na rota para a entrega.
> - **loadingPositionInRoute** - Posição na rota para o carregamento*.* Valores possíveis: **\[INDIFFERENT, FIRST, LAST, ALONE\]**.

```
    "logisticConstraints": [        {            "name": "Regras-Depot",            "siteLoadingFixedTime": 1200        },        {            "name": "Regras-Entrega-Rápida",            "siteUnloadingFixedTime": 300,            "unloadingPositionInRoute": "FIRST"        }    ],
```

### vehicleTypes\*

O parâmetro **vehicleTypes** é um **array de objetos**, onde cada objeto representará um tipo de veículo. Tipos de veículos são as características dos veículos que serão usados no planejamento, como peso e volume suportados, por exemplo.

A API verificará a capacidade dos veículos para distribuir os pesos e volumes dos produtos de cada operação para a melhor otimização logística.

> - **name** - Texto único com o tipo de veículo. Usado para ser referenciado em *Vehicles.*
> - **maxVolume** - Valor numérico (double) com o volume máximo suportado pelo veículo*.*
> - **maxWeight** - Valor numérico (double) com o peso máximo suportado pelo veículo*.*
> - **size** - Valor numérico (integer) com o tamanho do veículo*.*

Abaixo um exemplo com os parâmetros obrigatórios:

```
    "vehicleTypes": [        {            "name": "VUC",            "maxVolume": 20,            "maxWeight": 1200,            "size": 1        },        {            "name": "3/4",            "maxVolume": 30,            "maxWeight": 1500,            "size": 1        }    ],
```

Os seguintes parâmetros são opcionais:

> - **characteristics** - Texto livre para descrever características do veículo.
> - **maxSitesNumber** - Número inteiro com a quantidade máxima de *sites* que o veículo visitará por rota.
> - **compartmentsAccessMode** - Texto com o modo de acesso ao compartimento de carga do veículo. Valores permitidos: **\[ALL\_COMPARTMENTS, REAR\_ACCESS\]**
> - **compartmentConfigurations** - Array com as características do compartimento de carga. Necessário definir o compartmentsAccessMode.
>   
>     - **name** - Texto único com o nome do compartimento.
>     - **type** - Texto com o tipo do compartimento Valores possíveis: **\[FIXED, VARIABLE\]**.
>     - **maximumCapacity**- Número decimal com a capacidade máxima do compartimento.
>     - **minimumCapacity** - (Opcional) Número decimal com a capacidade mínima do compartimento. Obrigatório quando *type* é VARIABLE e opcional quando *type é* FIXED.
>     - **increment** -  (Opcional) Número decimal com o incremento da capacidade do compartimento. Obrigatório quando *type* é VARIABLE e opcional quando *type é* FIXED.
>     - **loadingRule** - Texto com a regra considerada para o carregamento do compartimento. Valores possíveis: **\[NONE, IDENTICAL\_PACKAGINGS, SINGLE\_OPERATION, IDENTICAL\_PRODUCTS, IDENTICAL\_SITE\_PRODUCTS\]**.
>     - **allowedPackagings** - Array com os nomes dos pacotes permitidos a serem carregados no compartimento. Deve ser único em um tipo de compartimento.
> 
> - **trip** - Indica que além da ordenação dos pontos logísticos, a rota também deve ser retornada. Todos os parâmetros aceitos pela Trip API serão aceitos aqui. Para saber mais consultar: [2.2. Parâmetros da requisição](https://maplinkdev.atlassian.net/wiki/spaces/mp2021/pages/1893695605)

O exemplo abaixo mostra como descrever características de dois veículos diferentes: o primeiro uma “Moto” e o segundo um “Carro”. A “Moto” possui capacidade de carga menor porém em seu compartimento pode carregar pacotes de nome "Carga\_Resistente". “Carro” possui capacidade de carga maior mas só pode carregar pacotes de nome "Carga\_fragil".

Assim podemos detalhar que tipo de pacote/produto um veículo pode carregar e o outro não.

```
"vehicleTypes": [    {        "name": "Moto",        "maxWeight": 100,        "maxVolume": 50,        "size": 30,        "maxSitesNumber": 24,        "characteristics": null,        "compartmentsAccessMode": "REAR_ACCESS",        "compartmentConfigurations": [            {                "name": "compartimentoMoto",                "compartments": [                    {                        "name": "bau_moto",                        "type": "FIXED",                        "maximumCapacity": 1000,                        "loadingRule": "NONE",                        "allowedPackagings": [                            "Carga_Resistente"                        ]                    }                ]            }        ],        "trip": {            "calculationMode": "THE_FASTEST",            "crossedBorders": {                "level": "CITY"            },            "toll": {                "vehicleType": "MOTORCYCLE"            }        }    },    {        "name": "Carro",        "maxWeight": 400,        "maxVolume": 100,        "size": 30,        "maxSitesNumber": 24,        "characteristics": null,        "compartmentsAccessMode": "REAR_ACCESS",        "compartmentConfigurations": [            {                "name": "compartimentoCarro",                "compartments": [                    {                        "name": "porta_malas",                        "type": "FIXED",                        "maximumCapacity": 1000,                        "loadingRule": "NONE",                        "allowedPackagings": [                            "Carga_fragil"                        ]                    }                ]            }        ],        "trip": {            "calculationMode": "THE_FASTEST",            "crossedBorders": {                "level": "CITY"            },            "toll": {                "vehicleType": "CAR"            }        }    }],
```

### vehicles\*

O parâmetro **vehicles** é um **array de objetos**, onde cada objeto representará um **veículo disponível** para realizar as atividades das operações, que compõe a frota para atender o planejamento logístico*.*

Em cada objeto em **vehicles** será definido o local de origem e retorno e também o horário disponível para realizar as operações.

Os seguintes parâmetros são obrigatórios:

> - **name** - Texto único com o nome do veículo. Usado para ser referenciado em *Operations* e para identificação do veículo que irá executar a rota.
> - **vehicleType** - Texto com o tipo de veículo declarado em *vehicleTypes*.
> - **legislationProfile** - Texto com o perfil de legislação, declarado em *legislationProfiles*.
> - **availablePeriods** - Descreve características da jornada de trabalho disponível do motorista do veículo. É possível definir mais de uma janela horária. Há parâmetros obrigatórios e opcionais. Os obrigatórios são:
>   
>     - **start** - Horário de início que se iniciará a jornada de trabalho. Formato timestamp: *1511901826456*.
>     - **end** - Horário de fim que se encerrará a jornada de trabalho. Formato timestamp: *1511904661038.*

Abaixo um exemplo com os parâmetros obrigatórios:

```
"vehicles": [    {        "name": "VUC_1",        "vehicleType": "VUC",        "legislationProfile": "DEFAULT",        "availablePeriods": [            {                "timeWindow": {                    "start": 1513753200000,                    "end": 1513796400000                }            },            {                "timeWindow": {                    "start": 1513843200000,                    "end": 1513879200000                }            }        ]    }],
```

Os seguintes parâmetros são opcionais:

> - **availablePeriods** - Descreve características da jornada de trabalho disponível do motorista do veículo. Os parâmetros opcionais são:
>   
>     - **departureSite** - Texto com o local de partida do veículo no início da rota. Se não declarado a Planning API decidirá o *depot* de início.
>     - **arrivalSite** - Texto com o local de retorno do veículo no final da rota. Se não declarado a Planning API decidirá qual o último *site* da última operação para finalizar a rota.
>     - **maxRoutesNumber** - Número inteiro com a quantidade de rotas máximas para o período disponível. Por exemplo, se "maxRoutesNumber": 1, o veículo executará todas as operações na mesma rota.
> - **legislationProfile** - Texto com o perfil de legislação, declarado em *legislationProfiles*.
> - **logisticZones** - Array com os nomes das zonas logísticas em que o veículo poderá realizar as operações. Devem ser únicos e devem ter o mesmo nome declarado em *Logistic Zones.*

Abaixo um exemplo com todos os parâmetros opcionais:

```
"vehicles": [    {        "name": "154",        "vehicleType": "Moto",        "legislationProfile": "DEFAULT",        "availablePeriods": [            {                "timeWindow": {                    "start": 1611057600000,                    "end": 1611082800000                },                "departureSite": "maam2",                "arrivalSite": "maam2",                "maxRoutesNumber": 1            }        ]        "logisticZones": [            "CE - ZONA LESTE",            "CE - ZONA SUL"        ]            },    {        "name": "150",        "vehicleType": "Carro",        "legislationProfile": "DEFAULT",        "availablePeriods": [            {                "timeWindow": {                    "start": 1611057600000,                    "end": 1611082800000                },                "departureSite": "fkebvlkbvgrvg",                "arrivalSite": "ufwevidevgre",                "maxRoutesNumber": 1            }        ],        "logisticZones": [            "CE - ZONA NORTE",            "CE - ZONA OESTE"        ]    }]
```

### products\*

O parâmetro **products** é um **array de objetos**, onde cada objeto representará um **produto** a ser transportados pelos veículos. Cada produto deverá ser associado a uma operação.

Também é possível definir pacotes, ou *packagings*, para associar os produtos a um tipo de veículo específico.

Abaixo os parâmetros disponíveis em products:

> - **name** - Texto único com o nome do produto. Usado para ser referenciado em *Operations.*
> - **type** - (Opcional) Texto com a descrição do tipo do produto. Usado para identificação de grupos e categorias.
> - **packagings** - (Opcional) Array com os nomes dos pacotes associados ao produto.

O exemplo abaixo mostra dois produtos, de mesmo tipo, que estão associados a pacotes diferentes. Podemos usar o parâmetro **packagings** para posteriormente associar ao tipo de veículo que irá transportar o produto.

```
    "products": [        {            "name": "Vidro",            "type": "Bebidas",            "packagings": [                "Carga_fragil"            ]        },        {            "name": "Lata",            "type": "Bebidas",            "packagings": [                "Carga_Resistente"            ]        }    ]
```

### legislationProfiles\*

O parâmetro **legislationProfiles** é um **array de objetos**, onde cada objeto representará um **perfil de legislação**. Cada perfil de legislação definirá as características da jornada de trabalho do motorista, como por exemplo o tempo de direção contínua e hora para intervalo de almoço*.*

Pode ser criado um ou mais perfis de legislação conforme características da operação, por exemplo, para viagens de mais de um dia.

São referenciados em *vehicles* para definir qual perfil se aplica ao veículo/motorista.

Abaixo os parâmetros disponíveis em legislationProfiles:

> - **name** - Texto único com o nome do perfil da legislação. Usado para ser referenciado em *vehicles*.
> - **maxContinuousDrivingTime** - (Opcional) Número inteiro com o tempo máximo em segundos de direção contínua.
> - **drivingPauseDuration** - (Opcional) Número inteiro com o tempo em segundos de pausa para direção. Se aplica após a soma atingida do valor de maxContinuousDrivingTime. Pode ser usado para criar intervalos de almoço ou descanso. No resultado é apresentado como atividade denominada “PAUSE”.
> - **maxContinuousWorkingTime** - (Opcional) Número inteiro com o tempo máximo em segundos de trabalho contínuo. Considera-se *workingTime* todo o tempo gasto nas atividades de “LOADING"; "DRIVING"; "DELIVERY"; "COLLECTION"; "WAITING".
> - **workingPauseDuration** - (Opcional) Número inteiro com o tempo em segundos de pausa do trabalho. Considera-se como trabalho as atividades de “LOADING"; "DRIVING"; "DELIVERY"; "COLLECTION"; "WAITING". Esse parâmetro é utilizado em viagens de vários dias em que se aplicará o tempo que o motorista irá descansar ao final do turno do trabalho.

O exemplo abaixo demonstra um perfil de legislação para viagens de múltiplos dias.

- Em **maxContinuousDrivingTime** é definido o valor de 3 horas e 45 minutos de direção contínua.
- Em **drivingPauseDuration** é definido 1 hora para o intervalo de almoço.
- Em **maxContinuousWorkingTime** é definido turno de 8 horas de trabalho.
- Em **workingPauseDuration** é definido 15 horas de descanso para iniciar o trabalho no próximo dia.

Assim, o motorista trabalhará as horas de direção e entregas, irá fazer 1 hora de pausa para o almoço, continuará as entregas no período da tarde e ao totalizar 8 horas trabalhadas, descansará 15 horas para iniciar a nova jornada no dia seguinte.

```
"legislationProfiles": [    {        "name": "perfil",        "maxContinuousDrivingTime": 13500,        "drivingPauseDuration": 3600,        "maxContinuousWorkingTime": 28800,        "workingPauseDuration": 54000    }]
```

### sites\*

O parâmetro **sites** é um **array de objetos**, onde cada objeto representará um **local em que deverá ser realizado uma operação de entrega ou de coleta**. Devem ser referenciados em operations, para associar o local com a operação.

Também podem ser referenciados em vehicles para definir o local de partida e retorno do motorista.

A cada objeto em sites também pode ser associado uma regra logística para definir por exemplo o tempo gasto para carga e descarga no local.

Abaixo os parâmetros disponíveis em sites:

> - **name** - Texto único do nome do site. Usado para referenciar em *operations* e identificar no resultado.
> - **coordinates** - Coordenadas geográficas em graus decimais da latitude e longitude:
>   
>     - **latitude** - Valor numérico em graus decimais. Deve estar entre -90.0 e 90.0. Exemplo: -23.6987.
>     - **longitude** - Valor numérico em graus decimais. Deve estar entre -180.0 e 180.0. Exemplo: -45.7347.
> - **logisticConstraints** - Texto com referência ao nome da *logisticConstraint.*
> - **logisticZones** - (Opcional) Array com os nomes das zonas logísticas nos quais o *site* pertence. Devem ser únicos e devem ter o mesmo nome declarado em *Logistic Zones.*

Abaixo um exemplo com todo os parâmetros:

```
"sites": [    {        "name": "204498250",        "coordinates": {            "latitude": -26.2186024,            "longitude": -48.6656953        },        "logisticConstraints": "DEFAULT",        "logisticZones": [            "joinville"        ]    },    {        "name": "616188578",        "coordinates": {            "latitude": -26.2408157,            "longitude": -49.3971109        },        "logisticConstraints": "DEFAULT",        "logisticZones": [            "sbs"        ]    },    {        "name": "125478438",        "coordinates": {            "latitude": -26.4832718,            "longitude": -49.0567523        },        "logisticConstraints": "DEFAULT",        "logisticZones": [            "jaragua"        ]    }]
```

### operations\*

O parâmetro **operations** é um **array de objetos**, onde cada objeto representará uma **operação a ser resolvida no planejamento logístico.** Cada objeto irá conter as características da operação, como o tipo (entrega ou coleta), janela horária do cliente, peso e volume da entrega, entre outros.

É recomendado ter por requisição até no máximo 200 operações para um melhor desempenho da API.

Os seguintes parâmetros são obrigatórios:

> - **customerSite** - Texto com o nome do *site*, local da operação.
> - **customerTimeWindows** - Janela de horário que o cliente poderá receber a operação. É possível definir mais de uma janela horária. Parâmetros obrigatórios:
>   
>     - **start** - Horário de início que o cliente atua na operação. Formato timestamp: *1511901826456*.
>     - **end** - Horário de fim que o cliente atua na operação. Formato timestamp: *1511904661038.*
> - **depotSite** - *Depot* de origem para a operação*.* Usado para identificar de qual *depot* o produto será embarcado no veículo até a entrega. No caso de operação de coleta, o *depot* onde será descarregado o produto.
> - **id** - Texto único com o identificador da operação. Normalmente é a ordem de serviço ou algum id de fácil identificação em outros sistemas.
> - **product** - Texto único com o nome do produto. Deve estar declarado em *products*.
> - **type** - Tipo da operação, de entrega do produto ou coleta do produto. Deve ser um dos seguintes tipos: **\[COLLECTION, DELIVERY\]**.
> - **volume** - Número decimal com o volume do produto que será entregue/coletado na operação. É importante estar na mesma unidade em que foi utilizado em *vehicleTypes.* Por exemplo, metros cúbicos.
> - **weight** - Número decimal com o peso do produto que será entregue/coletado na operação. É importante estar na mesma unidade em que foi utilizado em *vehicleTypes.* Por exemplo, quilogramas.

Exemplo com os parâmetros obrigatórios:

```
"operations": [    {        "customerSite": "MERCADO02GLICERIO",        "depotSite": "DEPOSITO01",        "type": "DELIVERY",        "customerTimeWindows": [            {                "start": 1583499600000.                "end": 1583506800000                            },            {                "start": 1583510400000.                "end": 1583528400000            }        ],        "id": "NUMORDEM30",        "product": "HD_DIVERSOS",        "volume": 1,        "weight": 0.15    },    {        "customerSite": "MERCADO10SCAETANO",        "depotSite": "DEPOSITO01",        "type": "DELIVERY",        "customerTimeWindows": [            {                "end": 1583528400000,                "start": 1583492400000            }        ],        "id": "NUMORDEM27",        "product": "HD_DIVERSOS",        "volume": 1,        "weight": 0.15    }]
```

Os seguintes parâmetros são opcionais:

> - **customerHandlingDuration** - Número inteiro com o tempo em segundos que será gasto no cliente para realizar a operação*.* Para operações de coleta (“COLLECTION”), utilizar o parâmetro **siteLoadingFixedTime** de *LogisticConstraints*.
> - **depotHandlingDuration** - Número inteiro com o tempo em segundos que será gasto no *depot* para realizar a operação*. Para operações de coleta (“COLLECTION”), utilizar o parâmetro **siteLoadingFixedTime** de LogisticConstraints.*
> - **depotTimeWindows** - Janela de horário do depósito em que a operação deve ocorrer. Por exemplo, se for uma operação com atividade de *delivery*, o produto será carregado no veículo dentro do depósito neste intervalo de horário (na resposta da API aparecerá como *Loading)*. Se for uma operação com atividade de *collection,* o produto chegará no depósito neste intervalo de horário (na resposta da API aparecerá como *Unloading)*:
>   
>     - **start** - Horário de início que o *depot* atua na operação. Formato timestamp: *1511901826456*.
>     - **end** - Horário de fim que o *depot* atua na operação. Formato timestamp: *1511904661038.*
> - **group** - Texto com o grupo de operações. Usado para agrupar operações de uma mesma localidade de forma manual*.* As operações que possuem o mesmo valor serão executadas juntas. Por exemplo, operações em diferentes lojas que ficam em um mesmo shopping.
> - **preAllocatedVehicleName** - Texto com o nome do veículo que irá realizar a operação de forma pré-definida. Com isso, a Planning API irá alocar esse veículo associado para colocar a operação em sua rota. Utilize esse parâmetro para exemplos em que um motorista favorito deverá atender um cliente ou um veículo específico precisa realizar a operação.
> - **priority** - Número inteiro da prioridade da operação. Usado para definir a prioridade na carga, e não na sequência de entrega.
> - **quantity** - Número decimal com a quantidade da operação. Apenas para descrição, não interfere no peso ou volume da operação, ou no modo em que a operação é processada.

O exemplo abaixo apresenta 2 operações de entrega para serem realizadas no intervalo das 10:00 até as 12:00 da manhã (customerTimeWindows). A operação no MERCADO01MOOCA possui o depotTimeWindows definido para realizar o carregamento no depósito entre 11:00 e 12:00 com duração de 10 minutos (depotHandlingDuration).

Devido a esta característica, o caminhão só sairá do depósito 11:10 para realizar as duas operações e terá até 12:00 para realizar as duas operações.

Ambas operações são do mesmo "group": "A" e serão atendidos pelo "preAllocatedVehicleName": "VUC01".

```
"operations": [    {        "customerSite": "MERCADO01MOOCA",        "depotSite": "DEPOSITO01",        "preAllocatedVehicleName": "VUC01",        "priority": 20,        "type": "DELIVERY",        "customerTimeWindows": [            {                "start": 1583499600000,                "end": 1583506800000            }        ],        "depotTimeWindows": [            {                "start": 1583503200000,                "end": 1583506800000            }        ],        "depotHandlingDuration": 600,        "id": "NUMORDEM25",        "product": "HD_DIVERSOS",        "volume": 12,        "weight": 1,        "quantity": 10,        "group": "A"    },    {        "customerSite": "MERCADO02GLICERIO",        "depotSite": "DEPOSITO01",        "preAllocatedVehicleName": "VUC01",        "type": "DELIVERY",        "customerTimeWindows": [            {                "start": 1583499600000,                "end": 1583506800000            }        ],        "customerHandlingDuration": 300,        "id": "NUMORDEM30",        "product": "HD_DIVERSOS",        "volume": 1,        "weight": 0.15,        "group": "A"    }],
```

### logisticZones

O parâmetro **logisticZones** é um **array de objetos**, onde cada objeto representará uma **zona logística** que poderá ser assocido aos depots, sites e vehices para definir a relação entre eles.

Por exemplo, caso seja definido uma zona logística para um veículo, ele irá atender apenas aos *sites* que pertençam a mesma zona logística.

Abaixo os parâmetros disponíveis em logisticZones:

> - **name** - Texto do nome da zona logística. Usado para referenciar em *Depots, Vehicles* e *Sites.*
> - **zonePriority** - Prioridade da zona. Influenciará qual zona logística será atendida primeiro. Valores possíveis: **\[PRIORITARY, SECUNDARY\]**

Abaixo um exemplo:

```
   "logisticZones": [        {            "name": "blumenau",            "zonePriority": "PRIORITARY"        },        {            "name": "jaragua",            "zonePriority": "PRIORITARY"        },        {            "name": "joinville",            "zonePriority": "PRIORITARY"        }    ]} 
```

### callback

O parâmetro **callback** é um objeto que contém os dados do *webhook* que será utilizado para receber os eventos do cálculo do problema.

Assim não será necessário consultar o status do problema para verificar se o mesmo foi processado. A API irá notificar o *webhook* quando a solução estiver disponível para consulta.

Os seguintes parâmetros são necessários:

> - **url** - URL com o endereço que irá receber o *callback*.
> - **user** - (Opcional) Texto com o nome do usuário caso o endpoint precisar de autenticação*.*
> - **password** - (Opcional) Texto com a senha caso o endpoint precisar de autenticação.

Exemplo de utilização:

```
"callback": {    "password": "nome_usuario",    "url": "https://enqkbfcos3dhgchuikd.webhook.net",    "user": "senha"},
```

### tripsProfile\*

Trip Profile é um parâmetro obrigatório na requisição da Planning API para que o cálculo do planejamento logístico considere as características de circulação pelo sistema viário que irá influenciar na roteirização.

Recomendável utilizar sempre o “**MAPLINK**”, pois ele contém os mapas mais atualizados.

```
"tripsProfile": "MAPLINK"
```

### trip

O parâmetro **trip** é um **objeto** e indica que além da ordenação dos pontos logísticos, **as coordenadas que compõem a rota também deverão ser retornada**. Todos os parâmetros aceitos pela Trip API serão aceitos aqui. Para saber mais consultar:

Caso o parâmetro já tenho sido declarado em **vehicleTypes**, será considerado os parâmetros definidos ali para cada tipo de veículo.

Abaixo um exemplo de utilização:

```
"trip": {    "calculationMode": "THE_FASTEST"       }
```

### calculationMode

O parâmetro **calculationMode** indica o modo de cálculo que deverá ser considerado para o planejamento da rota. Existem duas opções disponíveis:

- **THE\_FASTEST** - Retorna o planejamento considerando o caminho mais rápido. (Maior velocidade média)
- **THE\_SHORTEST** - Retorna o planejamento considerando o caminho com menor quilometragem.

Caso o parâmetro não seja informado, o valor THE\_FASTEST será considerado. Abaixo um exemplo de utilização:

```
"calculationMode": "THE_FASTEST"
```

### restrictionZones

O parâmetro **restrictionZones** é um **array** que contém as **áreas de restriçao que deverão ser considerdas na solução do problema logístico**.

As áreas de restrições devem ser previamente cadastradas através da Restriction Zones API e utilizadas como argumento no parâmetro restrictionZones. Assim a melhor rota desviará dessas áreas de restrição cadastradas.

Se houver algum ponto de parada dentro da área de restrição, a Planning API irá atender o ponto de parada pelo caminho que houver menor sobreposição com a área de restrição.

Abaixo um exemplo de utilização:

```
 "restrictionZones": [        "SP_BR381_90_km_Alt_Esq_5_3_Cen_5_45_Dir_5_6",        "SP_BR381_87_km_Alt_Esq_6_7_Cen_6_7_Dir_6_7"]
```

 

- [APIs Maplink Platform](https://knowledge.maplink.global/migration/pt-br/base/apis-maplink-platform?hsLang=pt-br#main-content)

    - [Planning API](https://knowledge.maplink.global/migration/pt-br/base/apis-maplink-platform?hsLang=pt-br#planning-api)
    - [Trip API](https://knowledge.maplink.global/migration/pt-br/base/apis-maplink-platform?hsLang=pt-br#trip-api)
    - [Toll API](https://knowledge.maplink.global/migration/pt-br/base/apis-maplink-platform?hsLang=pt-br#toll-api)
    - [Toll for Maps API](https://knowledge.maplink.global/migration/pt-br/base/apis-maplink-platform?hsLang=pt-br#toll-for-maps-api)
    - [Distance Matrix API](https://knowledge.maplink.global/migration/pt-br/base/apis-maplink-platform?hsLang=pt-br#distance-matrix-api)
    - [CO2 API](https://knowledge.maplink.global/migration/pt-br/base/apis-maplink-platform?hsLang=pt-br#co2-api)
    - [Restriction Zone API](https://knowledge.maplink.global/migration/pt-br/base/apis-maplink-platform?hsLang=pt-br#restriction-zone-api)
    - [Geocode API](https://knowledge.maplink.global/migration/pt-br/base/apis-maplink-platform?hsLang=pt-br#geocode-api)
    - [Freight API](https://knowledge.maplink.global/migration/pt-br/base/apis-maplink-platform?hsLang=pt-br#freight-api)
    - [Tracking API](https://knowledge.maplink.global/migration/pt-br/base/apis-maplink-platform?hsLang=pt-br#tracking-api)
- [APIs Google Maps Platform](https://knowledge.maplink.global/migration/pt-br/base/apis-google-maps-platform?hsLang=pt-br)
- [Webinar e Workshop](https://knowledge.maplink.global/migration/pt-br/base/webinar-e-workshop?hsLang=pt-br)

[![](https://knowledge.maplink.global/hs-fs/hubfs/logo-maplink-novo-horizontal-colorido%20PNG.png?width=2190&height=540&name=logo-maplink-novo-horizontal-colorido%20PNG.png)](http://maplink.global)

Centro de ajuda maplink.global

Copyright © 2026, Maplink Cloud