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

(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 รายการ ซึ่งเท่ากับจำนวนแอตทริบิวต์สูงสุดที่อนุญาตในยานพาหนะ

requiredOneOfAttributes[]

object (VehicleAttributeList)

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

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