- Solicitação HTTP
- Parâmetros de caminho
- Corpo da solicitação
- Corpo da resposta
- Escopos de autorização
- Permissões do IAM
Essa é uma variante do método projects.optimizeTours
, desenvolvido para otimizações com valores de tempo limite grandes. Ele é a melhor opção em relação ao método projects.optimizeTours
para otimizações que levam mais do que alguns minutos.
O long-running operation
(LRO) retornado terá um nome no formato <parent>/operations/<operation_id>
e poderá ser usado para acompanhar o progresso da computação. O tipo de campo metadata
é OptimizeToursLongRunningMetadata
. O tipo de campo response
é OptimizeToursResponse
, se for bem-sucedido.
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 expire ou o prazo do servidor para solicitações síncronas seja atingido, o que ocorrer primeiro. Para solicitações assíncronas, o servidor vai gerar uma solução (se possível) antes do tempo limite expirar. 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 resoluçã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 é limitado quando a primeira solução é criada. Os envios não realizados em uma rota são ignorados implicitamente na primeira solução, mas podem ser realizados em soluções sucessivas. A solução precisa atender a algumas suposiçõ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, e um erro indicando a inviabilidade poderá ser retornado. |
injectedSolutionConstraint |
Limitar o algoritmo de otimização para encontrar uma solução final semelhante a uma 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, e um erro indicando a inviabilidade poderá ser retornado. |
refreshDetailsRoutes[] |
Se não estiver vazio, as rotas 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. A partir de novembro de 2020, isso preenche apenas as polilinhas de rotas não vazias e exige que Os campos Esse campo não pode ser usado com
|
interpretInjectedSolutionsUsingLabels |
Se verdadeiro:
Essa interpretação se aplica aos campos Se verdadeiro, os rótulos nas categorias a seguir precisam aparecer no máximo uma vez na categoria:
Se um A remoção de visitas a rotas 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 autor da chamada precisa garantir que cada |
considerRoadTraffic |
Considere a estimativa de tráfego ao calcular os campos |
populatePolylines |
Se for verdadeiro, as polilinhas serão preenchidas em |
populateTransitionPolylines |
Se verdadeiro, as polilinhas e os tokens de rota serão preenchidos na resposta |
allowLargeDeadlineDespiteInterruptionRisk |
Se esse valor for definido, a solicitação poderá ter um prazo máximo de até 60 minutos (consulte https://grpc.io/blog/deadlines). Caso contrário, o prazo máximo é de apenas 30 minutos. As solicitações de longa duração têm um risco de interrupção significativamente maior (mas ainda pequeno). |
useGeodesicDistances |
Se definido como "true", as distâncias de viagem serão calculadas usando distâncias geodésicas em vez das 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 essa solicitação, informado em |
geodesicMetersPerSecond |
Quando |
maxValidationErrors |
Corta o número de erros de validação retornados. Esses erros geralmente são anexados a um payload de erro INVALID_ARGUMENT como um detalhe de erro BadRequest (https://cloud.google.com/apis/design/errors#error_details), a menos que o modo de solução seja 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.