В этом документе описывается, как составить список транспортных средств для доставки.
Окружающая среда и ограничения
Вы можете просматривать список транспортных средств доставки с сервера или из браузера. SDK драйверов не поддерживает просмотр списка транспортных средств доставки.
Для создания списка транспортных средств доставки требуется широкий доступ к ним, и он предназначен только для доверенных пользователей. Для создания запросов на список транспортных средств доставки используйте токены Delivery Fleet Reader или Fleet Engine Delivery Admin .
В списке средств доставки следующие поля отредактированы, поскольку они влияют на размер ответа:
-
CurrentRouteSegment
-
RemainingVehicleJourneySegments
Использование
Вы можете отсортировать транспортные средства по фильтрам атрибутов и границам области просмотра. Если не указать фильтр или область просмотра, ответ будет включать все транспортные средства доставки.
Список с фильтрами атрибутов
Вы можете отфильтровать транспортные средства доставки, используя их свойство attributes
. Например, чтобы запросить атрибут с ключом my_key
и значением my_value
, используйте attributes.my_key = my_value
. Для запроса нескольких атрибутов объедините запросы логическими операторами AND
и OR
, например, attributes.key1 = value1 AND attributes.key2 = value2
. Полное описание синтаксиса запросов с фильтрами см. в AIP-160. При объединении фильтров с границами области просмотра фильтр действует как оператор AND
для границы области просмотра. Подробнее см. в разделе Запросы с фильтрами атрибутов транспортных средств .
Список с границами области просмотра
Вы можете фильтровать список транспортных средств доставки по местоположению с помощью параметра запроса viewport
. Параметр запроса viewport
определяет области просмотра, используя две граничные координаты: high
(северо-восток) и low
(юго-запад) широту и долготу. Запросы отклоняются, если высокая широта географически ниже низкой.
Список ответов
Списки транспортных средств доставки по умолчанию разбиваются на страницы с разумным размером страницы. Если указать размер страницы, запрос вернёт только количество транспортных средств, указанное в лимите, или меньше. Если запрошенный размер страницы превышает внутреннее максимальное значение, используется внутреннее максимальное значение. Размер страницы по умолчанию и максимальный размер страницы составляют 100 транспортных средств.
Список средств доставки может включать токен для чтения следующей страницы результатов. Токен страницы присутствует в ответе только в том случае, если для извлечения доступны дополнительные страницы средств доставки. Чтобы получить следующую страницу задач, используйте токен страницы с запросом, который в остальном идентичен предыдущему.
Перечислите примеры транспортных средств
Вы можете использовать библиотеку Java gRPC или REST для получения списка транспортных средств доставки в определённом регионе с заданным атрибутом. Успешный ответ может быть пустым. В таком случае это означает, что в указанной области просмотра нет транспортных средств с указанным атрибутом.
Ява
static final String PROJECT_ID = "my-delivery-co-gcp-project";
DeliveryServiceBlockingStub deliveryService =
DeliveryServiceGrpc.newBlockingStub(channel);
// Tasks request
String parent = "providers/" + PROJECT_ID;
ListDeliveryVehiclesRequest listDeliveryVehiclesRequest =
ListDeliveryVehiclesRequest.newBuilder() // No need for the header
.setParent(parent)
.setViewport(
Viewport.newBuilder()
.setHigh(LatLng.newBuilder()
.setLatitude(37.45)
.setLongitude(-122.06)
.build())
.setLow(LatLng.newBuilder()
.setLatitude(37.41)
.setLongitude(-122.11)
.build())
.setFilter("attributes.my_key = my_value")
.build();
try {
ListDeliveryVehiclesResponse listDeliveryVehiclesResponse =
deliveryService.listDeliveryVehicles(listDeliveryVehiclesRequest);
} catch (StatusRuntimeException e) {
Status s = e.getStatus();
switch (s.getCode()) {
case NOT_FOUND:
break;
case PERMISSION_DENIED:
break;
}
return;
}
ОТДЫХ
# HTTP request
html GET https://fleetengine.googleapis.com/v1/providers/<project_id>/deliveryVehicles
# Request with a filter
# Request sets JWT, PROJECT_ID, and VEHICLE_ID in the local environment
curl -H "Authorization: Bearer ${JWT}" \
"https://fleetengine.googleapis.com/v1/providers/${PROJECT_ID}/deliveryVehicles?filter=attributes.my_key%20%3D%20my_value%20&viewport.high.latitude=37.45&viewport.high.longitude=-122.06&viewport.low.latitude=37.41&viewport.low.longitude=-122.11"
Если поиск успешен, тело ответа содержит данные со следующей структурой:
// JSON representation
{
"deliveryVehicles": [
{
object (DeliveryVehicle)
}
],
"nextPageToken": string,
"totalSize": integer
}