配送車両の一覧表示

このドキュメントでは、配達車両を一覧表示する方法について説明します。

環境と制限

サーバーまたはブラウザ環境から配送車両を一覧表示できます。ドライバー SDK は配信車両のリストをサポートしていません。

配達車両のリストを取得すると、配達車両への幅広いアクセスがリクエストされ、 信頼できるユーザーのみを対象とするものです。Delivery Fleet Reader または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 リクエスト パラメータは 2 つの境界を使用してビューポートを定義する 座標: high(北東)と low(南西)の緯度と経度 あります。リクエストに高い緯度が含まれている場合、リクエストは拒否されます 地理的に低い位置に送られます

レスポンスを一覧表示する

デフォルトでは、車両リストは適切なページサイズでページ分けされます。条件 ページサイズを指定すると、車両の数のみが返されます。 最大数です。リクエストされたページサイズが内部サイズ 内部最大値が使用されます。デフォルト ページと最大ページ いずれも 100 台です

配達車両リストには、配達車両の次のページを読み取るためのトークンを含めることができます。 表示されます。ページトークンは、配信ページが増える場合にのみレスポンスに含まれます。 車両を回収することができます。タスクの次のページを取得するには、次のコマンドを使用します。 リクエストを含むページトークンが、それ以外は リクエストできます。

車両の例を一覧表示する

Java gRPC ライブラリまたは REST を使用して、 特定の属性を持つ特定の地域に限定されます。それでもレスポンスが成功すると、 空です。その場合、指定した属性を持つ車両が 指定したビューポート内に存在していることになります。

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"

ルックアップが成功すると、レスポンスの本文には次のデータが含まれます。 ストラクチャ:

  // JSON representation
  {
    "deliveryVehicles": [
      {
        object (DeliveryVehicle)
      }
    ],
    "nextPageToken": string,
    "totalSize": integer
  }

次のステップ