เอกสารนี้อธิบายวิธีแสดงยานพาหนะสำหรับจัดส่ง
สภาพแวดล้อมและข้อจำกัด
คุณแสดงยานพาหนะสำหรับจัดส่งได้จากสภาพแวดล้อมเซิร์ฟเวอร์หรือเบราว์เซอร์ Driver SDK ไม่รองรับการแสดงยานพาหนะสำหรับจัดส่ง
คำขอแสดงยานพาหนะสำหรับจัดส่งต้องได้รับสิทธิ์เข้าถึงยานพาหนะสำหรับจัดส่งอย่างกว้างขวางและมีไว้สำหรับผู้ใช้ที่เชื่อถือได้เท่านั้น ใช้โทเค็น Delivery Fleet Reader หรือ Fleet Engine Delivery Admin เมื่อส่งคำขอแสดงยานพาหนะสำหรับจัดส่ง
ยานพาหนะสำหรับจัดส่งที่แสดงจะมีช่องต่อไปนี้ถูกปกปิดไว้เนื่องจากอาจส่งผลต่อขนาดการตอบกลับ
CurrentRouteSegmentRemainingVehicleJourneySegments
การใช้งาน
คุณแสดงยานพาหนะได้โดยใช้ตัวกรองแอตทริบิวต์และขอบเขตวิวพอร์ต หากไม่ระบุตัวกรองหรือวิวพอร์ต การตอบกลับจะรวมยานพาหนะสำหรับจัดส่งทั้งหมด
แสดงพร้อมตัวกรองแอตทริบิวต์
คุณแสดงยานพาหนะสำหรับจัดส่งได้โดยกรองโดยใช้พร็อพเพอร์ตี้ attributes ตัวอย่างเช่น หากต้องการค้นหาแอตทริบิวต์ที่มีคีย์ my_key และค่า my_value ให้ใช้
attributes.my_key = my_value หากต้องการค้นหาแอตทริบิวต์หลายรายการ ให้รวมการค้นหา
โดยใช้ตัวดำเนินการตรรกะ AND และ OR เช่น attributes.key1 = value1 AND
attributes.key2 = value2 ดูคำอธิบายแบบเต็มของไวยากรณ์การค้นหาตัวกรองได้ที่ 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
}