Verwenden Sie den CreateVehicle
Endpunkt mit der CreateVehicleRequest, um ein Fahrzeug in Fleet Engine für Fahrten auf Abruf zu erstellen. Für diesen Endpunkt ist ein Konto mit der Rolle Fleet Engine On-demand Admin erforderlich.
Felder für Fahrzeuge für Fahrten auf Abruf
Beim Erstellen von Fahrzeugen für Fahrten auf Abruf müssen Sie Pflichtfelder festlegen. Sie sollten auch wissen, wie sich bestimmte Fahrzeugfelder auf andere Funktionen in Fleet Engine auswirken. Weitere Informationen finden Sie unter Fahrzeugfelder aktualisieren.
Pflichtfelder für Fahrten auf Abruf
vehicle_state: Der Standardwert ist „unbekannt“, sollte aber auf „ONLINE“ oder „OFFLINE“ festgelegt werden. Informationen zum Festlegen des Felds „Fahrzeugstatus“ finden Sie unter Fahrzeugfelder aktualisieren.supported_trip_types: Der Standardwert ist „unbekannt“, sollte aber auf „SHARED“, „EXCLUSIVE“ oder beides festgelegt werden. Weitere Informationen finden Sie unter Fahrtentypen im Leitfaden Fahrten auf Abruf.maximum_capacity: Die Anzahl der Fahrgäste, die das Fahrzeug befördern kann. Der Fahrer ist dabei nicht mitgezählt.vehicle_type: Die Werte sindAUTO,TAXI,TRUCK,TWO_WHEELER,BICYCLEoderPEDESTRIAN. Kann verwendet werden, um Fahrzeuge für Fahrzeugsuchen zu filtern. Dies wirkt sich auch auf die Berechnungen der voraussichtlichen Ankunftszeit und der Route aus. Fleet Engine bietet Routen- und Reiseberechnungen, die dem Verkehrsmittel entsprechen, basierend auf den folgenden Fahrzeugtypgruppen:AUTO,TAXIoderTRUCK: z. B. Autobahnen.TWO_WHEELER: Es werden beispielsweise keine Routen zurückgegeben, auf denen Zweiräder nicht erlaubt sind.BICYCLE: z. B. Radwege.PEDESTRIAN: z. B. Brücken und Gehwege, die nur für Fußgänger zugänglich sind.
Andere Felder
Informationen zu anderen Feldern, die Sie beim Erstellen eines Fahrzeugs festlegen können, finden Sie unter Fahrzeugfelder aktualisieren.
Beispiel für die Fahrzeugerstellung
Sie können die Java-gRPC-Bibliothek oder REST verwenden, um ein Fahrzeug zu erstellen. Eine vollständige Liste der unterstützten Sprachen finden Sie unter Clientbibliotheken für Dienste für Fahrten auf Abruf.
Der von CreateVehicle zurückgegebene Wert ist die erstellte Vehicle Entität.
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"}]
}
EOMWeitere Informationen finden Sie in der Referenz zu providers.vehicles.create.