Optimise les parcours des véhicules pour un ou plusieurs messages OptimizeToursRequest par lot.
Cette méthode est une opération de longue durée (LRO). Les entrées d'optimisation (messages OptimizeToursRequest) et les sorties (messages OptimizeToursResponse) sont lues et écrites dans Cloud Storage au format spécifié par l'utilisateur. Comme la méthode projects.optimizeTours, chaque OptimizeToursRequest contient un ShipmentModel et renvoie un OptimizeToursResponse contenant des champs ShipmentRoute, qui sont un ensemble d'itinéraires que les véhicules doivent effectuer en minimisant le coût global.
L'utilisateur peut interroger operations.get pour vérifier l'état de l'opération de longue durée :
Si le champ done de l'ordre de requête en attente est défini sur "false", cela signifie qu'au moins une requête est toujours en cours de traitement. Il est possible que d'autres requêtes aient abouti et que leurs résultats soient disponibles dans Cloud Storage.
Si le champ done de l'opération de longue durée est défini sur "true", toutes les requêtes ont été traitées. Les résultats de toutes les requêtes traitées avec succès sont disponibles dans Cloud Storage. Les résultats des requêtes ayant échoué ne sont pas disponibles dans Cloud Storage. Si le champ error de l'opération de longue durée est défini, il contient l'erreur de l'une des requêtes ayant échoué.
Requête HTTP
POST https://routeoptimization.googleapis.com/v1/{parent=projects/*}:batchOptimizeTours
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/08/31 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/08/31 (UTC)."],[[["\u003cp\u003eThe \u003ccode\u003ebatchOptimizeTours\u003c/code\u003e method optimizes vehicle tours for multiple requests as a Long Running Operation (LRO), reading inputs and writing outputs to Cloud Storage.\u003c/p\u003e\n"],["\u003cp\u003eUsers can monitor the LRO status using \u003ccode\u003eoperations.get\u003c/code\u003e, with results becoming available in Cloud Storage upon completion.\u003c/p\u003e\n"],["\u003cp\u003eThe request body requires \u003ccode\u003emodelConfigs\u003c/code\u003e which specifies file paths and data formats for each model using the \u003ccode\u003eAsyncModelConfig\u003c/code\u003e structure.\u003c/p\u003e\n"],["\u003cp\u003eAuthorization requires the \u003ccode\u003ehttps://www.googleapis.com/auth/cloud-platform\u003c/code\u003e OAuth scope and the \u003ccode\u003erouteoptimization.operations.create\u003c/code\u003e IAM permission.\u003c/p\u003e\n"],["\u003cp\u003eSuccessful responses contain an \u003ccode\u003eOperation\u003c/code\u003e instance providing information about the ongoing operation.\u003c/p\u003e\n"]]],["This API method `batchOptimizeTours` optimizes vehicle tours for multiple `OptimizeToursRequest` messages via a Long Running Operation (LRO). Inputs and outputs are stored in Cloud Storage. Each request includes a `ShipmentModel`, and returns `ShipmentRoute` fields, minimizing overall cost. Users can check the LRO's status via `operations.get`. The `done` field indicates completion, while the `error` field shows failures. Requires `routeoptimization.operations.create` IAM permission and `cloud-platform` OAuth scope. The parent parameter will be used for routing.\n"],null,["# Method: projects.batchOptimizeTours\n\n- [HTTP request](#body.HTTP_TEMPLATE)\n- [Path parameters](#body.PATH_PARAMETERS)\n- [Request body](#body.request_body)\n - [JSON representation](#body.request_body.SCHEMA_REPRESENTATION)\n- [Response body](#body.response_body)\n- [Authorization scopes](#body.aspect)\n- [IAM Permissions](#body.aspect_1)\n\nOptimizes vehicle tours for one or more `OptimizeToursRequest` messages as a batch.\n\nThis method is a Long Running Operation (LRO). The inputs for optimization (`OptimizeToursRequest` messages) and outputs (`OptimizeToursResponse` messages) are read from and written to Cloud Storage in user-specified format. Like the `projects.optimizeTours` method, each `OptimizeToursRequest` contains a `ShipmentModel` and returns an `OptimizeToursResponse` containing `ShipmentRoute` fields, which are a set of routes to be performed by vehicles minimizing the overall cost.\n\nThe user can poll `operations.get` to check the status of the LRO:\n\nIf the LRO `done` field is false, then at least one request is still being processed. Other requests may have completed successfully and their results are available in Cloud Storage.\n\nIf the LRO's `done` field is true, then all requests have been processed. Any successfully processed requests will have their results available in Cloud Storage. Any requests that failed will not have their results available in Cloud Storage. If the LRO's `error` field is set, then it contains the error from one of the failed requests.\n\n### HTTP request\n\n`POST https://routeoptimization.googleapis.com/v1/{parent=projects/*}:batchOptimizeTours`\n\nThe URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.\n\n### Path parameters\n\n| Parameters ||\n|----------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `parent` | `string` Required. Target project and location to make a call. Format: \\* `projects/{project-id}` \\* `projects/{project-id}/locations/{location-id}` If no location is specified, a region will be chosen automatically. |\n\n### Request body\n\nThe request body contains data with the following structure:\n\n| JSON representation |\n|------------------------------------------------------------------------------------------------------------------------|\n| ``` { \"modelConfigs\": [ { object (/maps/documentation/route-optimization/reference/rest/v1/AsyncModelConfig) } ] } ``` |\n\n| Fields ||\n|------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `modelConfigs[]` | `object (`[AsyncModelConfig](/maps/documentation/route-optimization/reference/rest/v1/AsyncModelConfig)`)` Required. Input/Output information each purchase model, such as file paths and data formats. |\n\n### Response body\n\nIf successful, the response body contains an instance of [Operation](/maps/documentation/route-optimization/reference/rest/v1/projects.locations.operations#Operation).\n\n### Authorization scopes\n\nRequires the following OAuth scope:\n\n- `https://www.googleapis.com/auth/cloud-platform`\n\n### IAM Permissions\n\nRequires the following [IAM](https://cloud.google.com/iam/docs) permission on the `parent` resource:\n\n- `routeoptimization.operations.create`\n\nFor more information, see the [IAM documentation](https://cloud.google.com/iam/docs)."]]