Method: providers.vehicles.search

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

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

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

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

पाथ पैरामीटर

पैरामीटर
parent

string

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

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

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

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)

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

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)

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

सेकंड में कुल नौ दशमलव अंक, जो '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
...)

इस नीति से, सिर्फ़ बताए गए एट्रिब्यूट वाले वाहनों को ही खोजा जा सकता है. यह फ़ील्ड एक संयोजन/AND कार्रवाई है. ज़्यादा से ज़्यादा 50 ज़रूरी एट्रिब्यूट की अनुमति है. यह वाहन के लिए तय की गई ज़्यादा से ज़्यादा संख्या से मेल खाती है.

requiredOneOfAttributes[]

object (VehicleAttributeList)

इस नीति से सिर्फ़ उन वाहनों को खोजा जा सकता है जिनमें हर VehicleAttributeList में, कम से कम एक खास एट्रिब्यूट मौजूद हो. हर सूची में शामिल वाहन, कम से कम किसी एक एट्रिब्यूट से मेल खाना चाहिए. यह फ़ील्ड, हर VehicleAttributeList में एक इनक्लूसिव डिसजंक्शन/OR ऑपरेशन है. साथ ही, यह VehicleAttributeList के कलेक्शन में से कोई एक कंपोज़िशन/AND ऑपरेशन है.

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 में एक कंपोज़िशन/AND ऑपरेशन है. साथ ही, यह 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.

यह फ़िल्टर, अन्य कंस्ट्रेंट के साथ 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

वाहन के उस क्रम को बताता है जो रिस्पॉन्स में मेल खाता है.

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 वाहन के लिए, चालू यात्राओं के पॉइंट से मेल खाने वाले वाहन और उससे जुड़े अनुमान शामिल होते हैं.

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)

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

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

vehiclePickupDistanceMeters

integer

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

vehiclePickupStraightLineDistanceMeters

integer

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

vehicleDropoffEta

string (Timestamp format)

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

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

vehiclePickupToDropoffDistanceMeters

integer

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

tripType

enum (TripType)

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

vehicleTripsWaypoints[]

object (Waypoint)

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

vehicleMatchType

enum (VehicleMatchType)

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

requestedOrderedBy

enum (VehicleMatchOrder)

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

orderedBy

enum (VehicleMatchOrder)

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

वेपॉइंट

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

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

object (LatLng)

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

eta

string (Timestamp format)

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

आरएफ़सी3339 यूटीसी "ज़ुलु" में टाइमस्टैंप फ़ॉर्मैट, नैनोसेकंड रिज़ॉल्यूशन और ज़्यादा से ज़्यादा नौ फ़्रैक्शनल अंकों के साथ हो सकता है. उदाहरण: "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 और दूरी का हिसाब लगाने के लिए, मौजूदा यात्रा को ध्यान में रखा जाता है.