|
इस दस्तावेज़ में, वाहन से जुड़े उन अहम फ़ील्ड के बारे में बताया गया है जिन्हें वाहन बनाते और मैनेज करते समय अपडेट किया जा सकता है.
|
वाहन के फ़ील्ड की पूरी सूची देखने के लिए, यहां जाएं:
|
वाहन की स्थिति वाला फ़ील्ड
आपका सिस्टम, वाहन की स्थिति को OFFLINE या ONLINE पर सेट कर सकता है. उदाहरण के लिए, आपके पास हर दिन सुबह 9 बजे वाहन की स्थिति को ONLINE और हर दिन शाम 5 बजे OFFLINE पर सेट करने का विकल्प है.
| ऑफ़लाइन मोड | ऑनलाइन मोड |
|---|---|
OFFLINE का इस्तेमाल करके बताएं कि कोई वाहन नई यात्राएं स्वीकार नहीं कर रहा है. ध्यान दें कि इस स्थिति में भी वाहन, असाइन की गई यात्राएं पूरी कर सकता है. |
|
वाहन के एट्रिब्यूट वाला फ़ील्ड
वाहन के attributes फ़ील्ड का इस्तेमाल करके, अपनी पसंद के मुताबिक शर्तें बनाएं. इससे आपके उपभोक्ताओं या फ़्लीट ऑपरेटर को, खोज की कई शर्तों के आधार पर आपके फ़्लीट में मौजूद वाहन ढूंढने में मदद मिलेगी. इससे आपके ऐप्लिकेशन की क्षमताएं बेहतर होती हैं. साथ ही, सिर्फ़ अन्य वाहन फ़ील्ड के आधार पर खोज की शर्तों का इस्तेमाल करने के मुकाबले, बेहतर वाहन मैच मिलते हैं. हर वाहन के लिए, ज़्यादा से ज़्यादा 100 एट्रिब्यूट हो सकते हैं. साथ ही, हर एट्रिब्यूट की एक यूनीक कुंजी होनी चाहिए. वैल्यू, स्ट्रिंग, बूलियन या संख्याएं हो सकती हैं.
उदाहरण के लिए, class नाम का कस्टम एट्रिब्यूट तय करके, राइडशेयर की सुविधा देने वाले वाहनों को उनकी क्लास के हिसाब से अलग-अलग किया जा सकता है. वाहन की क्लास के लेवल दिखाने के लिए, इन स्ट्रिंग वैल्यू का इस्तेमाल किया जा सकता है: ECONOMY, STANDARD, और LUXURY.
हालांकि, कस्टम एट्रिब्यूट की वैल्यू यूनीक होना ज़रूरी नहीं है. इसके लिए, पालतू जानवरों को ले जाने की अनुमति, धूम्रपान की अनुमति नहीं, और लंबी यात्राओं के लिए उपलब्ध जैसी शर्तों का इस्तेमाल किया जा सकता है. इनमें से हर एक, बूलियन वैल्यू का इस्तेमाल करने वाला एक अलग कस्टम एट्रिब्यूट हो सकता है. किसी वाहन को ये तीनों कस्टम एट्रिब्यूट असाइन किए जा सकते हैं. साथ ही, क्लास कस्टम एट्रिब्यूट को सही स्ट्रिंग वैल्यू पर सेट किया जा सकता है.
इस तरह से एट्रिब्यूट का इस्तेमाल करने पर, आपको कई तरह की सुविधाएं मिल सकती हैं. इनसे आपको अपनी खास ज़रूरतों के हिसाब से, यात्राओं के लिए वाहन ढूंढने में मदद मिलती है. कस्टम एट्रिब्यूट को क्वेरी फ़िल्टर के तौर पर इस्तेमाल करने के तरीके के बारे में जानने के लिए, वाहन खोजें लेख पढ़ें.
वाहन के एट्रिब्यूट अपडेट करना
UpdateVehicle या UpdateVehicleAttributes का इस्तेमाल करके, वाहन के एट्रिब्यूट अपडेट किए जा सकते हैं. हर attributes कुंजी में, हर वाहन के लिए सिर्फ़ एक वैल्यू हो सकती है. फ़ील्ड मास्क में attributes का इस्तेमाल करके, वाहन के कस्टम एट्रिब्यूट की जानकारी दी जाती है. इसके बाद, यहां दिए गए तरीके के आधार पर वैल्यू दी जाती हैं.
UpdateVehicle |
UpdateVehicleAttributes |
|
|---|---|---|
इस एपीआई की मदद से, सिर्फ़ एक एट्रिब्यूट को अपडेट नहीं किया जा सकता. इस तरीके का इस्तेमाल करने पर, फ़ील्ड मास्क में attributes फ़ील्ड का इस्तेमाल करने से, वाहन के लिए वाहन के एट्रिब्यूट के पूरे सेट का फिर से एलान किया जाता है. इससे, पहले से मौजूद ऐसा कोई भी एट्रिब्यूट ओवरराइट हो जाता है जो फ़ील्ड मास्क में साफ़ तौर पर शामिल नहीं है. अगर इस तरीके का इस्तेमाल करके कोई नया कस्टम एट्रिब्यूट तय किया जाता है, तो आपको हर उस कस्टम एट्रिब्यूट के बारे में फिर से बताना होगा जिसे आपको वाहन के लिए बनाए रखना है. अगर फ़ील्ड मास्क में attributes को शामिल नहीं किया जाता है, तो यह तरीका वाहन के लिए पहले से तय किए गए कस्टम एट्रिब्यूट को वैसे ही छोड़ देता है. अगर फ़ील्ड मास्क में attributes का इस्तेमाल किया जाता है, लेकिन वैल्यू सेट नहीं की जाती हैं, तो इसका मतलब है कि वाहन से सभी कस्टम एट्रिब्यूट हटा दिए जाएंगे.
|
यह तरीका, अपडेट किए जाने वाले एट्रिब्यूट की खास सूची को स्वीकार करता है. अनुरोध, सिर्फ़ फ़ील्ड मास्क में बताए गए एट्रिब्यूट को अपडेट करता है या जोड़ता है. पहले से मौजूद ऐसे एट्रिब्यूट जिनमें कोई बदलाव नहीं किया गया है वे पहले जैसे ही रहते हैं. |
वाहन के फ़ील्ड अपडेट करने का उदाहरण
इस सेक्शन में, UpdateVehicleRequest का इस्तेमाल करके वाहन के फ़ील्ड अपडेट करने का तरीका बताया गया है. इसमें update_mask शामिल है, जिससे यह पता चलता है कि किन फ़ील्ड को अपडेट करना है. ज़्यादा जानकारी के लिए, फ़ील्ड मास्क पर प्रोटोकॉल बफ़र का दस्तावेज़ देखें.
last_location के अलावा अन्य फ़ील्ड में बदलाव करने के लिए, Fleet Engine On-demand Admin के खास अधिकार होने चाहिए.
उदाहरण: यात्रा का नया टाइप और कस्टम एट्रिब्यूट चालू करना
इस उदाहरण में, वाहन के लिए back_to_back यात्राएं चालू की गई हैं. साथ ही, एक नया एट्रिब्यूट भी बताया गया है: class. जैसा कि पहले वाहन के एट्रिब्यूट अपडेट करें में बताया गया है, इस तरीके का इस्तेमाल करके attributes फ़ील्ड को अपडेट करने के लिए, आपको उन सभी कस्टम एट्रिब्यूट की जानकारी देनी होगी जिन्हें आपको बनाए रखना है. इसलिए, उदाहरण में cash_only वैल्यू दिखाई गई है. इसे इसलिए लिखा गया है, ताकि अपडेट करने की कार्रवाई के दौरान इसे ओवरराइट होने से बचाया जा सके. इस कार्रवाई में, attributes फ़ील्ड की जानकारी दी जाती है.
सिर्फ़ एक की-वैल्यू एट्रिब्यूट पेयर की वैल्यू अपडेट करने के लिए, UpdateVehicleAttributes तरीके का इस्तेमाल करें. साथ ही, UpdateVehicle अनुरोध के लिए फ़ील्ड मास्क में attribute फ़ील्ड को शामिल न करें.
gRPC और REST के लिए, providers.vehicles.update का रेफ़रंस देखें.
gRPC
static final String PROJECT_ID = "project-id";
static final String VEHICLE_ID = "vid-8241890";
VehicleServiceBlockingStub vehicleService = VehicleService.newBlockingStub(channel);
String vehicleName = "providers/" + PROJECT_ID + "/vehicles/" + VEHICLE_ID;
Vehicle updatedVehicle = Vehicle.newBuilder()
.setVehicleState(VehicleState.ONLINE)
.addAllAttributes(ImmutableList.of(
VehicleAttribute.newBuilder().setKey("class").setValue("ECONOMY").build(),
VehicleAttribute.newBuilder().setKey("cash_only").setValue("false").build()))
.setBackToBackEnabled(true)
.build();
UpdateVehicleRequest updateVehicleRequest = UpdateVehicleRequest.newBuilder()
.setName(vehicleName)
.setVehicle(updatedVehicle)
.setUpdateMask(FieldMask.newBuilder()
.addPaths("vehicle_state")
.addPaths("attributes")
.addPaths("back_to_back_enabled"))
.build();
try {
Vehicle updatedVehicle =
vehicleService.updateVehicle(updateVehicleRequest);
} catch (StatusRuntimeException e) {
Status s = e.getStatus();
switch (s.getCode()) {
case NOT_FOUND:
// Most implementations will call CreateVehicle in this case
break;
case PERMISSION_DENIED:
break;
}
return;
}
// If no Exception, Vehicle updated successfully.
आराम का समय
curl -X PUT \
"https://fleetengine.googleapis.com/v1/providers/project-id/vehicles/vid-8241890?updateMask=vehicle_state,attributes,back_to_back_enabled" \
-H "Authorization: Bearer $JWT" \
-H "Content-Type: application/json" \
--data-binary @- << EOM
{
"vehicleState": "ONLINE",
"attributes": [
{"key": "class", "value": "LUXURY"},
{"key": "cash_only", "value": "false"}
],
"backToBackEnabled": true
}
EOM