- Richiesta HTTP
- Parametri del percorso
- Corpo della richiesta
- Corpo della risposta
- Ambiti di autorizzazione
- Autorizzazioni IAM
Si tratta di una variante del metodo locations.optimizeTours progettata per le ottimizzazioni con valori di timeout elevati. È preferibile al metodo locations.optimizeTours per le ottimizzazioni che richiedono più di qualche minuto.
L'operazione di lunga durata restituita long-running operation avrà un nome nel formato <parent>/operations/<operation_id> e potrà essere utilizzata per monitorare l'avanzamento del calcolo. Il tipo di campo metadata è OptimizeToursLongRunningMetadata. Se l'operazione va a buon fine, il tipo di campo response è OptimizeToursResponse.
Richiesta HTTP
POST https://routeoptimization.googleapis.com/v1/{parent=projects/*/locations/*}:optimizeToursLongRunning
L'URL utilizza la sintassi di transcodifica gRPC.
Parametri del percorso
| Parametri | |
|---|---|
parent |
Obbligatorio. Progetto o posizione di destinazione per effettuare una chiamata. Formato:
Se non viene specificata una località, verrà scelta automaticamente una regione. |
Corpo della richiesta
Il corpo della richiesta contiene dati con la seguente struttura:
| Rappresentazione JSON |
|---|
{ "timeout": string, "model": { object ( |
| Campi | |
|---|---|
timeout |
Se questo timeout è impostato, il server restituisce una risposta prima che sia trascorso il periodo di timeout o che sia stata raggiunta la scadenza del server per le richieste sincrone, a seconda di quale si verifica per prima. Per le richieste asincrone, il server genererà una soluzione (se possibile) prima della scadenza del timeout. |
model |
Modello di spedizione da risolvere. |
solvingMode |
Per impostazione predefinita, la modalità di risoluzione è |
searchMode |
Modalità di ricerca utilizzata per risolvere la richiesta. |
injectedFirstSolutionRoutes[] |
Guida l'algoritmo di ottimizzazione a trovare una prima soluzione simile a una precedente. Il modello viene vincolato quando viene creata la prima soluzione. Le spedizioni non eseguite su un percorso vengono ignorate implicitamente nella prima soluzione, ma potrebbero essere eseguite nelle soluzioni successive. La soluzione deve soddisfare alcuni presupposti di validità di base:
Se la soluzione inserita non è fattibile, non viene necessariamente restituito un errore di convalida e potrebbe essere restituito un errore che indica l'infattibilità. |
injectedSolutionConstraint |
Vincola l'algoritmo di ottimizzazione a trovare una soluzione finale simile a una precedente. Ad esempio, può essere utilizzato per bloccare le parti dei percorsi che sono già state completate o che devono essere completate, ma non devono essere modificate. Se la soluzione inserita non è fattibile, non viene necessariamente restituito un errore di convalida e potrebbe essere restituito un errore che indica l'infattibilità. |
refreshDetailsRoutes[] |
Se non è vuoto, i percorsi specificati verranno aggiornati senza modificare la sequenza sottostante di visite o i tempi di percorrenza: verranno aggiornati solo gli altri dettagli. Il modello non viene risolto. A partire da novembre 2020, questo campo viene compilato solo con le polilinee dei percorsi non vuoti e richiede che I campi Questo campo non deve essere utilizzato insieme a
|
interpretInjectedSolutionsUsingLabels |
Se è vero:
Questa interpretazione si applica ai campi Se è vero, le etichette nelle seguenti categorie devono essere visualizzate al massimo una volta nella loro categoria:
Se un La rimozione di visite di percorsi o di interi percorsi da una soluzione inserita può influire sui vincoli impliciti, il che può comportare modifiche alla soluzione, errori di convalida o impossibilità. NOTA: il chiamante deve assicurarsi che ogni |
considerRoadTraffic |
Tieni conto della stima del traffico nel calcolo dei campi |
populatePolylines |
Se true, le polilinee verranno inserite nelle risposte |
populateTransitionPolylines |
Se è true, le polilinee e i token di percorso verranno inseriti nella risposta |
allowLargeDeadlineDespiteInterruptionRisk |
Se questa impostazione è configurata, la richiesta può avere una scadenza (vedi https://grpc.io/blog/deadlines) fino a 60 minuti. In caso contrario, il termine massimo è di soli 30 minuti. Tieni presente che le richieste di lunga durata hanno un rischio di interruzione significativamente maggiore (ma comunque basso). |
useGeodesicDistances |
Se è true, le distanze di viaggio verranno calcolate utilizzando le distanze geodetiche anziché le distanze di Google Maps e i tempi di viaggio verranno calcolati utilizzando le distanze geodetiche con una velocità definita da |
label |
Etichetta che può essere utilizzata per identificare questa richiesta, riportata in |
geodesicMetersPerSecond |
Se |
maxValidationErrors |
Tronca il numero di errori di convalida restituiti. Questi errori vengono in genere allegati a un payload di errore INVALID_ARGUMENT come dettaglio dell'errore BadRequest (https://cloud.google.com/apis/design/errors#error_details), a meno che solvingMode=VALIDATE_ONLY: vedi il campo |
Corpo della risposta
In caso di esito positivo, il corpo della risposta contiene un'istanza di Operation.
Ambiti di autorizzazione
Richiede il seguente ambito OAuth:
https://www.googleapis.com/auth/cloud-platform
Autorizzazioni IAM
Richiede la seguente autorizzazione IAM per la risorsa parent:
routeoptimization.operations.create
Per saperne di più, consulta la documentazione di IAM.