Method: providers.vehicles.search

Возвращает список транспортных средств, соответствующих параметрам запроса.

HTTP-запрос

POST https://fleetengine.googleapis.com/v1/{parent=providers/*}/vehicles:search

URL-адрес использует синтаксис транскодирования gRPC .

Параметры пути

Параметры
parent

string

Необходимый. Должно быть в формате providers/{provider} . Поставщиком должен быть идентификатор проекта (например, sample-cloud-project ) проекта Google Cloud, участником которого является сервисный аккаунт, выполняющий этот вызов.

Тело запроса

Тело запроса содержит данные следующей структуры:

JSON-представление
{
  "header": {
    object (RequestHeader)
  },
  "pickupPoint": {
    object (TerminalLocation)
  },
  "dropoffPoint": {
    object (TerminalLocation)
  },
  "pickupRadiusMeters": integer,
  "count": integer,
  "minimumCapacity": integer,
  "tripTypes": [
    enum (TripType)
  ],
  "maximumStaleness": string,
  "vehicleTypes": [
    {
      object (VehicleType)
    }
  ],
  "requiredAttributes": [
    {
      object (VehicleAttribute)
    }
  ],
  "requiredOneOfAttributes": [
    {
      object (VehicleAttributeList)
    }
  ],
  "requiredOneOfAttributeSets": [
    {
      object (VehicleAttributeList)
    }
  ],
  "orderBy": enum (VehicleMatchOrder),
  "includeBackToBack": boolean,
  "tripId": string,
  "currentTripsPresent": enum (CurrentTripsPresent),
  "filter": string
}
Поля
header

object ( RequestHeader )

Стандартный заголовок запроса Fleet Engine.

pickupPoint

object ( TerminalLocation )

Необходимый. Пункт выдачи, который нужно искать рядом.

dropoffPoint

object ( TerminalLocation )

Предполагаемое место высадки клиента. Поле является обязательным, если tripTypes содержит TripType.SHARED .

pickupRadiusMeters

integer

Необходимый. Определяет радиус поиска автомобиля вокруг точки посадки. Возврату подлежат только транспортные средства, находящиеся в радиусе поиска. Значение должно быть от 400 до 10 000 метров (включительно).

count

integer

Необходимый. Указывает максимальное количество возвращаемых транспортных средств. Значение должно находиться в диапазоне от 1 до 50 (включительно).

minimumCapacity

integer

Необходимый. Указывает количество пассажиров, рассматриваемых для поездки. Значение должно быть больше или равно единице. Драйвер не учитывается в значении емкости.

tripTypes[]

enum ( TripType )

Необходимый. Представляет тип предлагаемой поездки. Должен включать ровно один тип. UNKNOWN_TRIP_TYPE не разрешен. Ограничивает поиск только теми транспортными средствами, которые поддерживают данный тип поездки.

maximumStaleness

string ( Duration format)

Ограничивает поиск только теми транспортными средствами, которые отправили обновления местоположения в Fleet Engine в течение указанного периода. Стационарные транспортные средства, все еще передающие свое местоположение, не считаются устаревшими. Если это поле не задано, сервер использует пять минут в качестве значения по умолчанию.

Длительность в секундах, содержащая до девяти дробных цифр и оканчивающаяся на « s ». Пример: "3.5s" .

vehicleTypes[]

object ( VehicleType )

Необходимый. Ограничивает поиск транспортными средствами одного из указанных типов. Должен быть указан хотя бы один тип транспортного средства. Типы транспортных средств с категорией UNKNOWN не допускаются.

requiredAttributes[]

object ( VehicleAttribute )

Вызывающие объекты могут формировать сложные логические операции, используя любую комбинацию полей requiredAttributes , requiredOneOfAttributes и requiredOneOfAttributeSets .

requiredAttributes — это список; requiredOneOfAttributes использует сообщение, которое разрешает список списков. В сочетании эти два поля позволяют составить это выражение:

