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ê xe giao hàng 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 Delivery Fleet Reader hoặc Fleet Engine Mã thông báo của Quản trị viên phân phối khi đưa ra yêu cầu về xe giao hàng theo danh sách.

Xe giao hàng trong danh sách có các trường sau đây bị loại bỏ do tác động của chúng về 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 chỉ định không có bộ lọc hoặc khung nhìn, phản hồi bao gồm tất cả xe giao hàng.

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

Bạn có thể liệt kê các phương tiện giao hàng bằng bộ lọc theo tài sản attributes của phương tiện đó. Để 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 các bộ lọc với giới hạn khung nhìn, bộ lọc đó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 các phương tiện giao hàng có trong danh sách theo địa điểm bằng cách sử dụng 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 giới hạn toạ độ: vĩ độ và kinh độ high (đông bắc) và low (tây nam) cặp toạ độ. Yêu cầu bị từ chối nếu có vĩ độ cao vùng địa lý thấp hơn vĩ độ thấp.

Liệt kê 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, thì yêu cầu chỉ trả về số lượng xe được chỉ định bởi 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 phương tiện giao hàng có thể chứa một mã thông báo để đọc trang tiếp theo của kết quả. 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 tiếp theo của việc cần làm, hãy sử dụng mã thông báo trang với yêu cầu giống hệt với yêu cầu trước đó của bạn.

Liệt kê ví dụ về phương tiện

Bạn có thể dùng thư viện Java gRPC hoặc REST để liệt kê các phương tiện giao hàng trong một khu vực cụ thể với một thuộc tính nhất định. Một phản hồi thành công vẫn có thể là 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;
  }

Kiến trúc chuyển trạng thái đại diện (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, nội dung phản hồi sẽ chứa dữ liệu cùng với cấu trúc:

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

Các bước tiếp theo