API оптимизации маршрутов предоставляет два метода:
-  
OptimizeTours— это синхронный метод, который возвращает оптимизированный маршрут в ответ на запросOptimizeToursRequest. Клиенты должны поддерживать открытое соединение с API оптимизации маршрутов до тех пор, пока запрос не будет обработан и не будет возвращён ответOptimizeToursResponseили ошибка. -  
BatchOptimizeTours— это асинхронный метод, который принимает URI для одного или нескольких сообщенийOptimizeToursRequestи соответствующих сообщенийOptimizeToursResponse, возвращая имя ресурса длительной операции (LRO) ( REST , gRPC ), используемой для проверки завершения пакета. СообщенияOptimizeToursRequestобрабатываются в фоновом режиме, поэтому клиенты поддерживают открытые соединения с API оптимизации маршрутов только в течение времени, необходимого для отправкиBatchOptimizeToursRequestили вызоваGetOperationдля проверки состояния LRO.BatchOptimizeToursсчитывает запросы из Google Cloud Storage и записывает ответы в него. 
Варианты использования
 OptimizeTours удобен для решения небольших и простых запросов или запросов, время выполнения которых не превышает нескольких минут. Поддержание длительных подключений к API оптимизации маршрутов увеличивает риск прерывания работы до момента возврата решения.
 BatchOptimizeTours может обрабатывать более крупные запросы и запросы с более длительным временем решения, поскольку не требует длительного подключения к API оптимизации маршрутов.
Длительные операции
 LRO считываются из API оптимизации маршрутов с помощью метода GetOperation для проверки статуса выполнения пакета. LRO включают свойство done , которое указывает, завершена ли обработка всего пакета, и поле error , в котором сообщается об ошибках, возникших во время обработки. Если done равно true и error нет, пакет выполнен успешно. Наличие error указывает на то, что обработка части или всех пакетов не удалась.
 Типичный жизненный цикл запроса BatchOptimizeTours выглядит следующим образом:
-  Отправьте запрос 
BatchOptimizeToursRequestв API оптимизации маршрута, который вернет имя ресурса LRO. -  Опрашивайте 
GetOperationс возвращенным именем ресурса LRO, пока в ответе LRO не появятся свойстваdoneилиerror. -  Если 
doneравно true и ошибок нет, считайтеOptimizeToursResponsesиз URI Google Cloud Storage, указанных в запросеBatchOptimizeTours. Еслиerrorприсутствует, проверьте её, соответствующим образом обновитеOptimizeToursRequestв Google Cloud Storage и повторите попытку в зависимости от обнаруженной ошибки. 
 Запросы OptimizeTours и BatchOptimizeTours можно отправлять различными способами: из командной строки или с помощью клиентской библиотеки.