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)

Fleet Engine के अनुरोध का स्टैंडर्ड हेडर.

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 कैटगरी वाले VehicleTypes की अनुमति नहीं है.

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.

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

ध्यान दें कि सिर्फ़ वाहन के एट्रिब्यूट (उदाहरण के लिए, 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)

अनुरोध में बताए गए पिकअप पॉइंट तक पहुंचने में, वाहन को लगने वाला अनुमानित समय. खाली वैल्यू का मतलब है कि वाहन के लिए ईटीए का हिसाब नहीं लगाया जा सका. अगर 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)

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

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 फ़िलहाल, वाहन को यात्रा के लिए असाइन किया गया है. हालांकि, यात्रा पूरी होने के बाद, वाहन पिकअप पॉइंट पर जाया जा सकता है. ईटीए और दूरी का हिसाब लगाने के लिए, मौजूदा यात्रा को ध्यान में रखा जाता है.
CARPOOL वाहन में, शेयर की जा सकने वाली राइड के लिए ज़रूरी जगह है.
CARPOOL_BACK_TO_BACK पिकअप पॉइंट पर जाने से पहले, वाहन अपनी मौजूदा यात्रा पूरी कर लेगा. ईटीए और दूरी का हिसाब लगाने के लिए, मौजूदा यात्रा को ध्यान में रखा जाता है.