Method: providers.vehicles.search

แสดงรายการยานพาหนะที่ตรงกับตัวเลือกคำขอ

คำขอ HTTP

POST https://fleetengine.googleapis.com/v1/{parent=providers/*}/vehicles:search

URL ใช้ไวยากรณ์การแปลง gRPC

พารามิเตอร์เส้นทาง

พารามิเตอร์
parent

string

ต้องระบุ ต้องอยู่ในรูปแบบ providers/{provider} ผู้ให้บริการต้องเป็นรหัสโปรเจ็กต์ (เช่น sample-cloud-project) ของโปรเจ็กต์ Google Cloud ซึ่งบัญชีบริการที่เรียกใช้การโทรนี้เป็นสมาชิก

เนื้อหาของคำขอ

เนื้อหาของคำขอมีข้อมูลซึ่งมีโครงสร้างต่อไปนี้

การแสดง JSON
{
  "header": {
    object (RequestHeader)
  },
  "pickupPoint": {
    object (TerminalLocation)
  },
  "dropoffPoint": {
    object (TerminalLocation)
  },
  "pickupRadiusMeters": integer,
  "count": integer,
  "minimumCapacity": integer,
  "tripTypes": [
    enum (TripType)
  ],
  "maximumStaleness": string,
  "vehicleTypes": [
    {
      object (VehicleType)
    }
  ],
  "requiredAttributes": [
    {
      object (VehicleAttribute)
    }
  ],
  "requiredOneOfAttributes": [
    {
      object (VehicleAttributeList)
    }
  ],
  "requiredOneOfAttributeSets": [
    {
      object (VehicleAttributeList)
    }
  ],
  "orderBy": enum (VehicleMatchOrder),
  "includeBackToBack": boolean,
  "tripId": string,
  "currentTripsPresent": enum (CurrentTripsPresent),
  "filter": string
}
ช่อง
header

object (RequestHeader)

ส่วนหัวของคำขอ Fleet Engine มาตรฐาน

pickupPoint

object (TerminalLocation)

ต้องระบุ จุดรับสินค้าที่จะค้นหาใกล้ๆ

dropoffPoint

object (TerminalLocation)

สถานที่ส่งของลูกค้าที่ต้องการ ต้องกรอกข้อมูลในช่องนี้หาก tripTypes มี TripType.SHARED

pickupRadiusMeters

integer

ต้องระบุ กำหนดรัศมีการค้นหารถรอบๆ จุดรับ ระบบจะแสดงเฉพาะยานพาหนะที่อยู่ในรัศมีการค้นหาเท่านั้น ค่าต้องอยู่ระหว่าง 400 ถึง 10,000 เมตร (รวม)

count

integer

ต้องระบุ ระบุจำนวนสูงสุดของยานพาหนะที่จะส่งคืน ค่าต้องอยู่ระหว่าง 1 ถึง 50 (รวม)

minimumCapacity

integer

ต้องระบุ ระบุจำนวนผู้โดยสารที่ต้องใช้ในการเดินทาง ค่าต้องมากกว่าหรือเท่ากับ 1 ไม่ได้พิจารณาคนขับในค่าความจุ

tripTypes[]

enum (TripType)

ต้องระบุ แสดงประเภทการเดินทางที่เสนอ ต้องมีเพียงประเภทเดียว ไม่อนุญาต UNKNOWN_TRIP_TYPE จำกัดการค้นหาไว้เฉพาะยานพาหนะที่รองรับการเดินทางประเภทนี้เท่านั้น

maximumStaleness

string (Duration format)

จำกัดการค้นหาเฉพาะยานพาหนะที่ส่งการอัปเดตตำแหน่งไปยัง Fleet Engine ภายในระยะเวลาที่กำหนด ยานพาหนะที่อยู่นิ่งที่ยังคงส่งข้อมูลตำแหน่งอยู่ไม่ถือว่าไม่มีอัปเดต หากไม่ได้ตั้งค่าช่องนี้ เซิร์ฟเวอร์จะใช้ 5 นาทีเป็นค่าเริ่มต้น

