Pour créer un véhicule dans Fleet Engine pour les trajets à la demande, utilisez CreateVehicle
point de terminaison avec CreateVehicleRequest
. Ce point de terminaison nécessite un compte avec
le rôle Administrateur à la demande Parc Engine.
Champs pour les véhicules pouvant se déplacer à la demande
Lorsque vous créez des véhicules pour des trajets à la demande, vous devez définir des champs obligatoires. Toi vous devez aussi connaître l'impact de certains champs de véhicule dans Fleet Engine. Pour en savoir plus, consultez Mettre à jour les champs du véhicule.
Champs obligatoires pour les trajets à la demande
vehicle_state
: valeur par défaut inconnue, mais doit être définie sur ONLINE ou HORS CONNEXION. Pour en savoir plus sur la définition du champ d'état du véhicule, consultez Mettre à jour les champs de véhicule.supported_trip_types
: valeur par défaut inconnue, mais doit être définie sur SHARED, EXCLUSIVE ou les deux. Consultez Types de trajets dans Voyages à la demande pour en savoir plus.maximum_capacity
: nombre de passagers que le véhicule peut transporter. ce qui exclut le conducteur (par définition).vehicle_type
: les valeurs sontAUTO
,TAXI
,TRUCK
,TWO_WHEELER
,BICYCLE
ouPEDESTRIAN
. Peut être utilisé pour filtrer les véhicules des recherches. Cela a également une incidence sur le calcul de l'heure d'arrivée prévue et de l'itinéraire. Fleet Engine fournit des itinéraires et des calculs de trajet correspondant au mode de trajets en fonction des groupes de types de véhicules suivants: <ph type="x-smartling-placeholder">- </ph>
AUTO
,TAXI
ouTRUCK
: par exemple, les autoroutes.TWO_WHEELER
: par exemple, ne renvoie pas d'itinéraires où les deux-roues ne sont pas affichés. autorisé.BICYCLE
: par exemple, pistes cyclables.PEDESTRIAN
: par exemple, ponts et voies piétonnes
Autres champs
Pour les autres champs que vous pouvez définir lors de la création d'un véhicule, consultez la section Mettre à jour le véhicule champs.
Exemple de création de véhicule
La valeur renvoyée par CreateVehicle
est l'entité Vehicle
créée.
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
Consultez la providers.vehicles.create.