Fleet Engine'da isteğe bağlı seyahatler için araç oluşturmak istiyorsanız CreateVehicle
ile CreateVehicleRequest
uç noktasını kullanın. Bu uç nokta için Fleet Engine isteğe bağlı yönetici rolüne sahip bir hesap gerekir.
Talep üzerine seyahat araçları için alanlar
Talep üzerine seyahatler için araç oluştururken zorunlu alanları ayarlamanız gerekir. Ayrıca, belirli araç alanlarının Fleet Engine'daki diğer işlevleri nasıl etkilediği hakkında bilgi sahibi olmanız gerekir. Bunun için Araç alanlarını güncelleme başlıklı makaleyi inceleyin.
Talep üzerine seyahatler için zorunlu alanlar
vehicle_state
: Varsayılan olarak "bilinmiyor"dur ancak ONLINE veya OFFLINE olarak ayarlanmalıdır. Araç durumu alanını ayarlama hakkında bilgi edinmek için Araç alanlarını güncelleme başlıklı makaleyi inceleyin.supported_trip_types
: Varsayılan olarak bilinmiyor olarak ayarlanır ancak SHARED, EXCLUSIVE veya her ikisi olarak ayarlanmalıdır. Ayrıntılar için Seç-iste seyahatler kılavuzundaki Seyahat türleri bölümüne bakın.maximum_capacity
: Aracın taşıyabileceği yolcu sayısıdır (sürücü dahil değildir).vehicle_type
: DeğerlerAUTO
,TAXI
,TRUCK
,TWO_WHEELER
,BICYCLE
veyaPEDESTRIAN
'dir. Araç aramalarında araçları filtrelemek için kullanılabilir. Bu durum, tahmini varış zamanı ve rota hesaplamalarını da etkiler. Fleet Engine, aşağıdaki araç türü gruplarına göre seyahat moduna karşılık gelen rotalar ve seyahat hesaplamaları sağlar:AUTO
,TAXI
veyaTRUCK
: Örneğin, otoyollar.TWO_WHEELER
: Örneğin, 2 tekerlekli araçlara izin verilmeyen rotaları döndürmez.BICYCLE
: örneğin, bisiklet yolları.PEDESTRIAN
: Örneğin, yalnızca yayalara açık köprüler ve yaya yolları.
Diğer alanlar
Araç oluştururken ayarlayabileceğiniz diğer alanlar için Araç alanlarını güncelleme başlıklı makaleyi inceleyin.
Araç oluşturma örneği
CreateVehicle
öğesinden döndürülen değer, oluşturulan Vehicle
öğesidir.
Java
static final String PROJECT_ID = "project-id";
VehicleServiceBlockingStub vehicleService =
VehicleService.newBlockingStub(channel);
String parent = "providers/" + PROJECT_ID;
Vehicle vehicle = Vehicle.newBuilder()
.setVehicleState(VehicleState.OFFLINE) // Initial state
.addSupportedTripTypes(TripType.EXCLUSIVE)
.setMaximumCapacity(4)
.setVehicleType(VehicleType.newBuilder().setCategory(VehicleType.Category.AUTO))
.addAttributes(VehicleAttribute.newBuilder()
.setKey("on_trip").setValue("false")) // Opaque to the Fleet Engine
// Add .setBackToBackEnabled(true) to make this vehicle eligible for trip
// matching while even if it is on a trip. By default this is disabled.
.build();
CreateVehicleRequest createVehicleRequest =
CreateVehicleRequest.newBuilder() // no need for the header
.setParent(parent)
.setVehicleId("vid-8241890") // Vehicle ID assigned by Rideshare or Delivery Provider
.setVehicle(vehicle) // Initial state
.build();
// In this case, the Vehicle is being created in the OFFLINE state and
// no initial position is being provided. When the Driver App checks
// in with the Rideshare or Delivery Provider, the state can be set to ONLINE and
// the Driver App will update the Vehicle Location.
try {
Vehicle createdVehicle =
vehicleService.createVehicle(createVehicleRequest);
} catch (StatusRuntimeException e) {
Status s = e.getStatus();
switch (s.getCode()) {
case ALREADY_EXISTS:
break;
case PERMISSION_DENIED:
break;
}
return;
}
// If no Exception, Vehicle created successfully.
REST
curl -X POST \
"https://fleetengine.googleapis.com/v1/providers/project-id/vehicles?vehicleId=vid-8241890" \
-H "Authorization: Bearer $JWT" \
-H "Content-Type: application/json" \
--data-binary @- << EOM
{
"vehicleState": "OFFLINE",
"supportedTripTypes": ["EXCLUSIVE"],
"maximumCapacity": 4,
"vehicleType": {"category": "AUTO"},
"attributes": [{"key": "on_trip", "value": "false"}]
}
EOM
providers.vehicles.create referansını inceleyin.