ระยะเวลาเป็นวินาทีที่มีเลขเศษส่วนไม่เกิน 9 หลัก ลงท้ายด้วย "s" เช่น "3.5s"

vehicleTypes[]

object (VehicleType)

ต้องระบุ จำกัดการค้นหาเฉพาะยานพาหนะที่มีหนึ่งในประเภทที่ระบุ ต้องระบุประเภทยานพาหนะอย่างน้อย 1 ประเภท ไม่อนุญาตให้ใช้ยานพาหนะประเภท UNKNOWN

requiredAttributes[]

object (VehicleAttribute)

ผู้โทรจะสร้างการดำเนินการเชิงตรรกะที่ซับซ้อนได้โดยใช้การผสมช่อง requiredAttributes, requiredOneOfAttributes และ requiredOneOfAttributeSets

requiredAttributes เป็นรายการ ส่วน requiredOneOfAttributes ใช้ข้อความที่อนุญาตลิสต์รายการ เมื่อใช้ร่วมกัน ทั้ง 2 ฟิลด์จะช่วยให้สามารถเขียนนิพจน์นี้ได้

(requiredAttributes[0] AND requiredAttributes[1] AND ...)
AND
(requiredOneOfAttributes[0][0] OR requiredOneOfAttributes[0][1] OR
...)
AND
(requiredOneOfAttributes[1][0] OR requiredOneOfAttributes[1][1] OR
...)

จำกัดการค้นหาเฉพาะยานพาหนะที่มีแอตทริบิวต์ที่ระบุ ช่องนี้เป็นการดำเนินการเชื่อม/และ มีแอตทริบิวต์ที่ต้องระบุได้สูงสุด 50 รายการ ซึ่งเท่ากับจำนวนแอตทริบิวต์สูงสุดที่อนุญาตในยานพาหนะ 1 คัน

requiredOneOfAttributes[]

object (VehicleAttributeList)

จำกัดการค้นหาเฉพาะยานพาหนะที่มีแอตทริบิวต์ที่ระบุอย่างน้อย 1 รายการใน VehicleAttributeList แต่ละรายการ ในแต่ละรายการ ยานพาหนะต้องตรงกับแอตทริบิวต์อย่างน้อย 1 รายการ ช่องนี้เป็นการดำเนินการแยก/หรือ "รวม" ใน VehicleAttributeList แต่ละรายการและการดําเนินการผนวก/AND ในคอลเล็กชันของ VehicleAttributeList

requiredOneOfAttributeSets[]

object (VehicleAttributeList)

requiredOneOfAttributeSets มีฟังก์ชันเพิ่มเติม

เช่นเดียวกับ requiredOneOfAttributes requiredOneOfAttributeSets จะใช้ข้อความที่อนุญาตลิสต์รายการ โดยอนุญาตนิพจน์อย่างเช่นรายการนี้

(requiredAttributes[0] AND requiredAttributes[1] AND ...)
AND
(
  (requiredOneOfAttributeSets[0][0] AND
  requiredOneOfAttributeSets[0][1] AND
  ...)
  OR
  (requiredOneOfAttributeSets[1][0] AND
  requiredOneOfAttributeSets[1][1] AND
  ...)
)

จำกัดการค้นหาเฉพาะยานพาหนะที่มีแอตทริบิวต์ทั้งหมดใน VehicleAttributeList ยานพาหนะต้องตรงกับแอตทริบิวต์ทั้งหมดภายในแต่ละรายการ ช่องนี้เป็นการดำเนินการเชื่อม/และใน VehicleAttributeList แต่ละรายการและการดำเนินงานแบบ Disjunction/OR ทั้งหมดในคอลเล็กชันของ VehicleAttributeList

orderBy

