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