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 ประเภท ไม่อนุญาตให้ใช้ VehicleTypes ที่มีหมวดหมู่เป็น 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
...)

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

requiredOneOfAttributes[]

object (VehicleAttributeList)

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

requiredOneOfAttributeSets[]

object (VehicleAttributeList)

requiredOneOfAttributeSets มีฟังก์ชันการทำงานเพิ่มเติม

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

(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 ยานพาหนะต้องตรงกับแอตทริบิวต์ทั้งหมดภายในแต่ละรายการ ช่องนี้เป็นการดำเนินการแบบรวม/AND ใน VehicleAttributeList แต่ละรายการและการดำเนินการแบบรวม/OR ที่ไม่รวมในคอลเล็กชัน VehicleAttributeList

orderBy

enum (VehicleMatchOrder)

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

includeBackToBack

boolean

ข้อมูลนี้ระบุว่ายานพาหนะที่เดินทางอยู่ 1 เที่ยวมีสิทธิ์สำหรับการค้นหานี้หรือไม่ ระบบจะใช้ช่องนี้เฉพาะในกรณีที่ไม่ได้ระบุ 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 ต้องว่างเปล่า

ตัวกรองนี้ทํางานเป็นเงื่อนไข AND ที่มีข้อจํากัดอื่นๆ เช่น 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 เรียงจากน้อยไปมากตามต้นทุนการจับคู่ที่กำหนดค่าไว้ ต้นทุนการจับคู่หมายถึงการคำนวณที่มีน้ำหนักระหว่างระยะทางตรงกับเวลาถึงโดยประมาณ น้ำหนักจะตั้งค่าด้วยค่าเริ่มต้นและสามารถแก้ไขได้ต่อลูกค้า โปรดติดต่อทีมสนับสนุนของ 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)

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

vehicleMatchType

enum (VehicleMatchType)

ประเภทการจับคู่ยานพาหนะ

requestedOrderedBy

enum (VehicleMatchOrder)

ลำดับที่ขอสำหรับการจัดเรียงการจับคู่ยานพาหนะ เทียบเท่ากับ orderedBy

orderedBy

enum (VehicleMatchOrder)

ลำดับที่ขอสำหรับการจัดเรียงการจับคู่ยานพาหนะ เทียบเท่ากับ requestedOrderedBy

จุดบอกทาง

อธิบายจุดพักระหว่างทางในเส้นทางของ 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 ยานพาหนะจะขับขี่ให้เสร็จสิ้นก่อนไปยังจุดรับ การคำนวณเวลาถึงโดยประมาณและระยะทางจะพิจารณาการเดินทางที่มีอยู่