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
...)

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

requiredOneOfAttributes[]

object (VehicleAttributeList)

จำกัดการค้นหาเฉพาะยานพาหนะที่มีแอตทริบิวต์ที่ระบุอย่างน้อย 1 รายการในแต่ละ VehicleAttributeList ยานพาหนะต้องตรงกับแอตทริบิวต์อย่างน้อย 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

ข้อมูลนี้ระบุว่ายานพาหนะที่เดินทางอยู่ 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 ต้องว่างเปล่า

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