Tối ưu hoá các chuyến tham quan xe cho một hoặc nhiều thông báo OptimizeToursRequest theo lô.
Phương pháp này là Hoạt động chạy trong thời gian dài (LRO). Dữ liệu đầu vào để tối ưu hoá (thông báo OptimizeToursRequest) và đầu ra (thông báo OptimizeToursResponse) được đọc và ghi vào Cloud Storage ở định dạng do người dùng chỉ định. Giống như phương thức projects.optimizeTours, mỗi OptimizeToursRequest chứa một ShipmentModel và trả về một OptimizeToursResponse chứa các trường ShipmentRoute. Đây là một tập hợp các tuyến đường mà xe sẽ thực hiện để giảm thiểu tổng chi phí.
Người dùng có thể thăm dò ý kiến operations.get để kiểm tra trạng thái của LRO:
Nếu trường done LRO là sai, thì ít nhất một yêu cầu vẫn đang được xử lý. Các yêu cầu khác có thể đã hoàn tất và kết quả của các yêu cầu đó có trong Cloud Storage.
Nếu trường done của LRO là true, tức là tất cả yêu cầu đã được xử lý. Mọi yêu cầu được xử lý thành công sẽ có kết quả trong Cloud Storage. Mọi yêu cầu không thực hiện được sẽ không có kết quả trong Cloud Storage. Nếu trường error của LRO được đặt, thì trường này sẽ chứa lỗi từ một trong các yêu cầu không thành công.
Yêu cầu HTTP
POST https://routeoptimization.googleapis.com/v1/{parent=projects/*}:batchOptimizeTours
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 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)."]]