(requiredAttributes[0] AND requiredAttributes[1] AND ...)
AND
(requiredOneOfAttributes[0][0] OR requiredOneOfAttributes[0][1] OR
...)
AND
(requiredOneOfAttributes[1][0] OR requiredOneOfAttributes[1][1] OR
...)

Ограничивает поиск только теми транспортными средствами с указанными атрибутами. Это поле представляет собой операцию конъюнкции/И. Допускается максимум 50 обязательных атрибутов. Это соответствует максимальному количеству атрибутов, разрешенных для транспортного средства.

requiredOneOfAttributes[]

object ( VehicleAttributeList )

Ограничивает поиск только теми транспортными средствами, у которых есть хотя бы один из указанных атрибутов в каждом VehicleAttributeList . В каждом списке транспортное средство должно соответствовать хотя бы одному из атрибутов. Это поле представляет собой включающую операцию разъединения/ИЛИ в каждом VehicleAttributeList и операцию объединения/И в коллекции VehicleAttributeList .

requiredOneOfAttributeSets[]

object ( VehicleAttributeList )

requiredOneOfAttributeSets предоставляет дополнительные функциональные возможности.

Подобно requiredOneOfAttributes , requiredOneOfAttributeSets использует сообщение, которое разрешает создание списка списков, допуская такие выражения, как это:

(requiredAttributes[0] AND requiredAttributes[1] AND ...)
AND
(
  (requiredOneOfAttributeSets[0][0] AND
  requiredOneOfAttributeSets[0][1] AND
  ...)
  OR
  (requiredOneOfAttributeSets[1][0] AND
  requiredOneOfAttributeSets[1][1] AND
  ...)
)

Ограничивает поиск только теми транспортными средствами, которые имеют все атрибуты в VehicleAttributeList . В каждом списке транспортное средство должно соответствовать всем атрибутам. Это поле представляет собой операцию соединения/И в каждом VehicleAttributeList и инклюзивную операцию разъединения/ИЛИ в коллекции VehicleAttributeList .

orderBy

enum ( VehicleMatchOrder )

Необходимый. Указывает желаемый критерий упорядочения результатов.

includeBackToBack

boolean

Это указывает на то, подходят ли для этого поиска транспортные средства с одной активной поездкой. Это поле используется только в том случае, если currentTripsPresent не указано. Если currentTripsPresent не указан и это поле имеет значение false , транспортные средства с назначенными поездками исключаются из результатов поиска. Если currentTripsPresent не указан и это поле имеет значение true , результаты поиска могут включать транспортные средства с одной активной поездкой, имеющей статус ENROUTE_TO_DROPOFF . Если указано currentTripsPresent , для этого поля не может быть установлено значение true.

Значение по умолчанию — false .

tripId

string

Указывает поездку, связанную с этим SearchVehicleRequest .

currentTripsPresent

enum ( CurrentTripsPresent )

Это указывает на то, подходят ли для этого поиска автомобили с активными поездками. Должно быть установлено значение, отличное от CURRENT_TRIPS_PRESENT_UNSPECIFIED если tripType включает SHARED .

filter

string

Необязательный. Запрос-фильтр, применяемый при поиске транспортных средств. См. http://aip.dev/160 для примеров синтаксиса фильтра.

Это поле предназначено для замены полей requiredAttributes , requiredOneOfAttributes и required_one_of_attributes_sets . Если здесь указано непустое значение, следующие поля должны быть пустыми: requiredAttributes , requiredOneOfAttributes и required_one_of_attributes_sets .

Этот фильтр работает как предложение AND с другими ограничениями, такими как minimumCapacity или vehicleTypes .

Обратите внимание, что поддерживаются только запросы по атрибутам транспортного средства (например, attributes.<key> = <value> или attributes.<key1> = <value1> AND attributes.<key2> = <value2> ). Максимальное количество ограничений, разрешенное в запросе фильтра, — 50.

