이 문서에서는 배송 차량을 나열하는 방법을 설명합니다.
환경 및 제한사항
서버 또는 브라우저 환경에서 전송 차량을 나열할 수 있습니다. 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
}