इस दस्तावेज़ में, वाहन के उन अहम फ़ील्ड के बारे में बताया गया है जिन्हें वाहन बनाते और मैनेज करते समय अपडेट किया जा सकता है.
|
वाहन के फ़ील्ड की पूरी सूची देखने के लिए, यहां जाएं:
|
वाहन की स्थिति वाला फ़ील्ड
आपका सिस्टम, वाहन की स्थिति को 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
शामिल है कि किन फ़ील्ड को अपडेट करना है. ज़्यादा जानकारी के लिए, Protocol Buffers के दस्तावेज़ में फ़ील्ड मास्क देखें.
last_location
फ़ील्ड के अलावा, अन्य फ़ील्ड में बदलाव करने के लिए, Fleet Engine On-demand एडमिन के खास अधिकारों की ज़रूरत होती है.
उदाहरण: यात्रा के नए टाइप और कस्टम एट्रिब्यूट को चालू करना
इस उदाहरण में, वाहन के लिए 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.
REST
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