Кроме того, все атрибуты хранятся в виде строк, поэтому единственным поддерживаемым сравнением атрибутов является сравнение строк. Для сравнения с числовыми или логическими значениями значения должны быть явно заключены в кавычки, чтобы их можно было рассматривать как строки (например, attributes.<key> = "10" или attributes.<key> = "true" ).

Тело ответа

ответное сообщение vehicles.search .

В случае успеха тело ответа содержит данные следующей структуры:

JSON-представление
{
  "matches": [
    {
      object (VehicleMatch)
    }
  ]
}
Поля
matches[]

object ( VehicleMatch )

Список транспортных средств, соответствующих критериям SearchVehiclesRequest , упорядоченных по полю SearchVehiclesRequest.order_by .

Список атрибутов транспортного средства

Тип данных «список списков» для атрибутов транспортного средства.

JSON-представление
{
  "attributes": [
    {
      object (VehicleAttribute)
    }
  ]
}
Поля
attributes[]

object ( VehicleAttribute )

Список атрибутов в этой коллекции.

Транспортное средствоМатчЗаказ

Указывает порядок совпадений транспортных средств в ответе.

Перечисления
UNKNOWN_VEHICLE_MATCH_ORDER По умолчанию, используется для неуказанного или нераспознанного транспортного средства, соответствующего порядку.
PICKUP_POINT_ETA В порядке возрастания времени в пути автомобиля до пункта выдачи.
PICKUP_POINT_DISTANCE В порядке возрастания расстояния проезда автомобиля до пункта выдачи.
DROPOFF_POINT_ETA В порядке возрастания времени движения автомобиля до точки высадки. Этот заказ можно использовать только в том случае, если в запросе указана точка выдачи.
PICKUP_POINT_STRAIGHT_DISTANCE В порядке возрастания по расстоянию по прямой от последнего сообщенного местоположения транспортного средства до точки посадки.
COST В порядке возрастания настроенной стоимости соответствия. Стоимость матча определяется как взвешенный расчет расстояния по прямой и расчетного времени прибытия. Веса устанавливаются со значениями по умолчанию и могут быть изменены для каждого клиента. Если эти веса необходимо изменить для вашего проекта, обратитесь в службу поддержки Google.

ТекущееПоездкиНастоящее

Определяет типы ограничений на текущие поездки автомобиля.

Перечисления
CURRENT_TRIPS_PRESENT_UNSPECIFIED Наличие транспортных средств с рейсами регулируется полем includeBackToBack .
NONE В результатах поиска могут появиться автомобили без поездок. Когда используется это значение, includeBackToBack не может иметь true .
ANY В результаты поиска включаются автомобили, имеющие не более 5 текущих поездок и 10 путевых точек. Когда используется это значение, includeBackToBack не может иметь true .

АвтомобильМатч

Содержит транспортное средство и связанные с ним оценки, соответствующие точкам активных поездок для транспортного средства SearchVehiclesRequest .

JSON-представление
{
  "vehicle": {
    object (Vehicle)
  },
  "vehiclePickupEta": string,
  "vehiclePickupDistanceMeters": integer,
  "vehiclePickupStraightLineDistanceMeters": integer,
  "vehicleDropoffEta": string,
  "vehiclePickupToDropoffDistanceMeters": integer,
  "tripType": enum (TripType),
  "vehicleTripsWaypoints": [
    {
      object (Waypoint)
    }
  ],
  "vehicleMatchType": enum (VehicleMatchType),
  "requestedOrderedBy": enum (VehicleMatchOrder),
  "orderedBy": enum (VehicleMatchOrder)
}
Поля
vehicle

object ( Vehicle )

Необходимый. Автомобиль, соответствующий запросу.

vehiclePickupEta

string ( Timestamp format)

Расчетное время прибытия автомобиля до пункта выдачи, указанного в заявке. Пустое значение указывает на сбой в расчете ETA для транспортного средства. Если SearchVehiclesRequest.include_back_to_back имеет значение true и у этого транспортного средства есть активная поездка, vehiclePickupEta включает время, необходимое для завершения текущей активной поездки.

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

