Z tego dokumentu dowiesz się, jak dodać pojazdy dostawcze.
Środowiska i ograniczenia
Możesz wyświetlać pojazdy dostawcze w środowisku serwera lub przeglądarki. Pakiet SDK Kierowca nie obsługuje listy pojazdów dostawczych.
Wykazywanie pojazdów dostawczych wymaga szerokiego dostępu do pojazdów dostawczych i jest przeznaczone tylko dla zaufanych użytkowników. Podczas wysyłania żądań dotyczących listy pojazdów dostawczych używaj tokenów Delivery Fleet Reader lub Fleet Engine Delivery Admin.
W przypadku wymienionych kanałów dostawy usuwamy te pola, ponieważ mają one wpływ na rozmiar odpowiedzi:
CurrentRouteSegment
RemainingVehicleJourneySegments
Wykorzystanie
Możesz wyświetlać listę pojazdów według filtrów atrybutów i granic widoku. Jeśli nie określisz żadnego filtra ani widoku, odpowiedź będzie zawierać wszystkie kanały dostawy.
Lista z filtrami atrybutów
Możesz wyświetlić pojazdy dostawcze, filtrując je według właściwości attributes
. Aby na przykład zapytać o atrybut o kluczu my_key
i wartości my_value
, użyj wyrażenia attributes.my_key = my_value
. Aby zapytać o kilka atrybutów, połącz zapytania za pomocą operatorów logicznych AND
i OR
, jak w przypadku zapytania attributes.key1 = value1 AND
attributes.key2 = value2
. Pełny opis składni zapytania filtra znajdziesz w artykule AIP-160. Jeśli połączysz filtry z ograniczeniami widoku, filtr będzie działać jak operator AND
w przypadku ograniczenia widoku. Szczegółowe informacje znajdziesz w sekcji zapytań filtra atrybutów pojazdu.
Lista z ograniczeniami widoku
Możesz filtrować wymienione pojazdy dostawcze według lokalizacji za pomocą parametru viewport
żądania. Parametr żądania viewport
definiuje widok za pomocą 2 współrzędnych ograniczających: pary współrzędnych szerokości i długości geograficznej high
(północny wschód) i low
(południowy zachód). Żądania zawierające wysoką szerokość geograficzną, która jest geograficznie niższa niż niska szerokość geograficzna, są odrzucane.
Odpowiedzi
Listy pojazdów dostawczych są domyślnie dzielone na strony przy użyciu odpowiedniego rozmiaru strony. Jeśli określisz rozmiar strony, żądanie zwróci tylko liczbę pojazdów określoną przez limit lub mniejszą. Jeśli żądany rozmiar strony przekracza wewnętrzną wartość maksymalną, jest używana wewnętrzna wartość maksymalna. Domyślna i maksymalna liczba pojazdów na stronie to 100.
Lista pojazdów dostawczych może zawierać token umożliwiający wyświetlenie następnej strony wyników. Token strony jest obecny w odpowiedzi tylko wtedy, gdy do pobrania jest więcej stron pojazdów dostawczych. Aby pobrać kolejną stronę zadań, użyj tokenu strony w żądaniu, które jest identyczne z poprzednim żądaniem.
Przykłady listy pojazdów
Aby wyświetlić listę pojazdów dostawczych w określonym regionie z określonym atrybutem, możesz użyć biblioteki Java gRPC lub interfejsu REST. Odpowiedź o powodzeniu może być pusta. Oznacza to, że w wybranym widoku nie ma żadnych pojazdów z wybranym atrybutem.
Java
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;
}
REST
# 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"
Jeśli wyszukiwanie się powiedzie, treść odpowiedzi będzie zawierać dane o tej strukturze:
// JSON representation
{
"deliveryVehicles": [
{
object (DeliveryVehicle)
}
],
"nextPageToken": string,
"totalSize": integer
}