enum (VehicleMatchOrder)

ต้องระบุ ระบุเกณฑ์การจัดลำดับที่ต้องการสำหรับผลลัพธ์

includeBackToBack

boolean

ข้อมูลนี้บ่งชี้ว่ายานพาหนะที่มีการเดินทางเพียงครั้งเดียวมีสิทธิ์สำหรับการค้นหานี้หรือไม่ ระบบจะใช้ช่องนี้เมื่อไม่ได้ระบุ currentTripsPresent เท่านั้น เมื่อไม่ได้ระบุ currentTripsPresent และช่องนี้คือ false ยานพาหนะที่มีการเดินทางที่กำหนดจะไม่รวมอยู่ในผลการค้นหา เมื่อไม่ได้ระบุ currentTripsPresent และช่องนี้คือ true ผลการค้นหาอาจมียานพาหนะที่มีการเดินทางที่ใช้งานอยู่ 1 รายการซึ่งมีสถานะ ENROUTE_TO_DROPOFF เมื่อระบุ currentTripsPresent แล้ว ช่องนี้จะตั้งค่าเป็นจริงไม่ได้

ค่าเริ่มต้นคือ false

tripId

string

ระบุการเดินทางที่เกี่ยวข้องกับ SearchVehicleRequest นี้

currentTripsPresent

enum (CurrentTripsPresent)

ข้อมูลนี้ระบุว่ายานพาหนะที่มีการเดินทางที่ใช้งานอยู่มีสิทธิ์ใช้การค้นหานี้หรือไม่ ต้องตั้งค่านี้เป็นอย่างอื่นที่ไม่ใช่ CURRENT_TRIPS_PRESENT_UNSPECIFIED หาก tripType มี SHARED

filter

string

ไม่บังคับ ตัวกรองการค้นหาที่ใช้เมื่อค้นหายานพาหนะ ดูตัวอย่างไวยากรณ์ของตัวกรองได้ที่ http://aip.dev/160

ช่องนี้ออกแบบมาเพื่อแทนที่ช่อง requiredAttributes, requiredOneOfAttributes และ required_one_of_attributes_sets หากมีการระบุค่าที่ไม่ว่างเปล่าที่นี่ ช่องต่อไปนี้ต้องว่างเปล่า: requiredAttributes, requiredOneOfAttributes และ required_one_of_attributes_sets

ตัวกรองนี้จะทำหน้าที่เป็นคำสั่ง "และ" ที่มีข้อจำกัดอื่นๆ เช่น minimumCapacity หรือ vehicleTypes

โปรดทราบว่าการค้นหาที่รองรับมีแค่ในแอตทริบิวต์ยานพาหนะเท่านั้น (เช่น attributes.<key> = <value> หรือ attributes.<key1> = <value1> AND attributes.<key2> = <value2>) จำนวนข้อจำกัดสูงสุดที่อนุญาตในการค้นหาตามตัวกรองคือ 50

นอกจากนี้ แอตทริบิวต์ทั้งหมดจะจัดเก็บเป็นสตริง ดังนั้นการเปรียบเทียบกับแอตทริบิวต์ที่รองรับจึงเป็นการเปรียบเทียบสตริงเท่านั้น ในการเปรียบเทียบกับตัวเลขหรือค่าบูลีน ค่าจะต้องได้รับการยกข้อความมาอย่างชัดเจนเพื่อให้ถือว่าเป็นสตริง (เช่น attributes.<key> = "10" หรือ attributes.<key> = "true")

เนื้อหาการตอบกลับ

vehicles.search ข้อความตอบกลับ

หากทำสำเร็จ เนื้อหาการตอบกลับจะมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้

การแสดง JSON
{
  "matches": [
    {
      object (VehicleMatch)
    }
  ]
}
ช่อง
matches[]

object (VehicleMatch)

