이 문서에서는 배송 차량을 나열하는 방법을 설명합니다.
환경 및 제한사항
서버 또는 브라우저 환경에서 배송 차량을 나열할 수 있습니다. Driver SDK는 배송 차량 등록을 지원하지 않습니다.
배송 차량 등록은 배송 차량에 대한 광범위한 액세스를 요청하며 신뢰할 수 있는 사용자만 사용할 수 있습니다. 배송 Fleet 리더 또는 Fleet Engine 사용 전송 관리자 토큰을 사용합니다.
나열된 전송 수단은 응답 크기에 미치는 영향으로 인해 다음 필드가 수정됩니다.
CurrentRouteSegment
RemainingVehicleJourneySegments
사용
속성 필터와 표시 영역 경계별로 차량을 나열할 수 있습니다. 만약 필터나 표시 영역이 없으면 응답에 모든 배송 차량이 포함됩니다.
속성 필터가 있는 목록
attributes
속성을 사용하여 필터별로 배송 차량을 나열할 수 있습니다. 대상
예를 들어 my_key
키와 my_value
값으로 속성을 쿼리하려면 다음을 사용합니다.
attributes.my_key = my_value
입니다. 여러 속성을 쿼리하려면 attributes.key1 = value1 AND
attributes.key2 = value2
와 같이 논리 AND
및 OR
연산자를 사용하여 쿼리를 조인합니다. 필터 쿼리 문법에 관한 자세한 설명은 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;
}
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"
조회가 성공하면 응답 본문에 다음과 같은 구조의 데이터가 포함됩니다.
// JSON representation
{
"deliveryVehicles": [
{
object (DeliveryVehicle)
}
],
"nextPageToken": string,
"totalSize": integer
}