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: Yeni seyahatler için aracın müsait olup olmadığını belirler.
  • 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[]: VehicleAttribute türüne sahip isteğe bağlı bir dizi. 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:

Araç durumu alanı

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

ÇEVRİMDIŞI modu ONLINE 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. Daha fazla bilgi için Araç arama bölümüne bakın.
  • 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 sayede, uygulamalarınızın yalnızca diğer araç alanlarına dayalı arama ölçütlerini kullanarak elde edebileceğinizden daha iyi araç eşleşmeleri sunma özellikleri geliştirilir. Her aracın en fazla 100 özelliği olabilir ve her birinin benzersiz bir anahtarı olmalıdır. Değerler dize, boole veya sayı olabilir.

Örneğin, araç paylaşma araçlarınızı sınıf düzeylerine göre ayırt etmek için class adlı bir özel özellik tanımlayabilirsiniz. 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ı anlatan ö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 beyan ediyorsunuz 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 kullanımının herhangi bir şekilde 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 tanımlamak için bu yöntemi kullanırsanız aracın muhafaza etmesini istediğiniz her özel özelliği de yeniden tanımlamanız gerekir. 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 değerini kullanır ancak değer ayarlamazsanız bu, aracın tüm özel özelliklerinin kaldırılmasına eşdeğerdir. 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-demand Yöneticisi ayrıcalıkları gerekir.

Ö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?