รายการยานพาหนะที่ตรงกับเกณฑ์SearchVehiclesRequest โดยเรียงลำดับตามช่องSearchVehiclesRequest.order_by

VehicleAttributeList

ประเภทข้อมูลของรายการสําหรับแอตทริบิวต์ยานพาหนะ

การแสดง JSON
{
  "attributes": [
    {
      object (VehicleAttribute)
    }
  ]
}
ช่อง
attributes[]

object (VehicleAttribute)

รายการแอตทริบิวต์ในคอลเล็กชันนี้

VehicleMatchOrder

ระบุลำดับของยานพาหนะที่ตรงกันในการตอบกลับ

Enum
UNKNOWN_VEHICLE_MATCH_ORDER ค่าเริ่มต้น ใช้สำหรับลำดับการจับคู่ยานพาหนะที่ไม่ได้ระบุหรือไม่รู้จัก
PICKUP_POINT_ETA ลำดับจากน้อยไปมากโดยใช้เวลาขับรถไปยังจุดรับสินค้า
PICKUP_POINT_DISTANCE ลำดับจากน้อยไปมากตามระยะทางขับรถไปยังจุดรับสินค้า
DROPOFF_POINT_ETA ลำดับจากน้อยไปมากตามเวลาในการขับยานพาหนะไปยังจุดส่ง ลำดับนี้จะใช้ได้เฉพาะเมื่อมีการระบุจุดส่งในคำขอเท่านั้น
PICKUP_POINT_STRAIGHT_DISTANCE ลำดับจากน้อยไปมากตามระยะทางแบบเส้นตรงจากตำแหน่งที่รายงานล่าสุดของยานพาหนะไปยังจุดรับสินค้า
COST เรียงลำดับจากน้อยไปมากตามค่าใช้จ่ายการจับคู่ที่กำหนดค่าไว้ การจับคู่ต้นทุนหมายถึงการคำนวณแบบถ่วงน้ำหนักระหว่างระยะทางเส้นตรงกับเวลาถึงโดยประมาณ น้ำหนักมีการตั้งค่าด้วยค่าเริ่มต้น และสามารถแก้ไขได้ต่อลูกค้า 1 ราย โปรดติดต่อทีมสนับสนุนของ Google หากจำเป็นต้องแก้ไขน้ำหนักเหล่านี้สำหรับโปรเจ็กต์ของคุณ

CurrentTripsPresent

ระบุประเภทของข้อจำกัดในการเดินทางปัจจุบันของยานพาหนะ

Enum
CURRENT_TRIPS_PRESENT_UNSPECIFIED ความพร้อมให้บริการของยานพาหนะที่มีการเดินทางจะอยู่ในบังคับของฟิลด์ includeBackToBack
NONE ยานพาหนะที่ไม่มีการเดินทางอาจปรากฏในผลการค้นหา เมื่อใช้ค่านี้ includeBackToBack จะเป็น true ไม่ได้
ANY ยานพาหนะที่มีการเดินทางในปัจจุบันไม่เกิน 5 รายการและจุดอ้างอิง 10 แห่งจะรวมอยู่ในผลการค้นหา เมื่อใช้ค่านี้ includeBackToBack จะเป็น true ไม่ได้

VehicleMatch

มียานพาหนะและค่าประมาณที่เกี่ยวข้องของยานพาหนะที่ตรงกับจุดการเดินทางที่ใช้งานอยู่ของยานพาหนะ SearchVehiclesRequest

การแสดง JSON
{
  "vehicle": {
    object (Vehicle)
  },
  "vehiclePickupEta": string,
  "vehiclePickupDistanceMeters": integer,
  "vehiclePickupStraightLineDistanceMeters": integer,
  "vehicleDropoffEta": string,
  "vehiclePickupToDropoffDistanceMeters": integer,
  "tripType": enum (TripType),
  "vehicleTripsWaypoints": [
    {
      object (Waypoint)
    }
  ],
  "vehicleMatchType": enum (VehicleMatchType),
  "requestedOrderedBy": enum (VehicleMatchOrder),
  "orderedBy": enum (VehicleMatchOrder)
}
ช่อง
vehicle

