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ê xe giao hàng bằng bộ lọc theo tài sản attributes
của xe. Cho
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 AND
và OR
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
}