वाहन के फ़ील्ड अपडेट करें

इस दस्तावेज़ में वाहन के ज़रूरी फ़ील्ड के बारे में बताया गया है वाहनों को बनाने और मैनेज करने के दौरान इन्हें अपडेट करें.

  • vehicle_state: इससे वाहन की उपलब्धता का पता चलता है नई यात्राओं के लिए.
  • vehicle_type: वाहन बनाते समय ज़रूरी फ़ील्ड. वाहन की मैचिंग के लिए, इस फ़ील्ड को फ़िल्टर करने की शर्त के तौर पर भी इस्तेमाल किया जा सकता है. यहां जाएं: वाहन बनाना देखें.
  • attributes[]: टाइप का वैकल्पिक अरे VehicleAttribute. इस्तेमाल की जाने वाली चीज़ें ताकि उन्हें बेहतर बनाने के लिए, वाहनों को खोजने या उनकी सूची बनाने के दौरान फ़िल्टर करने का तरीका.
 

वाहन के फ़ील्ड की पूरी सूची देखने के लिए, ये देखें:

वाहन के स्टेटस का फ़ील्ड

आपका सिस्टम, वाहन की स्थिति को OFFLINE या ONLINE पर सेट कर सकता है. उदाहरण के लिए, आपके हर दिन सुबह 9 बजे और OFFLINE बजे गाड़ी की स्थिति को ONLINE पर सेट कर सकता है शाम 5 बजे.

ऑफ़लाइन मोड ऑनलाइन मोड
OFFLINE का इस्तेमाल करके बताएं कि कोई वाहन स्वीकार नहीं कर रहा है नई यात्राएं. ध्यान दें कि वाहन अब भी असाइन की गई यात्राएं पूरी कर सकता है, जबकि दर्ज करें.
  • ONLINE स्टेट में बनाया गया Vehicle तुरंत SearchVehicles क्वेरी के जवाब. वाहन खोजें देखें ज़्यादा के लिए विवरण.
  • ONLINE राज्य में बनाए गए वाहनों के लिए, last_location का इस्तेमाल करना चाहिए फ़ील्ड को CreateVehicle कॉल में करें.

वाहन के एट्रिब्यूट का फ़ील्ड

वाहन के attributes फ़ील्ड का इस्तेमाल करके, अपनी ज़रूरत के हिसाब से शर्तें बनाएं उपभोक्ता या फ़्लीट ऑपरेटर आपके सभी इलाकों में वाहन ढूंढ सकते हैं खोज के लिए ज़रूरी शर्तें. इससे आपका ऐप्लिकेशन बेहतर तरीके से काम कर पाएगा खोज की शर्तों का इस्तेमाल करने पर मिलने वाली नतीजों की तुलना में, वाहन के बेहतर मैच दिखाना जो वाहन के अन्य फ़ील्ड के हिसाब से सही होते हैं. हर वाहन में ज़्यादा से ज़्यादा 100 वाहन हो सकते हैं विशेषता दी गई है और हर एक की कुंजी यूनीक होनी चाहिए. वैल्यू, स्ट्रिंग हो सकती हैं. बूलियन्स, या संख्याओं का इस्तेमाल करते हैं.

उदाहरण के लिए, आपके पास class नाम के कस्टम एट्रिब्यूट का एलान करने का विकल्प है. अलग-अलग क्लास लेवल के हिसाब से, अपने राइडशेयर वाहनों को अलग-अलग करने की सुविधा मिलती है. आप वाहन की कैटगरी के लेवल दिखाने के लिए, नीचे दी गई स्ट्रिंग की वैल्यू दी गई हैं: ECONOMY, STANDARD और LUXURY.

हालांकि, कस्टम एट्रिब्यूट की वैल्यू अलग-अलग नहीं होनी चाहिए. आप शर्तों का इस्तेमाल करें, जैसे कि पालतू जानवरों के लिए सही, सिगरेट पीना, और ज़्यादा समय लग सकता है यात्राएं. इनमें से हर एक कस्टम एट्रिब्यूट हो सकता है जिसमें बूलियन का इस्तेमाल होता है वैल्यू. किसी वाहन को, ये तीनों कस्टम एट्रिब्यूट असाइन किए जा सकते हैं साथ ही, स्ट्रिंग की सही वैल्यू पर class कस्टम एट्रिब्यूट सेट करें.