object (Vehicle)

ต้องระบุ ยานพาหนะที่ตรงกับคำขอ

vehiclePickupEta

string (Timestamp format)

เวลาถึงโดยประมาณของรถที่จะขับไปยังจุดรับที่ระบุไว้ในคำขอ ค่าว่างหมายความว่าคำนวณเวลาถึงโดยประมาณของยานพาหนะไม่สำเร็จ หาก SearchVehiclesRequest.include_back_to_back เดิมคือtrueและยานพาหนะนี้มีการเดินทางที่ใช้งานอยู่ vehiclePickupEta จะรวมเวลาที่ต้องใช้ในการเดินทางที่ใช้งานอยู่ในปัจจุบัน

การประทับเวลาจะอยู่ในรูปแบบ RFC3339 UTC "Zulu" ที่มีความละเอียดระดับนาโนวินาทีและมีตัวเลขที่เป็นเศษส่วนได้สูงสุด 9 หลัก ตัวอย่าง: "2014-10-02T15:01:23Z" และ "2014-10-02T15:01:23.045123456Z"

vehiclePickupDistanceMeters

integer

ระยะทางจากตำแหน่งปัจจุบันของยานพาหนะไปยังจุดรับสินค้าที่ระบุไว้ในคำขอ รวมถึงจุดรับของหรือจุดส่งของการเดินทางที่มีอยู่ ระยะทางนี้ประกอบไปด้วยระยะทางขับรถ (เส้นทาง) ที่คำนวณไว้ บวกกับระยะทางในแนวตรงระหว่างจุดสิ้นสุดของการนำทางและจุดรับคำขอที่ขอ (โดยทั่วไปจะมีระยะทางระหว่างจุดสิ้นสุดการนำทางและจุดรับสินค้าที่ขอมักจะน้อย) ค่าว่างหมายถึงเกิดข้อผิดพลาดในการคำนวณระยะทาง

vehiclePickupStraightLineDistanceMeters

integer

ต้องระบุ ระยะทางในแนวตรงระหว่างยานพาหนะและจุดรับสินค้าที่ระบุไว้ในคำขอ

vehicleDropoffEta

string (Timestamp format)

เวลาถึงโดยประมาณในการขับขี่ยานพาหนะที่สมบูรณ์ไปยังจุดส่งที่ระบุไว้ในคำขอ เวลาถึงโดยประมาณรวมถึงการหยุดที่จุดอ้างอิงก่อนถึง dropoffPoint ที่ระบุไว้ในคำขอ ค่าจะปรากฏขึ้นเมื่อมีการระบุจุดส่งในคำขอเท่านั้น ค่าว่างหมายถึงเกิดข้อผิดพลาดในการคำนวณเวลาถึงโดยประมาณ

การประทับเวลาจะอยู่ในรูปแบบ RFC3339 UTC "Zulu" ที่มีความละเอียดระดับนาโนวินาทีและมีตัวเลขที่เป็นเศษส่วนได้สูงสุด 9 หลัก ตัวอย่าง: "2014-10-02T15:01:23Z" และ "2014-10-02T15:01:23.045123456Z"

vehiclePickupToDropoffDistanceMeters

integer

ระยะทางที่รถวิ่งได้ (หน่วยเป็นเมตร) จากจุดรับสินค้าถึงจุดส่งที่ระบุไว้ในคำขอ ระยะทางจะอยู่ระหว่าง 2 จุดเท่านั้น โดยไม่รวมตำแหน่งของยานพาหนะหรือจุดอื่นๆ ที่ต้องเข้าชมก่อนที่ยานพาหนะจะไปยังจุดรับสินค้าหรือจุดส่ง ระบบจะเติมค่าเมื่อมีการระบุ dropoffPoint ในคำขอเท่านั้น ค่าว่างหมายความว่าคำนวณระยะทางจากจุดรับไปถึงจุดส่งที่ระบุไว้ในคำขอไม่สำเร็จ

