เอกสารนี้อธิบายวิธีแสดงยานพาหนะสำหรับจัดส่ง
สภาพแวดล้อมและข้อจำกัด
คุณสามารถแสดงยานพาหนะสำหรับนำส่งจากสภาพแวดล้อมเซิร์ฟเวอร์หรือเบราว์เซอร์ได้ Driver SDK ไม่รองรับการแสดงยานพาหนะนำส่ง
การระบุยานพาหนะนำส่งเป็นการขอสิทธิ์เข้าถึงยานพาหนะนำส่งอย่างกว้างๆ และมีไว้สำหรับผู้ใช้ที่เชื่อถือได้เท่านั้น ใช้โทเค็น Delivery Fleet Reader หรือ Fleet Engine Admin เมื่อส่งคําขอยานพาหนะสำหรับนำส่งรายการ
ยานพาหนะที่ใช้ในการนำส่งที่ระบุไว้จะมีช่องต่อไปนี้ปกปิดเนื่องจากส่งผลต่อขนาดคำตอบ
CurrentRouteSegment
RemainingVehicleJourneySegments
การใช้งาน
คุณสามารถแสดงยานพาหนะตามตัวกรองแอตทริบิวต์และขอบเขตวิวพอร์ตได้ หากคุณไม่ได้ระบุตัวกรองหรือวิวพอร์ต คำตอบจะรวมทุกช่องทางการแสดงโฆษณา
รายการที่มีตัวกรองแอตทริบิวต์
คุณสามารถแสดงยานพาหนะนำส่งตามตัวกรองได้โดยใช้พร็อพเพอร์ตี้ attributes
เช่น หากต้องการค้นหาแอตทริบิวต์ที่มีคีย์ my_key
และค่า my_value
ให้ใช้ attributes.my_key = my_value
หากต้องการค้นหาแอตทริบิวต์หลายรายการ ให้รวมการค้นหาโดยใช้โอเปอเรเตอร์ตรรกะ AND
และ OR
ดังตัวอย่างใน attributes.key1 = value1 AND
attributes.key2 = value2
ดูคำอธิบายไวยากรณ์คำค้นหาตัวกรองแบบเต็มได้ที่ AIP-160 หากคุณรวมตัวกรองเข้ากับขอบเขตวิวพอร์ต ตัวกรองจะทําหน้าที่เป็นโอเปอเรเตอร์ AND
กับขอบเขตวิวพอร์ต ดูรายละเอียดได้ที่การกรองข้อความค้นหาแอตทริบิวต์ยานพาหนะ
รายการที่มีขอบเขตวิวพอร์ต
คุณกรองยานพาหนะนำส่งที่แสดงตามสถานที่ตั้งได้โดยใช้พารามิเตอร์ viewport
request
พารามิเตอร์คำขอ viewport
จะกำหนดวิวพอร์ตโดยใช้พิกัดขอบเขต 2 รายการ ได้แก่ คู่พิกัดละติจูด high
(ตะวันออกเฉียงเหนือ) และลองจิจูด low
(ตะวันตกเฉียงใต้) ระบบจะปฏิเสธคำขอที่มีละติจูดสูงซึ่งต่ำกว่าละติจูดต่ำทางภูมิศาสตร์
แสดงรายการคำตอบ
ระบบจะแบ่งรายการยานพาหนะนำส่งเป็นหน้าๆ โดยค่าเริ่มต้นโดยใช้ขนาดหน้าที่เหมาะสม หากคุณระบุขนาดหน้า คำขอจะแสดงเฉพาะจำนวนยานพาหนะที่ระบุตามขีดจำกัดหรือน้อยกว่านั้น หากขนาดหน้าเว็บที่ขอเกินค่าสูงสุดภายใน ระบบจะใช้ค่าสูงสุดภายใน ขนาดหน้าเริ่มต้นและสูงสุดคือ 100 คัน
รายการยานพาหนะนำส่งอาจมีโทเค็นสําหรับการอ่านผลการค้นหาหน้าถัดไป โทเค็นหน้าจะแสดงในการตอบกลับก็ต่อเมื่อมียานพาหนะการนำส่งในหน้าอื่นๆ ที่จะดึงข้อมูลได้ หากต้องการเรียกข้อมูลหน้าถัดไปของงาน ให้ใช้โทเค็นหน้าเว็บกับคำขอที่เหมือนกับคำขอก่อนหน้า
แสดงตัวอย่างยานพาหนะ
คุณสามารถใช้ไลบรารี gRPC ของ Java หรือ 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
}