주문형 이동을 위해 Fleet Engine에서 차량을 만들려면 CreateVehicleRequest
와 함께 CreateVehicle
엔드포인트를 사용하세요. 이 엔드포인트에는 Fleet Engine 주문형 관리자 역할이 있는 계정이 필요합니다.
주문형 차량의 필드
주문형 이동에 사용할 차량을 만들 때는 필수 필드를 설정해야 합니다. 특정 차량 필드가 Fleet Engine의 다른 기능에 미치는 영향도 잘 알고 있어야 합니다. 자세한 내용은 차량 필드 업데이트를 참고하세요.
주문형 차량의 필수 입력란
vehicle_state
: 기본값은 알 수 없음이지만 ONLINE 또는 OFFLINE으로 설정해야 합니다. 차량 필드 업데이트에서 차량 상태 필드 설정에 관한 정보를 참고하세요.supported_trip_types
: 기본값은 알 수 없음이지만 SHARED, EXCLUSIVE 또는 둘 다로 설정해야 합니다. 자세한 내용은 주문형 여정 가이드의 여정 유형을 참고하세요.maximum_capacity
: 차량이 운전자 (정의에 따라)를 제외하고 태울 수 있는 승객 수입니다.vehicle_type
: 값은AUTO
,TAXI
,TRUCK
,TWO_WHEELER
,BICYCLE
또는PEDESTRIAN
입니다. 차량 검색을 위해 차량을 필터링하는 데 사용할 수 있습니다. 또한 ETA 및 경로 계산에도 영향을 미칩니다. Fleet Engine은 다음 차량 유형 그룹을 기반으로 이동 모드에 해당하는 경로와 이동 계산을 제공합니다.AUTO
,TAXI
또는TRUCK
: 예를 들어 고속도로입니다.TWO_WHEELER
: 예를 들어 이륜차가 허용되지 않는 경로를 반환하지 않습니다.BICYCLE
: 예를 들어 자전거 도로입니다.PEDESTRIAN
: 예를 들어 보행자 전용 다리와 보도입니다.
기타 필드
차량을 만들 때 설정할 수 있는 다른 필드는 차량 필드 업데이트를 참고하세요.
차량 생성 예시
CreateVehicle
에서 반환된 값은 생성된 Vehicle
항목입니다.
자바
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 참조를 확인하세요.