vehiclePickupDistanceMeters

integer

Расстояние от текущего местоположения Транспортного средства до точки посадки, указанной в запросе, включая любые промежуточные точки посадки или высадки для существующих поездок. Это расстояние включает в себя рассчитанное расстояние вождения (маршрута) плюс расстояние по прямой между конечной точкой навигации и запрошенной точкой посадки. (Расстояние между конечной точкой навигации и запрошенной точкой посадки обычно невелико.) Пустое значение указывает на ошибку при расчете расстояния.

vehiclePickupStraightLineDistanceMeters

integer

Необходимый. Расстояние по прямой между автомобилем и пунктом выдачи, указанным в заявке.

vehicleDropoffEta

string ( Timestamp format)

Расчетное время прибытия всего транспортного средства до точки возврата, указанной в заявке. Расчетное время прибытия включает остановку в любых путевых точках до dropoffPoint , указанной в запросе. Значение будет заполнено только в том случае, если в запросе указана точка высадки. Пустое значение указывает на ошибку расчета расчетного времени прибытия.

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

vehiclePickupToDropoffDistanceMeters

integer

Расстояние движения автомобиля (в метрах) от точки посадки до точки выдачи, указанной в заявке. Расстояние указывается только между двумя точками и не включает в себя местоположение транспортного средства или любые другие точки, которые необходимо посетить до того, как транспортное средство достигнет пункта посадки или пункта высадки. Значение будет заполнено только в том случае, если в запросе указан dropoffPoint . Пустое значение указывает на сбой в расчете расстояния от точки посадки до точки высадки, указанной в запросе.

tripType

enum ( TripType )

Необходимый. Тип поездки запроса, который использовался для расчета расчетного времени прибытия до точки посадки.

vehicleTripsWaypoints[]

object ( Waypoint )

Упорядоченный список путевых точек, используемых для расчета расчетного времени прибытия. В списке указывается местоположение транспортного средства, точки получения активных поездок автомобиля, а также точки получения, указанные в запросе. Пустой список указывает на сбой в расчете ETA для автомобиля.

vehicleMatchType

enum ( VehicleMatchType )

Тип автомобиля соответствует.

requestedOrderedBy

enum ( VehicleMatchOrder )

Запрошенный заказ на сортировку автомобилей соответствует.

orderedBy

enum ( VehicleMatchOrder )

Фактический порядок, который использовался для этого автомобиля. Обычно это соответствует полю orderBy из запроса; однако в определенных обстоятельствах, например, при внутренней ошибке сервера, может использоваться другой метод (например, PICKUP_POINT_STRAIGHT_DISTANCE ).

Путевая точка

Описывает промежуточные точки на маршруте для VehicleMatch в SearchVehiclesResponse . Эта концепция представлена ​​как TripWaypoint во всех других конечных точках.

JSON-представление
{
  "latLng": {
    object (LatLng)
  },
  "eta": string
}
Поля
latLng

object ( LatLng )

Местоположение этой путевой точки.

eta

string ( Timestamp format)

Расчетное время прибытия транспортного средства в эту точку маршрута.

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

Тип соответствия транспортного средства

Тип автомобиля соответствует.

Перечисления
UNKNOWN Неизвестный тип соответствия транспортного средства
EXCLUSIVE В настоящее время транспортному средству не назначена поездка, и он может проследовать к месту посадки.
BACK_TO_BACK Транспортное средство в настоящее время назначено на поездку, но может проследовать к месту посадки после завершения текущей поездки. Расчеты расчетного времени прибытия и расстояния учитывают существующую поездку.
CARPOOL Автомобиль имеет достаточную вместимость для совместной поездки.
CARPOOL_BACK_TO_BACK Транспортное средство завершит текущую активную поездку, прежде чем отправиться к месту посадки. Расчеты расчетного времени прибытия и расстояния учитывают существующую поездку.