یک وسیله نقلیه برای سفرهای درخواستی ایجاد کنید

برای ایجاد وسیله نقلیه در Fleet Engine برای سفرهای درخواستی، از نقطه پایانی CreateVehicle با CreateVehicleRequest استفاده کنید. این نقطه پایانی به یک حساب با نقش مدیر Fleet Engine On-demand نیاز دارد.

زمینه هایی برای وسایل نقلیه سفر درخواستی

هنگام ایجاد وسایل نقلیه برای سفرهای درخواستی، باید فیلدهای الزامی را تنظیم کنید. همچنین باید با نحوه تأثیر برخی از زمینه های خودرو بر عملکردهای دیگر در 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.

استراحت

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

مرجع ارائه دهنده ها.خودروها.ایجاد مرجع را ببینید.

بعدش چی