tripType

enum (TripType)

ต้องระบุ ประเภทการเดินทางของคำขอที่ใช้ในการคำนวณเวลาถึงโดยประมาณไปยังจุดรับสินค้า

vehicleTripsWaypoints[]

object (Waypoint)

รายการเรียงลำดับของจุดอ้างอิงที่ใช้ในการคำนวณ ETA รายการดังกล่าวรวมถึงตำแหน่งของยานพาหนะ จุดรับของการเดินทางที่ใช้งานอยู่สำหรับยานพาหนะ และจุดรับสินค้าที่ระบุไว้ในคำขอ รายการที่ว่างเปล่าแสดงว่าการคำนวณเวลาถึงโดยประมาณของรถล้มเหลว

vehicleMatchType

enum (VehicleMatchType)

ประเภทยานพาหนะที่ตรงกัน

requestedOrderedBy

enum (VehicleMatchOrder)

คำสั่งที่ขอในการจัดเรียงยานพาหนะที่ตรงกัน

orderedBy

enum (VehicleMatchOrder)

คำสั่งซื้อจริงที่ใช้สำหรับยานพาหนะนี้ โดยปกติแล้ว ค่านี้จะตรงกับช่อง "orderBy" จากคำขอ แต่ในบางกรณี เช่น ข้อผิดพลาดภายในเซิร์ฟเวอร์ อาจมีการใช้วิธีการอื่น (เช่น PICKUP_POINT_STRAIGHT_DISTANCE)

จุดบอกทาง

อธิบายจุดกึ่งกลางตลอดเส้นทางสำหรับ VehicleMatch ใน SearchVehiclesResponse แนวคิดนี้จะแสดงเป็น TripWaypoint ในปลายทางอื่นๆ ทั้งหมด

การแสดง JSON
{
  "latLng": {
    object (LatLng)
  },
  "eta": string
}
ช่อง
latLng

object (LatLng)

ตำแหน่งของจุดอ้างอิงนี้

eta

string (Timestamp format)

เวลาโดยประมาณที่ยานพาหนะจะมาถึงจุดอ้างอิงนี้

การประทับเวลาจะอยู่ในรูปแบบ RFC3339 UTC "Zulu" ที่มีความละเอียดระดับนาโนวินาทีและมีตัวเลขที่เป็นเศษส่วนได้สูงสุด 9 หลัก ตัวอย่าง: "2014-10-02T15:01:23Z" และ "2014-10-02T15:01:23.045123456Z"

VehicleMatchType

ประเภทยานพาหนะที่ตรงกัน

Enum
UNKNOWN ประเภทการจับคู่ยานพาหนะที่ไม่รู้จัก
EXCLUSIVE ขณะนี้รถยังไม่มีการกำหนดการเดินทาง และสามารถไปยังจุดรับสินค้าได้
BACK_TO_BACK ขณะนี้มีการกำหนดยานพาหนะสำหรับการเดินทางแล้ว แต่สามารถไปยังจุดรับสินค้าได้หลังจากการเดินทางที่อยู่ระหว่างดำเนินการเสร็จสมบูรณ์แล้ว การคำนวณเวลาถึงโดยประมาณและระยะทางจะคำนึงถึงการเดินทางปัจจุบัน
CARPOOL ยานพาหนะมีความจุเพียงพอสำหรับการเดินทางร่วมกัน
CARPOOL_BACK_TO_BACK พาหนะจะสิ้นสุดการเดินทางปัจจุบันที่ใช้งานอยู่ก่อนที่จะไปยังจุดรับสินค้า การคำนวณเวลาถึงโดยประมาณและระยะทางจะคำนึงถึงการเดินทางปัจจุบัน