เอกสารนี้ครอบคลุมช่องยานพาหนะที่สำคัญซึ่งคุณเลือกได้ อัปเดตเมื่อสร้างและจัดการยานพาหนะ
|
ดูรายการฟิลด์ยานพาหนะทั้งหมดได้ที่
|
ช่องสถานะของยานพาหนะ
ระบบของคุณสามารถตั้งค่าสถานะของยานพาหนะเป็น OFFLINE
หรือ ONLINE
ได้ ตัวอย่างเช่น คุณสามารถ
อาจตั้งค่าสถานะยานพาหนะเป็น ONLINE
ทุกวัน เวลา 09:00 น. และ OFFLINE
ทุกวัน
ตอน 17:00 น.
โหมดออฟไลน์ | โหมดออนไลน์ |
---|---|
ใช้ OFFLINE เพื่อระบุว่ารถไม่ยอมรับ
การเดินทางใหม่ๆ โปรดทราบว่ารถจะยังคงสามารถเดินทางตามที่ได้รับมอบหมายได้ในขณะที่
ในสถานะนี้ |
|
ช่องแอตทริบิวต์ยานพาหนะ
ใช้ช่อง attributes
ของยานพาหนะเพื่อสร้างเกณฑ์ที่กำหนดเองเพื่อเปิดใช้
ผู้บริโภคหรือผู้ให้บริการกลุ่มรถยนต์เพื่อค้นหายานพาหนะในกลุ่มต่างๆ ได้ในวงกว้าง
เกณฑ์การค้นหาที่หลากหลาย การดำเนินการนี้จะช่วยเพิ่มความสามารถของแอปในการ
ให้ข้อมูลที่ตรงกับยานพาหนะมากขึ้นเมื่อเทียบกับข้อมูลที่คุณได้มาจากการใช้เกณฑ์การค้นหา
อิงตามฟิลด์อื่นๆ ของยานพาหนะเท่านั้น ยานพาหนะแต่ละคันมีได้ไม่เกิน 100 คัน
และแต่ละรายการต้องมีคีย์ที่ไม่ซ้ำกัน ค่าอาจเป็นสตริง
บูลีน หรือหมายเลข
เช่น คุณอาจประกาศแอตทริบิวต์ที่กำหนดเองชื่อ class เพื่อแยกความแตกต่างของยานพาหนะสำหรับบริการร่วมเดินทางตามระดับชั้น คุณควรใช้
ค่าสตริงต่อไปนี้เพื่อแสดงระดับคลาสของยานพาหนะ: ECONOMY
,
STANDARD
และ LUXURY
อย่างไรก็ตาม ค่าแอตทริบิวต์ที่กำหนดเองไม่จำเป็นต้องแยกออกจากกัน คุณอาจ ใช้เกณฑ์ เช่น นำสัตว์เลี้ยงเข้าพักได้ ปลอดบุหรี่ และอยู่ได้นานขึ้น การเดินทาง โดยแต่ละรายการอาจเป็นแอตทริบิวต์ที่กำหนดเองแยกต่างหากซึ่งใช้บูลีน ยานพาหนะหนึ่งๆ อาจได้รับการกำหนดแอตทริบิวต์ที่กำหนดเองทั้ง 3 รายการนี้ พร้อมกับแอตทริบิวต์ที่กำหนดเอง class ที่ตั้งค่าเป็นสตริงค่าที่เหมาะสม
การใช้แอตทริบิวต์ด้วยวิธีนี้จะให้ฟีเจอร์ที่มีประโยชน์มากมาย ค้นหายานพาหนะสำหรับการเดินทางที่มีความต้องการเฉพาะ สำหรับคำแนะนำเกี่ยวกับวิธี หากต้องการใช้แอตทริบิวต์ที่กำหนดเองเป็นตัวกรองการค้นหา โปรดดูค้นหายานพาหนะ
อัปเดตแอตทริบิวต์ยานพาหนะ
คุณสามารถอัปเดตแอตทริบิวต์ยานพาหนะได้โดยใช้ UpdateVehicle
หรือ
UpdateVehicleAttributes
คีย์ attributes
แต่ละคีย์มีได้เพียงค่าเดียวต่อ
ยานพาหนะ คุณประกาศแอตทริบิวต์ยานพาหนะที่กำหนดเองโดยใช้ attributes
ในมาสก์ของช่อง แล้วระบุค่าตามวิธีการด้านล่าง
UpdateVehicle |
UpdateVehicleAttributes |
|
---|---|---|
API นี้ไม่อนุญาตให้อัปเดตเพียงแอตทริบิวต์เดียว เมื่อใช้
วิธีนี้ การใช้ attributes
ในมาสก์ฟิลด์จะให้ผลลัพธ์ทั้งชุดของ
แอตทริบิวต์ยานพาหนะที่ต้องประกาศอีกครั้งสำหรับยานพาหนะดังกล่าว ซึ่งส่งผลให้เกิด
แทนแอตทริบิวต์ที่มีอยู่ก่อนแล้ว ซึ่งไม่ได้รวมอยู่ใน
ถ้าคุณใช้วิธีนี้เพื่อประกาศแอตทริบิวต์ที่กำหนดเองใหม่
คุณยังต้องประกาศแอตทริบิวต์ที่กำหนดเองทุกรายการที่คุณต้องการให้ยานพาหนะ
เก็บรักษา หากคุณยกเว้น attributes ในมาสก์ของช่อง
วิธีนี้จะทำให้มีแอตทริบิวต์ที่กำหนดเองที่มีอยู่ตามที่กำหนดไว้ก่อนหน้านี้
สำหรับยานพาหนะ หากใช้ attributes ในมาสก์ของช่อง
แต่ไม่ได้ตั้งค่า ก็เท่ากับ
การนำโฆษณาที่กำหนดเองออกทั้งหมด
จากยานพาหนะ
|
เมธอดนี้ยอมรับรายการที่เฉพาะเจาะจงของแอตทริบิวต์ที่จะอัปเดต คำขอจะอัปเดตหรือเพิ่มเฉพาะแอตทริบิวต์ที่ระบุไว้ ในมาสก์ของช่อง แอตทริบิวต์ที่มีอยู่แล้วที่ไม่ได้ระบุจะยังคงอยู่ ไม่เปลี่ยนแปลง |
ตัวอย่างการอัปเดตฟิลด์ยานพาหนะ
ส่วนนี้จะแสดงวิธีอัปเดตฟิลด์ยานพาหนะโดยใช้ UpdateVehicleRequest
ซึ่งจะประกอบด้วย update_mask
เพื่อระบุว่าฟิลด์ใดที่ต้องอัปเดต โปรดดู
ดูรายละเอียดในเอกสารบัฟเฟอร์ของโปรโตคอลในฟิลด์มาสก์
การอัปเดตช่องอื่นๆ นอกเหนือจาก last_location
ต้องใช้ Fleet Engine On-demand
สิทธิ์ของผู้ดูแลระบบ
ตัวอย่าง: เปิดใช้ประเภทการเดินทางใหม่และแอตทริบิวต์ที่กำหนดเอง
ตัวอย่างนี้เปิดใช้การเดินทาง back_to_back
สำหรับยานพาหนะและระบุ
แอตทริบิวต์ใหม่: class
ตามที่ระบุไว้ในการอัปเดตแอตทริบิวต์ยานพาหนะก่อนหน้านี้
การอัปเดตช่อง attributes
โดยใช้วิธีนี้กำหนดให้คุณต้องระบุ
แอตทริบิวต์ที่กำหนดเองที่ต้องการเก็บไว้ ดังนั้นตัวอย่างจะแสดง cash_only
ค่าที่เขียนไว้เพื่อป้องกันไม่ให้ถูกเขียนทับในระหว่างการอัปเดต
ที่ระบุฟิลด์ attributes
หากต้องการอัปเดตเฉพาะค่าของคู่คีย์-ค่าคู่เดียว ให้ใช้พารามิเตอร์
เมธอด UpdateVehicleAttributes
แทน และอย่าใส่ช่อง attribute
ในมาสก์ของช่องสำหรับคำขอ UpdateVehicle
ดูข้อมูลอ้างอิง providers.vehicles.update
สำหรับ gRPC และ REST
gRPC
static final String PROJECT_ID = "project-id";
static final String VEHICLE_ID = "vid-8241890";
VehicleServiceBlockingStub vehicleService = VehicleService.newBlockingStub(channel);
String vehicleName = "providers/" + PROJECT_ID + "/vehicles/" + VEHICLE_ID;
Vehicle updatedVehicle = Vehicle.newBuilder()
.setVehicleState(VehicleState.ONLINE)
.addAllAttributes(ImmutableList.of(
VehicleAttribute.newBuilder().setKey("class").setValue("ECONOMY").build(),
VehicleAttribute.newBuilder().setKey("cash_only").setValue("false").build()))
.setBackToBackEnabled(true)
.build();
UpdateVehicleRequest updateVehicleRequest = UpdateVehicleRequest.newBuilder()
.setName(vehicleName)
.setVehicle(updatedVehicle)
.setUpdateMask(FieldMask.newBuilder()
.addPaths("vehicle_state")
.addPaths("attributes")
.addPaths("back_to_back_enabled"))
.build();
try {
Vehicle updatedVehicle =
vehicleService.updateVehicle(updateVehicleRequest);
} catch (StatusRuntimeException e) {
Status s = e.getStatus();
switch (s.getCode()) {
case NOT_FOUND:
// Most implementations will call CreateVehicle in this case
break;
case PERMISSION_DENIED:
break;
}
return;
}
// If no Exception, Vehicle updated successfully.
REST
curl -X PUT \
"https://fleetengine.googleapis.com/v1/providers/project-id/vehicles/vid-8241890?updateMask=vehicle_state,attributes,back_to_back_enabled" \
-H "Authorization: Bearer $JWT" \
-H "Content-Type: application/json" \
--data-binary @- << EOM
{
"vehicleState": "ONLINE",
"attributes": [
{"key": "class", "value": "LUXURY"},
{"key": "cash_only", "value": "false"}
],
"backToBackEnabled": true
}
EOM