- Requête HTTP
- Paramètres de chemin d'accès
- Corps de la requête
- Corps de la réponse
- Niveaux d'accès des autorisations
- Autorisations IAM
Il s'agit d'une variante de la méthode locations.optimizeTours conçue pour les optimisations avec des valeurs de délai d'expiration élevées. Elle doit être privilégiée par rapport à la méthode locations.optimizeTours pour les optimisations qui prennent plus de quelques minutes.
L'long-running operation (LRO) renvoyée aura un nom au format <parent>/operations/<operation_id> et pourra être utilisée pour suivre la progression du calcul. Le type de champ metadata est OptimizeToursLongRunningMetadata. Le type du champ response est OptimizeToursResponse, si l'opération réussit.
Requête HTTP
POST https://routeoptimization.googleapis.com/v1/{parent=projects/*/locations/*}:optimizeToursLongRunning
L'URL utilise la syntaxe de transcodage gRPC.
Paramètres de chemin d'accès
| Paramètres | |
|---|---|
parent |
Obligatoire. Projet ou emplacement cibles pour passer un appel. Format :
Les valeurs |
Corps de la requête
Le corps de la requête contient des données présentant la structure suivante :
| Représentation JSON |
|---|
{ "timeout": string, "model": { object ( |
| Champs | |
|---|---|
timeout |
Si ce délai avant expiration est défini, le serveur renvoie une réponse avant que le délai avant expiration ne soit écoulé ou que le délai avant expiration du serveur pour les requêtes synchrones ne soit atteint, selon la première occurrence. Pour les requêtes asynchrones, le serveur génère une solution (si possible) avant l'expiration du délai. |
model |
Modèle d'envoi à résoudre. |
solvingMode |
Par défaut, le mode de résolution est |
searchMode |
Mode de recherche utilisé pour résoudre la requête. |
injectedFirstSolutionRoutes[] |
Guider l'algorithme d'optimisation pour trouver une première solution semblable à une solution précédente. Le modèle est contraint lorsque la première solution est créée. Tous les envois non effectués sur un itinéraire sont implicitement ignorés dans la première solution, mais ils peuvent être effectués dans les solutions successives. La solution doit satisfaire à certaines hypothèses de validité de base :
Si la solution injectée n'est pas réalisable, une erreur de validation n'est pas nécessairement renvoyée. Une erreur indiquant l'impossibilité peut être renvoyée à la place. |
injectedSolutionConstraint |
Limitez l'algorithme d'optimisation pour trouver une solution finale semblable à une solution précédente. Par exemple, cela peut être utilisé pour figer des parties d'itinéraires qui ont déjà été parcourues ou qui doivent l'être, mais qui ne doivent pas être modifiées. Si la solution injectée n'est pas réalisable, une erreur de validation n'est pas nécessairement renvoyée. Une erreur indiquant l'impossibilité peut être renvoyée à la place. |
refreshDetailsRoutes[] |
Si ce champ n'est pas vide, les itinéraires indiqués seront actualisés, sans modifier la séquence de visites ou les temps de trajet sous-jacents : seuls les autres détails seront mis à jour. Cela ne résout pas le modèle. Depuis novembre 2020, cela ne renseigne que les polylignes des itinéraires non vides et nécessite que Les champs Ce champ ne doit pas être utilisé avec
|
interpretInjectedSolutionsUsingLabels |
Si la réponse est "oui" :
Cette interprétation s'applique aux champs Si la valeur est "true", les libellés des catégories suivantes ne doivent pas apparaître plus d'une fois dans leur catégorie :
Si un La suppression de visites d'itinéraires ou d'itinéraires entiers d'une solution injectée peut avoir un effet sur les contraintes implicites, ce qui peut entraîner une modification de la solution, des erreurs de validation ou une impossibilité de résolution. REMARQUE : L'appelant doit s'assurer que chaque |
considerRoadTraffic |
Prenez en compte l'estimation du trafic pour calculer les champs |
populatePolylines |
Si la valeur est "true", les polylignes seront renseignées dans les |
populateTransitionPolylines |
Si la valeur est "true", les polylignes et les jetons de route seront renseignés dans la réponse |
allowLargeDeadlineDespiteInterruptionRisk |
Si cette option est définie, la requête peut avoir un délai avant expiration (voir https://grpc.io/blog/deadlines) de 60 minutes maximum. Sinon, le délai maximal n'est que de 30 minutes. Notez que les requêtes de longue durée présentent un risque d'interruption nettement plus élevé (mais toujours faible). |
useGeodesicDistances |
Si la valeur est "true", les distances de trajet seront calculées à l'aide des distances géodésiques au lieu des distances Google Maps, et les temps de trajet seront calculés à l'aide des distances géodésiques avec une vitesse définie par |
label |
Libellé pouvant être utilisé pour identifier cette requête, renvoyé dans le |
geodesicMetersPerSecond |
Lorsque |
maxValidationErrors |
Tronque le nombre d'erreurs de validation renvoyées. Ces erreurs sont généralement associées à une charge utile d'erreur INVALID_ARGUMENT en tant que détail d'erreur BadRequest (https://cloud.google.com/apis/design/errors#error_details), sauf si solvingMode=VALIDATE_ONLY : consultez le champ |
Corps de la réponse
Si la requête aboutit, le corps de la réponse contient une instance de Operation.
Champs d'application des autorisations
Requiert le niveau d'accès OAuth suivant :
https://www.googleapis.com/auth/cloud-platform
Autorisations IAM
Nécessite l'autorisation IAM suivante sur la ressource parent :
routeoptimization.operations.create
Pour en savoir plus, consultez la documentation IAM.