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 की शर्तों से मेल खाने वाले वाहनों की सूची.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 यूटीसी के "Zulu" फ़ॉर्मैट में एक टाइमस्टैंप, नैनोसेकंड रिज़ॉल्यूशन और नौ दशमलव अंकों के साथ. उदाहरण के लिए: "2014-10-02T15:01:23Z" और "2014-10-02T15:01:23.045123456Z".

vehiclePickupDistanceMeters

integer

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

vehiclePickupStraightLineDistanceMeters

integer

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

vehicleDropoffEta

string (Timestamp format)

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

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

orderedBy

enum (VehicleMatchOrder)

वाहन के मैच को क्रम से लगाने के लिए अनुरोध किया गया क्रम. requestedOrderedBy के बराबर.

वेपॉइंट

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

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

object (LatLng)

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

eta

string (Timestamp format)

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

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

VehicleMatchType

वाहन के मैच का टाइप.

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