أنشِئ مركبة للرحلات المتاحة عند الطلب

لإنشاء مركبة في Fleet Engine للرحلات عند الطلب، استخدِم CreateVehicle. نقطة نهاية مع CreateVehicleRequest. تتطلب نقطة النهاية هذه حسابًا دور مشرف Fleet Engine عند الطلب

حقول لمركبات الرحلات عند الطلب

عند إنشاء مركبات للرحلات عند الطلب، يجب إعداد الحقول المطلوبة. إِنْتَ على دراية بكيفية تأثير حقول معينة للمركبات على لوظائف Fleet Engine. يمكنك الاطّلاع على مقالة تعديل حقول المركبات لتنفيذ هذا الإجراء.

الحقول المطلوبة للرحلات المسجّلة

  • vehicle_state: القيمة التلقائية غير معروفة، ولكن يجب ضبطها على "على الإنترنت" أو بلا إنترنت. انتقِل إلى قسم تحديث المعلومات للاطّلاع على معلومات حول ضبط حقل حالة المركبة. حقول المركبات.
  • supported_trip_types: القيمة التلقائية غير معروفة، ولكن يجب ضبطها على. مشترك أو حصري أو كليهما. الاطّلاع على أنواع الرحلات في قسم الرحلات عند الطلب للحصول على التفاصيل.
  • maximum_capacity: عدد الركاب الذين يمكن للمركبة حملها، والتي تستبعد السائق (حسب التعريف).
  • vehicle_type: القيم هي AUTO وTAXI وTRUCK وTWO-WHEELER. BICYCLE أو PEDESTRIAN. يمكن استخدامها لفلترة المركبات حسب المركبة. عمليات البحث. يؤثر هذا أيضًا على الوقت المقدر للوصول وحساب المسار. محرّك أسطول المسارات وحسابات السفر التي تتوافق مع وضع السفر بناءً على مجموعات أنواع المركبات التالية:
    • AUTO أو TAXI أو TRUCK: مثل الطرق السريعة.
    • TWO_WHEELER: على سبيل المثال، لن يؤدي إلى إرجاع المسارات التي لا تكون فيها الدرّاجات النارية مسموح به.
    • BICYCLE: على سبيل المثال، مسارات ركوب الدراجات
    • PEDESTRIAN: على سبيل المثال، الجسور والممرات المخصّصة للمشاة فقط

حقول أخرى

للاطّلاع على الحقول الأخرى التي يمكنك ضبطها عند إنشاء مركبة، يمكنك الاطّلاع على مقالة تحديث المركبة. الحقول.

مثال على إنشاء مركبة

القيمة التي يعرضها 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.

الخطوات التالية