इस तरीके से विशेषताओं का इस्तेमाल करने से, आपको कई तरह की सुविधाएं मिल सकती हैं जो खास ज़रूरतों वाली यात्राओं के लिए वाहन ढूंढने में. अपडेट पाने का तरीका जानने के लिए, कस्टम एट्रिब्यूट को क्वेरी फ़िल्टर के तौर पर इस्तेमाल करने के लिए, वाहन खोजें देखें.

वाहन की विशेषताएं अपडेट करें

वाहन की विशेषताएं अपडेट करने के लिए, UpdateVehicle या UpdateVehicleAttributes. हर attributes कुंजी में सिर्फ़ एक मान प्रति वाहन. आपने attributes का इस्तेमाल करके, कस्टम वाहन एट्रिब्यूट का एलान किया है फ़ील्ड मास्क में डाला जा सकता है और फिर नीचे दिए गए तरीके के आधार पर वैल्यू दी जा सकती हैं.

UpdateVehicle UpdateVehicleAttributes
यह एपीआई सिर्फ़ एक एट्रिब्यूट को अपडेट करने की अनुमति नहीं देता. इसका इस्तेमाल करते समय इस तरीके से, attributes के इस्तेमाल से फ़ील्ड मास्क को फ़ील्ड में शामिल करने पर, इसके पूरा सेट मिलता है वाहन के एट्रिब्यूट के बारे में फिर से बताया गया हो. इस वजह से पहले से मौजूद उस एट्रिब्यूट को ओवरराइट करना जो इसमें साफ़ तौर पर शामिल नहीं है फ़ील्ड मास्क. अगर किसी नए कस्टम एट्रिब्यूट का एलान करने के लिए, इस तरीके का इस्तेमाल किया जाता है, तो आपको वाहन के लिए सेट किए गए हर कस्टम एट्रिब्यूट के बारे में फिर से एलान करना होगा बनाए रखें. अगर फ़ील्ड मास्क में attributes को बाहर रखा जाता है, तो तो यह विधि पहले से तय की गई कस्टम विशेषताओं को छोड़ देती है ट्रैक करने में मदद मिलती है. अगर फ़ील्ड मास्क में attributes का इस्तेमाल किया जाता है, तो लेकिन वैल्यू सेट किए बिना, यह सभी कस्टम एट्रिब्यूट की वैल्यू देता है. यह तरीका खास सूची के एट्रिब्यूट को स्वीकार करता है, ताकि अपडेट. अनुरोध अपडेट किया जाता है या सिर्फ़ उन एट्रिब्यूट को जोड़ा जाता है जिनके बारे में बताया गया है का इस्तेमाल नहीं किया जा सकता. पहले से मौजूद जिन एट्रिब्यूट की जानकारी नहीं दी गई है वे बने रहेंगे बदलाव नहीं किए जा सकेंगे.

वाहन के फ़ील्ड अपडेट करने का उदाहरण

इस सेक्शन में, UpdateVehicleRequest का इस्तेमाल करके वाहन के फ़ील्ड अपडेट करने का तरीका बताया गया है. इसमें एक update_mask शामिल है, जो यह बताता है कि किन फ़ील्ड को अपडेट करना है. ज़्यादा जानकारी के लिए, ज़्यादा जानकारी के लिए, फ़ील्ड मास्क पर प्रोटोकॉल बफ़र दस्तावेज़ पढ़ें.

last_location के अलावा अन्य फ़ील्ड को अपडेट करने के लिए, फ़्लीट इंजन की मांग पर उपलब्ध होना ज़रूरी है एडमिन के खास अधिकार.

उदाहरण: यात्रा का नया टाइप और कस्टम एट्रिब्यूट चालू करना

इस उदाहरण में, वाहन के लिए back_to_back यात्राएं चालू की गई हैं. साथ ही, यह नई विशेषता: class. जैसा कि वाहन के एट्रिब्यूट अपडेट करें लेख में पहले बताया गया है, इस तरीके का इस्तेमाल करके attributes फ़ील्ड को अपडेट करने के लिए, आपको सभी कस्टम एट्रिब्यूट, जिन्हें आपको बनाए रखना है. इसलिए, उदाहरण में cash_only को दिखाया गया है अपडेट की कार्रवाई के दौरान ओवरराइट होने से बचाने के लिए लिखी गई वैल्यू जो attributes फ़ील्ड के बारे में बताता है.

सिर्फ़ एक की-वैल्यू एट्रिब्यूट पेयर की वैल्यू अपडेट करने के लिए, इसके बजाय, UpdateVehicleAttributes तरीके का इस्तेमाल करें और attribute फ़ील्ड को शामिल न करें UpdateVehicle अनुरोध के लिए फ़ील्ड मास्क में.

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

आगे क्या करना है