Liệt kê xe giao hàng

Tài liệu này mô tả cách đăng thông tin về xe giao hàng.

Môi trường và giới hạn

Bạn có thể liệt kê các phương tiện phân phối từ môi trường máy chủ hoặc trình duyệt. Tài xế SDK không hỗ trợ việc đăng thông tin về xe giao hàng.

Phương tiện giao hàng trang thông tin yêu cầu quyền tiếp cận rộng rãi vào xe giao hàng và chỉ dành cho người dùng đáng tin cậy. Sử dụng mã thông báo Đọc xe giao hàng hoặc Quản trị viên phân phối bằng công cụ xe khi tạo yêu cầu danh sách xe giao hàng.

Các phương tiện phân phối được liệt kê có các trường sau đây bị loại bỏ do ảnh hưởng đến kích thước phản hồi:

  • CurrentRouteSegment
  • RemainingVehicleJourneySegments

Cách sử dụng

Bạn có thể liệt kê xe theo bộ lọc thuộc tính và giới hạn khung nhìn. Nếu bạn không chỉ định bộ lọc hoặc khung nhìn, thì phản hồi sẽ bao gồm tất cả các phương tiện phân phối.

Danh sách có bộ lọc thuộc tính

Bạn có thể liệt kê xe giao hàng bằng bộ lọc theo tài sản attributes của xe. Ví dụ: để truy vấn một thuộc tính có khoá my_key và giá trị my_value, hãy sử dụng attributes.my_key = my_value. Để truy vấn nhiều thuộc tính, hãy kết hợp các truy vấn thông qua các toán tử logic ANDOR như trong attributes.key1 = value1 AND attributes.key2 = value2. Hãy xem nội dung mô tả đầy đủ trong AIP-160 về cú pháp truy vấn lọc. Nếu bạn kết hợp bộ lọc với giới hạn khung nhìn, bộ lọc sẽ đóng vai trò là toán tử AND cho giới hạn khung nhìn. Xem Bộ lọc thuộc tính xe để biết thông tin chi tiết.

Danh sách có giới hạn khung nhìn

Bạn có thể lọc xe giao hàng được liệt kê theo vị trí bằng cách sử dụng tham số yêu cầu viewport. Tham số yêu cầu viewport xác định khung nhìn bằng cách sử dụng hai toạ độ giới hạn: một cặp toạ độ vĩ độ và kinh độ high (bắc đông) và low (tây nam). Yêu cầu sẽ bị từ chối nếu chứa vĩ độ cao thấp hơn vĩ độ thấp về mặt địa lý.

Liệt kê các câu trả lời

Theo mặc định, danh sách xe giao hàng được phân trang bằng kích thước trang hợp lý. Nếu bạn chỉ định kích thước trang, yêu cầu sẽ chỉ trả về số lượng xe theo giới hạn hoặc ít hơn. Nếu kích thước trang được yêu cầu vượt quá kích thước nội bộ giá trị tối đa, thì giá trị tối đa nội bộ sẽ được sử dụng. Trang mặc định và tối đa đều có kích thước là 100 xe.

Danh sách xe phân phối có thể bao gồm một mã thông báo để đọc trang kết quả tiếp theo. Mã thông báo trang chỉ xuất hiện trong phản hồi khi có thêm trang phân phối phương tiện để truy xuất. Để truy xuất trang tác vụ tiếp theo, hãy sử dụng mã thông báo trang với một yêu cầu giống hệt với yêu cầu trước đó.

Danh sách ví dụ về xe

Bạn có thể sử dụng thư viện gRPC Java hoặc REST để liệt kê xe tải giao hàng ở một khu vực cụ thể có một thuộc tính nhất định. Phản hồi thành công vẫn có thể trống. Khi trường hợp đó xảy ra, có nghĩa là không có phương tiện nào có thuộc tính được chỉ định có trong khung nhìn đã chỉ định.

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"

Nếu tra cứu thành công, phần nội dung phản hồi sẽ chứa dữ liệu có cấu trúc sau:

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

Các bước tiếp theo