- Solicitação HTTP
- Parâmetros de caminho
- Corpo da solicitação
- Corpo da resposta
- Escopos de autorização
- Permissões do IAM
É uma variante do método projects.optimizeTours projetada para otimizações com valores de tempo limite grandes. Ele deve ser preferido em vez do método projects.optimizeTours para otimizações que levam mais de alguns minutos.
A long-running operation (LRO) retornada terá um nome no formato <parent>/operations/<operation_id> e poderá ser usada para acompanhar o progresso da computação. O tipo de campo metadata é OptimizeToursLongRunningMetadata. O tipo de campo response é OptimizeToursResponse, se a operação for bem-sucedida.
Experimental: consulte https://developers.google.com/maps/tt/route-optimization/experimental/otlr/make-request para mais detalhes.
Solicitação HTTP
POST https://routeoptimization.googleapis.com/v1/{parent=projects/*}:optimizeToursLongRunning
O URL usa a sintaxe de transcodificação gRPC.
Parâmetros de caminho
| Parâmetros | |
|---|---|
parent |
Obrigatório. Segmente o projeto ou local para fazer uma chamada. Formato:
Se nenhum local for especificado, uma região será escolhida automaticamente. |
Corpo da solicitação
O corpo da solicitação contém dados com a seguinte estrutura:
| Representação JSON |
|---|
{ "timeout": string, "model": { object ( |
| Campos | |
|---|---|
timeout |
Se esse tempo limite for definido, o servidor vai retornar uma resposta antes que o período de tempo limite termine ou que o prazo do servidor para solicitações síncronas seja atingido, o que acontecer primeiro. Para solicitações assíncronas, o servidor vai gerar uma solução (se possível) antes que o tempo limite expire. Duração em segundos com até nove dígitos fracionários, terminando em " |
model |
Modelo de envio a ser resolvido. |
solvingMode |
Por padrão, o modo de solução é |
searchMode |
Modo de pesquisa usado para resolver a solicitação. |
injectedFirstSolutionRoutes[] |
Orienta o algoritmo de otimização a encontrar uma primeira solução semelhante a uma anterior. O modelo é restrito quando a primeira solução é criada. As entregas não realizadas em uma rota são implicitamente ignoradas na primeira solução, mas podem ser realizadas em soluções sucessivas. A solução precisa atender a algumas proposições básicas de validade:
Se a solução injetada não for viável, um erro de validação não será necessariamente retornado. Em vez disso, um erro indicando inviabilidade poderá ser retornado. |
injectedSolutionConstraint |
Restrinja o algoritmo de otimização para encontrar uma solução final semelhante a uma solução anterior. Por exemplo, isso pode ser usado para congelar partes de rotas que já foram concluídas ou que serão concluídas, mas não podem ser modificadas. Se a solução injetada não for viável, um erro de validação não será necessariamente retornado. Em vez disso, um erro indicando inviabilidade poderá ser retornado. |
refreshDetailsRoutes[] |
Se não estiver vazio, as rotas fornecidas serão atualizadas sem modificar a sequência de visitas ou os tempos de viagem. Apenas outros detalhes serão atualizados. Isso não resolve o modelo. Desde 11/2020, isso só preenche as polilinhas de rotas não vazias e exige que Os campos Esse campo não pode ser usado com
|
interpretInjectedSolutionsUsingLabels |
Se for verdade:
Essa interpretação se aplica aos campos Se for verdadeiro, os rótulos nas seguintes categorias vão aparecer no máximo uma vez em cada categoria:
Se um Remover visitas ou rotas inteiras de uma solução injetada pode afetar as restrições implícitas, o que pode levar a mudanças na solução, erros de validação ou inviabilidade. OBSERVAÇÃO: o caller precisa garantir que cada |
considerRoadTraffic |
Considere a estimativa de tráfego ao calcular os campos |
populatePolylines |
Se for "true", as polilinhas serão preenchidas nas respostas |
populateTransitionPolylines |
Se for "true", as polilinhas e os tokens de rota serão preenchidos na resposta |
allowLargeDeadlineDespiteInterruptionRisk |
Se esse campo for definido, a solicitação poderá ter um prazo (consulte https://grpc.io/blog/deadlines) de até 60 minutos. Caso contrário, o prazo máximo é de apenas 30 minutos. As solicitações de longa duração têm um risco significativamente maior (mas ainda pequeno) de interrupção. |
useGeodesicDistances |
Se for "true", as distâncias de viagem serão calculadas usando distâncias geodésicas em vez de distâncias do Google Maps, e os tempos de viagem serão calculados usando distâncias geodésicas com uma velocidade definida por |
label |
Rótulo que pode ser usado para identificar esta solicitação, informado de volta no |
geodesicMetersPerSecond |
Quando |
maxValidationErrors |
Trunca o número de erros de validação retornados. Esses erros geralmente são anexados a uma carga útil de erro INVALID_ARGUMENT como um detalhe de erro BadRequest (https://cloud.google.com/apis/design/errors#error_details), a menos que solvingMode=VALIDATE_ONLY. Consulte o campo |
Corpo da resposta
Se a solicitação for bem-sucedida, o corpo da resposta conterá uma instância de Operation.
Escopos de autorização
Requer o seguinte escopo OAuth:
https://www.googleapis.com/auth/cloud-platform
Permissões do IAM
Requer a seguinte permissão do IAM no recurso parent:
routeoptimization.operations.create
Para mais informações, consulte a documentação do IAM.