Создайте автомобиль для поездок по требованию

Для создания транспортного средства в Fleet Engine для поездок по требованию используйте конечную точку CreateVehicle с параметром CreateVehicleRequest . Для использования этой конечной точки требуется учетная запись с ролью администратора Fleet Engine по требованию .

Поля для транспортных средств, предоставляемых по запросу.

При создании транспортных средств для поездок по требованию необходимо задавать обязательные поля. Также следует ознакомиться с тем, как определенные поля транспортного средства влияют на другие функции Fleet Engine. См. раздел «Обновление полей транспортного средства» для получения дополнительной информации.

Обязательные поля для поездок по запросу

  • vehicle_state : По умолчанию значение неизвестно, но следует установить значение ONLINE или OFFLINE. См. информацию о настройке поля состояния транспортного средства в разделе «Обновление полей транспортного средства» .
  • supported_trip_types : По умолчанию значение неизвестно, но следует установить значение SHARED, EXCLUSIVE или оба варианта. Подробнее см. раздел «Типы поездок» в руководстве по поездкам по запросу .
  • maximum_capacity : Количество пассажиров, которое может перевозить транспортное средство, не считая водителя (по определению).
  • vehicle_type : Возможны значения AUTO , TAXI , TRUCK , TWO_WHEELER , BICYCLE или PEDESTRIAN . Может использоваться для фильтрации транспортных средств при поиске. Это также влияет на расчет расчетного времени прибытия и маршрута. Fleet Engine предоставляет маршруты и расчеты поездок, соответствующие виду транспорта, на основе следующих групп типов транспортных средств:
    • AUTO , TAXI или TRUCK : например, автомагистрали.
    • TWO_WHEELER : например, не вернет маршруты, где движение двухколесных транспортных средств запрещено.
    • BICYCLE : например, велосипедные дорожки.
    • PEDESTRIAN : например, пешеходные мосты и пешеходные дорожки.

Другие области

Другие поля, которые можно задать при создании транспортного средства, см. в разделе «Обновление полей транспортного средства» .

Пример создания транспортного средства

Для создания транспортного средства можно использовать библиотеку Java gRPC или REST. Полный список поддерживаемых языков см. в разделе «Клиентские библиотеки для сервисов заказа поездок по требованию» .

Значение, возвращаемое функцией CreateVehicle , — это созданный объект Vehicle .

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.

ОТДЫХ

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 .

Что дальше?