Method: providers.vehicles.search

अनुरोध के विकल्पों से मेल खाने वाले वाहनों की सूची दिखाता है.

एचटीटीपी अनुरोध

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

यह यूआरएल gRPC ट्रांसकोडिंग सिंटैक्स का इस्तेमाल करता है.

पाथ के पैरामीटर

पैरामीटर
parent

string

ज़रूरी है. providers/{provider} फ़ॉर्मैट में होना चाहिए. सेवा देने वाली कंपनी को उस Google Cloud प्रोजेक्ट का प्रोजेक्ट आईडी (उदाहरण के लिए, sample-cloud-project) होना चाहिए जिसका सेवा खाता सदस्य के तौर पर कॉल किया जा रहा है.

अनुरोध का मुख्य भाग

अनुरोध के मुख्य हिस्से में, इस तरह का डेटा शामिल होता है:

जेएसओएन के काेड में दिखाना
{
  "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)

स्टैंडर्ड फ़्लीट इंजन अनुरोध हेडर.

pickupPoint

object (TerminalLocation)

ज़रूरी है. आस-पास मौजूद पिकअप की जगह.

dropoffPoint

object (TerminalLocation)

ग्राहक जिस जगह से सामान छोड़ना चाहता है. अगर tripTypes में TripType.SHARED है, तो फ़ील्ड को भरना ज़रूरी है.

pickupRadiusMeters

integer

ज़रूरी है. पिकअप पॉइंट के आस-पास वाहन की खोज के दायरे के बारे में बताता है. सिर्फ़ खोज के दायरे में आने वाले वाहन दिखाए जाएंगे. वैल्यू, 400 से 10,000 मीटर (दोनों शामिल) के बीच होनी चाहिए.

count

integer

ज़रूरी है. इससे यह पता चलता है कि ज़्यादा से ज़्यादा कितने वाहन लौटाए जा सकते हैं. वैल्यू, 1 से 50 के बीच होनी चाहिए.

minimumCapacity

integer

ज़रूरी है. उन यात्रियों की संख्या बताता है जिन्हें यात्रा के लिए माना जा रहा है. वैल्यू, एक से ज़्यादा या उसके बराबर होनी चाहिए. ड्राइवर को कपैसिटी वैल्यू में शामिल नहीं किया गया है.

tripTypes[]

enum (TripType)

ज़रूरी है. सुझाई गई यात्रा के टाइप के बारे में जानकारी. सटीक रूप से एक प्रकार शामिल होना चाहिए. UNKNOWN_TRIP_TYPE की अनुमति नहीं है. खोज को सिर्फ़ उन वाहनों तक सीमित करता है जो उस यात्रा के टाइप के साथ काम कर सकते हैं.

maximumStaleness

string (Duration format)

इस नीति के तहत, खोज को सिर्फ़ उन वाहनों के लिए सीमित किया जाता है जिन्होंने तय अवधि के दौरान, Fleet Engine को जगह की जानकारी से जुड़े अपडेट भेजे हों. एक जगह से दूसरी जगह पर पहुंचने वाले स्टेशनरी वाहनों को पुराना नहीं माना जाता. अगर यह फ़ील्ड सेट नहीं है, तो सर्वर डिफ़ॉल्ट वैल्यू के तौर पर पांच मिनट इस्तेमाल करता है.

सेकंड में दी गई अवधि, जिसमें नौ भिन्नांक हो सकते हैं. साथ ही, यह 's' पर खत्म होता है. उदाहरण: "3.5s".

vehicleTypes[]

object (VehicleType)

ज़रूरी है. किसी खास टाइप के वाहनों की खोज को सीमित करता है. कम से कम एक वाहन का टाइप बताना ज़रूरी है. 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 requiredAttributes का इस्तेमाल किया जा सकता है. यह संख्या, वाहन के लिए इस्तेमाल किए जा सकने वाले एट्रिब्यूट की ज़्यादा से ज़्यादा संख्या से मेल खाती है.

requiredOneOfAttributes[]

object (VehicleAttributeList)

खोज को सिर्फ़ उन वाहनों तक सीमित करता है जिनमें हर VehicleAttributeList में, बताए गए एट्रिब्यूट में से कम से कम एक एट्रिब्यूट मौजूद हो. हर सूची में, वाहन को कम से कम एक एट्रिब्यूट से मेल खाना चाहिए. यह फ़ील्ड, हर VehicleAttributeList में शामिल डिसजंक्शन/OR ऑपरेशन होता है. साथ ही, यह 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 में मौजूद कॉम्बिनेशन/और ऐक्शन है. साथ ही, VehicleAttributeList को इकट्ठा करने के दौरान, इसमें डिसजंक्शन/OR ऑपरेशन भी शामिल होता है.

orderBy

enum (VehicleMatchOrder)

ज़रूरी है. नतीजों को क्रम से लगाने की ज़रूरी शर्तें बताता है.

includeBackToBack

boolean

इससे पता चलता है कि एक ही यात्रा से जुड़े वाहन इस खोज के लिए इस्तेमाल किए जा सकते हैं या नहीं. इस फ़ील्ड का इस्तेमाल सिर्फ़ तब किया जाता है, जब currentTripsPresent के बारे में जानकारी न दी गई हो. अगर currentTripsPresent की वैल्यू सेट नहीं की गई है और इस फ़ील्ड में false है, तो असाइन की गई यात्रा वाले वाहनों को खोज के नतीजों में शामिल नहीं किया जाता. अगर currentTripsPresent के बारे में नहीं बताया गया है और इस फ़ील्ड में true है, तो खोज के नतीजों में एक चालू यात्रा वाले वे वाहन शामिल हो सकते हैं जिनका स्टेटस ENROUTE_TO_DROPOFF है. currentTripsPresent के बारे में बताने पर, इस फ़ील्ड को 'सही' पर सेट नहीं किया जा सकता.

डिफ़ॉल्ट वैल्यूfalse है

tripId

string

इस SearchVehicleRequest से जुड़ी यात्रा की जानकारी देता है.

currentTripsPresent

enum (CurrentTripsPresent)

इससे पता चलता है कि चालू यात्रा वाले वाहन इस खोज के लिए इस्तेमाल किए जा सकते हैं या नहीं. अगर tripType में SHARED शामिल है, तो इसे CURRENT_TRIPS_PRESENT_UNSPECIFIED के बजाय किसी अन्य पर सेट करना चाहिए.

filter

string

ज़रूरी नहीं. वाहनों की खोज करते समय लागू की जाने वाली फ़िल्टर क्वेरी. फ़िल्टर सिंटैक्स के उदाहरण देखने के लिए, http://aip.dev/160 पर जाएं.

इस फ़ील्ड को requiredAttributes, requiredOneOfAttributes, और required_one_of_attributes_sets फ़ील्ड को बदलने के लिए डिज़ाइन किया गया है. अगर यहां ऐसी वैल्यू दी गई है जो खाली नहीं है, तो ये फ़ील्ड खाली होने चाहिए: requiredAttributes, requiredOneOfAttributes, और required_one_of_attributes_sets.

यह फ़िल्टर, minimumCapacity या vehicleTypes जैसी अन्य कंस्ट्रेंट के साथ एक AND क्लॉज़ के रूप में काम करता है.

ध्यान दें कि क्वेरी के लिए सिर्फ़ वाहन के एट्रिब्यूट (जैसे, attributes.<key> = <value> या attributes.<key1> = <value1> AND attributes.<key2> = <value2>) का इस्तेमाल किया जा सकता है. किसी फ़िल्टर क्वेरी में ज़्यादा से ज़्यादा 50 पाबंदियां हो सकती हैं.

साथ ही, सभी एट्रिब्यूट, स्ट्रिंग के तौर पर सेव किए जाते हैं. इसलिए, एट्रिब्यूट के लिए सिर्फ़ स्ट्रिंग तुलनाएं की जा सकती हैं. संख्या या बूलियन वैल्यू से तुलना करने के लिए, वैल्यू को स्ट्रिंग (उदाहरण के लिए, attributes.<key> = "10" या attributes.<key> = "true") के तौर पर माना जाना चाहिए. इसके लिए, वैल्यू को साफ़ तौर पर कोट किया जाना चाहिए.

जवाब का मुख्य भाग

vehicles.search जवाब वाला मैसेज.

अगर एपीआई सही से जुड़ जाता है, ताे जवाब के मुख्य भाग में नीचे दिए गए स्ट्रक्चर शामिल होता है.

जेएसओएन के काेड में दिखाना
{
  "matches": [
    {
      object (VehicleMatch)
    }
  ]
}
फ़ील्ड
matches[]

object (VehicleMatch)

SearchVehiclesRequest की शर्तों को पूरा करने वाले वाहनों की सूची. इन्हें SearchVehiclesRequest.order_by फ़ील्ड के हिसाब से क्रम में लगाया गया है.

VehicleAttributeList

वाहन की विशेषताओं के लिए, सूचियों की सूची वाला डेटा टाइप.

जेएसओएन के काेड में दिखाना
{
  "attributes": [
    {
      object (VehicleAttribute)
    }
  ]
}
फ़ील्ड
attributes[]

object (VehicleAttribute)

इस कलेक्शन में मौजूद एट्रिब्यूट की सूची.

VehicleMatchOrder

जवाब में वाहन से मेल खाने वाले शब्दों का क्रम बताता है.

Enums
UNKNOWN_VEHICLE_MATCH_ORDER डिफ़ॉल्ट, इसका इस्तेमाल वाहन के मिलान से जुड़े ऐसे ऑर्डर के लिए किया जाता है जिसके बारे में जानकारी नहीं दी गई है या जिसकी पहचान नहीं की जा सकी है.
PICKUP_POINT_ETA वाहन के ज़रिए पिकअप पॉइंट तक पहुंचने में लगने वाले समय के हिसाब से बढ़ते क्रम में.
PICKUP_POINT_DISTANCE वाहन से पिकअप पॉइंट तक की दूरी के हिसाब से बढ़ते क्रम में.
DROPOFF_POINT_ETA वाहन से उतरने की जगह तक वाहन से जाने में लगने वाले समय के हिसाब से बढ़ते क्रम में. इस ऑर्डर का इस्तेमाल सिर्फ़ तब किया जा सकता है, जब अनुरोध में ड्रॉप-ऑफ़ पॉइंट के बारे में बताया गया हो.
PICKUP_POINT_STRAIGHT_DISTANCE वाहन को जिस जगह पिछली बार बताया गया था, उससे पिकअप पॉइंट तक सीधी लाइन की दूरी के हिसाब से बढ़ते क्रम में.
COST कॉन्फ़िगर की गई मैच लागत के हिसाब से बढ़ते क्रम में. मैच कॉस्ट को सीधी लाइन की दूरी और ईटीए के बीच के वेटेज (महत्व) के हिसाब से कैलकुलेट किया जाता है. वेट डिफ़ॉल्ट वैल्यू पर सेट होते हैं और हर ग्राहक के हिसाब से उनमें बदलाव किया जा सकता है. अगर आपके प्रोजेक्ट के लिए इन मोटाई में बदलाव करने की ज़रूरत है, तो कृपया Google सहायता से संपर्क करें.

CurrentTripsPresent

इससे, वाहन की मौजूदा यात्राओं पर लगने वाली पाबंदियों के बारे में पता चलता है.

Enums
CURRENT_TRIPS_PRESENT_UNSPECIFIED यात्रा वाले वाहनों की उपलब्धता, includeBackToBack फ़ील्ड से कंट्रोल होती है.
NONE बिना यात्रा वाले वाहन खोज के नतीजों में दिख सकते हैं. जब इस वैल्यू का इस्तेमाल किया जाता है, तो includeBackToBack, true नहीं हो सकता.
ANY खोज के नतीजों में ऐसी गाड़ियों को शामिल किया जाता है जिनमें ज़्यादा से ज़्यादा पांच मौजूदा यात्राएं और 10 वेपॉइंट हो सकते हैं. जब इस वैल्यू का इस्तेमाल किया जाता है, तो includeBackToBack, true नहीं हो सकता.

VehicleMatch

इसमें ऐसे वाहन के लिए वाहन और उससे जुड़े अनुमान शामिल होते हैं जो SearchVehiclesRequest वाहन के लिए चालू यात्राओं से मेल खाते हैं.

जेएसओएन के काेड में दिखाना
{
  "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)

अनुरोध में बताए गए पिकअप पॉइंट पर वाहन चलाने का ETA. खाली वैल्यू का मतलब है कि वाहन के ईटीए का हिसाब नहीं लगाया जा सका. अगर SearchVehiclesRequest.include_back_to_back true था और यह वाहन चालू यात्रा में है, तो vehiclePickupEta में मौजूदा चालू यात्रा को पूरा करने के लिए ज़रूरी समय शामिल होता है.

RFC3339 यूटीसी "ज़ुलु" फ़ॉर्मैट में एक टाइमस्टैंप, जिसमें नैनोसेकंड का रिज़ॉल्यूशन और नौ फ़्रैक्शनल अंक हो सकते हैं. उदाहरण: "2014-10-02T15:01:23Z" और "2014-10-02T15:01:23.045123456Z".

vehiclePickupDistanceMeters

integer

वाहन की मौजूदा जगह से अनुरोध में बताए गए पिकअप पॉइंट तक की दूरी. इसमें मौजूदा यात्राओं के लिए बीच में आने वाले पिकअप या ड्रॉप-ऑफ़ पॉइंट की जानकारी भी शामिल है. इस दूरी में तय की गई ड्राइविंग (रास्ता) की दूरी शामिल होती है. साथ ही, इसमें नेविगेशन के एंड पॉइंट और अनुरोध किए गए पिकअप पॉइंट के बीच सीधी लाइन की दूरी भी शामिल होती है. (नेविगेशन एंड पॉइंट और अनुरोध किए गए पिकअप पॉइंट के बीच की दूरी आम तौर पर कम होती है.) अगर कोई वैल्यू नहीं दी गई है, तो इसका मतलब है कि दूरी की गिनती करने में गड़बड़ी हुई है.

vehiclePickupStraightLineDistanceMeters

integer

ज़रूरी है. अनुरोध में, वाहन और पिकअप पॉइंट के बीच सीधी दूरी.

vehicleDropoffEta

string (Timestamp format)

अनुरोध में बताए गए ड्रॉप ऑफ़ पॉइंट पर वाहन के चलने का ETA. ETA में, अनुरोध में बताए गए dropoffPoint से पहले किसी भी वेपॉइंट पर रुकना शामिल है. यह वैल्यू सिर्फ़ तब अपने-आप भर जाएगी, जब अनुरोध में ड्रॉप ऑफ़ पॉइंट की जानकारी दी गई हो. खाली वैल्यू का मतलब है कि ईटीए का हिसाब लगाने में गड़बड़ी हुई है.

RFC3339 यूटीसी "ज़ुलु" फ़ॉर्मैट में एक टाइमस्टैंप, जिसमें नैनोसेकंड का रिज़ॉल्यूशन और नौ फ़्रैक्शनल अंक हो सकते हैं. उदाहरण: "2014-10-02T15:01:23Z" और "2014-10-02T15:01:23.045123456Z".

vehiclePickupToDropoffDistanceMeters

integer

अनुरोध में बताए गए पिकअप पॉइंट से ड्रॉप ऑफ़ पॉइंट तक वाहन की ड्राइविंग की दूरी (मीटर में). दूरी सिर्फ़ दो पॉइंट के बीच की है. इसमें, वाहन की जगह या ऐसे अन्य पॉइंट शामिल नहीं हैं जहां वाहन को पिकअप पॉइंट या ड्रॉप-ऑफ़ पॉइंट पर पहुंचने से पहले जाना चाहिए. यह वैल्यू सिर्फ़ तब अपने-आप भर जाएगी, जब अनुरोध में dropoffPoint दिया गया हो. खाली वैल्यू का मतलब है कि अनुरोध में बताए गए, पिक अप और ड्रॉप-ऑफ़ पॉइंट की दूरी का हिसाब नहीं लगाया जा सका.

tripType

enum (TripType)

ज़रूरी है. अनुरोध का वह टाइप जिसका इस्तेमाल, पिक अप पॉइंट तक ETA का हिसाब लगाने के लिए किया गया था.

vehicleTripsWaypoints[]

object (Waypoint)

ईटीए को कैलकुलेट करने के लिए, इस्तेमाल किए गए वेपॉइंट की क्रम वाली सूची. सूची में वाहन की जगह, वाहन के लिए चालू यात्राओं के पिकअप पॉइंट, और अनुरोध में दिए गए पिकअप पॉइंट शामिल हैं. खाली सूची का मतलब है कि वाहन के ईटीए का हिसाब नहीं लगाया जा सका.

vehicleMatchType

enum (VehicleMatchType)

मिलता-जुलता वाहन किस तरह का है.

requestedOrderedBy

enum (VehicleMatchOrder)

मिलते-जुलते वाहन को क्रम से लगाने के लिए, अनुरोध किया गया ऑर्डर.

orderedBy

enum (VehicleMatchOrder)

इस वाहन के लिए इस्तेमाल किया गया असल ऑर्डर. आम तौर पर, यह अनुरोध के 'orderBy' फ़ील्ड से मेल खाता है. हालांकि, कुछ मामलों में अंदरूनी सर्वर की गड़बड़ी जैसी स्थिति में, किसी दूसरे तरीके का इस्तेमाल किया जा सकता है (जैसे कि PICKUP_POINT_STRAIGHT_DISTANCE).

वेपॉइंट

SearchVehiclesResponse में VehicleMatch के लिए किसी रास्ते के बीच के पॉइंट के बारे में बताता है. इस कॉन्सेप्ट को अन्य सभी एंडपॉइंट में, TripWaypoint के तौर पर दिखाया जाता है.

जेएसओएन के काेड में दिखाना
{
  "latLng": {
    object (LatLng)
  },
  "eta": string
}
फ़ील्ड
latLng

object (LatLng)

इस वेपॉइंट की जगह.

eta

string (Timestamp format)

इस वेपॉइंट पर वाहन के पहुंचने का अनुमानित समय.

RFC3339 यूटीसी "ज़ुलु" फ़ॉर्मैट में एक टाइमस्टैंप, जिसमें नैनोसेकंड का रिज़ॉल्यूशन और नौ फ़्रैक्शनल अंक हो सकते हैं. उदाहरण: "2014-10-02T15:01:23Z" और "2014-10-02T15:01:23.045123456Z".

VehicleMatchType

मिलते-जुलते वाहन का टाइप.

Enums
UNKNOWN वाहन के मैच टाइप की जानकारी नहीं है
EXCLUSIVE फ़िलहाल, वाहन के लिए कोई यात्रा असाइन नहीं की गई है. आप पिक अप पॉइंट पर जा सकते हैं.
BACK_TO_BACK फ़िलहाल, वाहन को यात्रा के लिए असाइन किया गया है. हालांकि, जारी यात्रा के बाद गाड़ी को पिकअप करने की जगह पर जाया जा सकता है. ETA और दूरी का हिसाब लगाने के लिए, मौजूदा यात्रा को ध्यान में रखा जाता है.
CARPOOL वाहन में, शेयर की जा सकने वाली राइड के लिए, ज़रूरत के मुताबिक पैसे हों.
CARPOOL_BACK_TO_BACK पिक अप पॉइंट पर जाने से पहले, वाहन अपनी मौजूदा यात्रा को खत्म कर देगा. ETA और दूरी का हिसाब लगाने के लिए, मौजूदा यात्रा को ध्यान में रखा जाता है.