Araç alanlarını güncelle

Bu dokümanda, kampanyalarınızda kullanabileceğiniz önemli araç alanları araç oluştururken ve yönetirken güncellememiz gerekir.

  • vehicle_state: Aracın kullanılabilirliğini belirler yeni seyahatler için uygundur.
  • vehicle_type: Araç oluştururken zorunlu alan. Bu alan, araç eşleşmeleri için filtre ölçütü olarak da kullanılabilir. Görüntüleyin Araç oluşturma inceleyebilirsiniz.
  • attributes[]: İsteğe bağlı bir tür dizisi VehicleAttribute Tekliflerinizi otomatikleştirmek ve optimize etmek için iyileştirmek için özel ölçütler tanımlamalarını, araç arama veya listelemede filtreleme davranışını.
 

Araç alanlarının tam listesi için bkz:

Araç durumu alanı

Sisteminiz, araç durumunu OFFLINE veya ONLINE olarak ayarlayabilir. Örneğin, araç durumunu her gün 09:00'da ONLINE ve her gün OFFLINE olarak ayarlayabilirsiniz 17:00'de.

ÇEVRİMDIŞI modu ÇEVRİMİÇİ modu
Aracın kabul etmediğini belirtmek için OFFLINE kullanın yardımcı olabilir. Aracın, atanan gezileri tamamlamaya devam edebileceğini unutmayın. bu durumda.
  • ONLINE durumunda oluşturulan bir Vehicle, SearchVehicles sorgu için yanıt. Araç arama bölümüne bakın. daha fazlası bolca fırsat sunuyor.
  • ONLINE durumunda oluşturulan araçlar last_location kullanmalıdır alanı (CreateVehicle çağrısı).

Araç özellikleri alanı

Araç attributes alanını kullanarak müşterilerin veya filo operatörlerinin filonuzda bulunan araçları daha geniş bir yardımcı olabilir. Bu da uygulamalarınızın aşağıdakileri yapma kapasitesini geliştirir: arama ölçütlerini kullanarak elde edeceğinize kıyasla daha iyi araç eşleşmeleri sağlar araç seti bulunuyor. Her araçta en fazla 100 özellikleri olmalı ve her birinin benzersiz bir anahtarı olmalıdır. Değerler dize olabilir, booleler veya sayılar.

Örneğin, class adlı özel bir özellik tanımlayarak araç paylaşımı araçlarınızı sınıf seviyelerinde birbirinden ayırın. Arama için araç sınıfı seviyelerini temsil eden şu dize değerleri: ECONOMY, STANDARD ve LUXURY.

Bununla birlikte, özel özellik değerlerinin birbirini dışlamasına gerek yoktur. En son haberleri sunan, evcil hayvan dostu, sigara içmeyen ve daha uzun sürebilir seyahatleri hakkında daha fazla bilgi edinin. Bunların her biri, boole değerini kullanan ayrı birer değerler. Belirli bir araca bu özel özelliklerin üçü de atanabilir class özel özelliği ile birlikte uygun dize değerine ayarlanır.

Özelliklerin bu şekilde kullanılması, aşağıdakileri gerçekleştirmenize yardımcı olacak çok çeşitli özellikler sağlar: özel ihtiyaçları olan seyahatler için araç bulma. Nasıl yapıldığını özel özellikleri sorgu filtreleri olarak kullanmak için Araç arama bölümüne bakın.

Araç özelliklerini güncelleyin

Araç özelliklerini güncellemek için UpdateVehicle veya UpdateVehicleAttributes. Her attributes anahtarı her başına yalnızca bir değere sahip olabilir araç. Özel araç özelliklerini attributes kullanarak bildiriyorsanız sonra aşağıdaki yönteme göre değerler sağlayarak.

UpdateVehicle UpdateVehicleAttributes
Bu API yalnızca tek bir özelliğin güncellenmesine izin vermez. Bunu kullanırken attributes ürününün herhangi bir kullanımı alanı, maskenin tamamını araç için yeniden beyan edilen araç özellikleri. Bu, açıkça eklenmeyen önceden var olan bir özelliğin üzerine yazmak kullanabilirsiniz. Yeni bir özel özellik bildirmek için bu yöntemi kullanırsanız aracın dönüşüm izleme özelliğini kullanmasını istediğiniz her özel özelliği de elde eder. Alan maskesinde attributes öğesini hariç tutarsanız Bu yöntem, mevcut özel özellikleri önceden tanımlandığı gibi bırakır araçtan bahsediyoruz. Alan maskesinde attributes kullanırsanız Ancak değer ayarlamadan bu, tüm özel özelliklerini kullanabilirsiniz. Bu yöntem güncelleyin. İstek yalnızca belirtilen özellikleri günceller veya ekler kullanabilirsiniz. Belirtilmemiş önceden var olan özellikler kalır korunabilir.

Araç alanlarını güncelleme örneği

Bu bölümde, UpdateVehicleRequest, araç çubuğu ve dönüşüm izleme gibi Burada, hangi alanların güncelleneceğini belirten bir update_mask bulunur. Bkz. Ayrıntılı bilgi için alan maskeleriyle ilgili Protokol Arabellekleri dokümanlarına bakın.

last_location dışındaki alanlarda yapılan güncellemeler için Fleet Engine On-İsteğe Bağlı Yönetici ayrıcalıkları.

Örnek: yeni gezi türünü ve özel özelliği etkinleştirme

Bu örnekte, araç için back_to_back seyahatleri etkinleştirilir ve ayrıca yeni özellik: class. Daha önce Araç özelliklerini güncelleme bölümünde belirtildiği gibi, Bu yaklaşımı kullanarak attributes alanını güncellemek için tüm özel özellikleri seçin. Dolayısıyla, örnekte bir cash_only bir güncelleme işlemi sırasında üzerine yazılmasını önlemek için yazılan değer attributes alanını belirten bir e-posta alırsınız.

Yalnızca bir anahtar/değer özellik çiftinin değerini güncellemek için UpdateVehicleAttributes yöntemini kullanın ve attribute alanını eklemeyin değerini girin.UpdateVehicle

gRPC ve REST için providers.vehicles.update referansına bakın.

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

Sırada ne var?