배송 차량 등록

이 문서에서는 배송 차량을 나열하는 방법을 설명합니다.

환경 및 제한사항

서버 또는 브라우저 환경에서 배송 차량을 등록할 수 있습니다. 드라이버 SDK는 배송 차량 목록을 지원하지 않습니다.

배송 차량을 등록하려면 배송 차량에 대한 광범위한 액세스 권한이 필요하며 신뢰할 수 있는 사용자만 사용할 수 있습니다. 배송 차량 목록 요청을 할 때는 배송 차량 리더 또는 Fleet Engine 배송 관리자 토큰을 사용합니다.

나열된 배송 차량은 응답 크기에 미치는 영향으로 인해 다음 필드가 수정되었습니다.

  • CurrentRouteSegment
  • RemainingVehicleJourneySegments

사용

속성 필터와 뷰포트 경계로 차량을 나열할 수 있습니다. 필터나 뷰포트를 지정하지 않으면 응답에 모든 배송 차량이 포함됩니다.

속성 필터를 사용하여 나열

attributes 속성을 사용하여 필터별로 배송 차량을 나열할 수 있습니다. 예를 들어 키가 my_key이고 값이 my_value인 속성을 쿼리하려면 attributes.my_key = my_value를 사용합니다. 여러 속성을 쿼리하려면 attributes.key1 = value1 AND attributes.key2 = value2와 같이 논리 ANDOR 연산자를 사용하여 쿼리를 조인합니다. 필터 쿼리 구문에 대한 자세한 내용은 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
  }

다음 단계