لإنشاء مركبة في Fleet Engine للرحلات عند الطلب، استخدِم CreateVehicle
نقطة النهاية مع CreateVehicleRequest. تتطلّب نقطة النهاية هذه حسابًا لديه دور مشرف Fleet Engine للرحلات عند الطلب.
حقول المركبات للرحلات عند الطلب
عند إنشاء مركبات للرحلات عند الطلب، يجب ضبط الحقول المطلوبة. يجب أيضًا أن تكون على دراية بكيفية تأثير حقول مركبات معيّنة في وظائف أخرى في Fleet Engine. يمكنك الاطّلاع على تعديل حقول المركبة لمعرفة ذلك.
الحقول المطلوبة للرحلات عند الطلب
vehicle_state: يتم ضبطها تلقائيًا على "غير معروف"، ولكن يجب ضبطها على "متاحة" أو "غير متاحة". يمكنك الاطّلاع على معلومات حول ضبط حقل حالة المركبة في تعديل حقول المركبة.supported_trip_types: يتم ضبطها تلقائيًا على "غير معروف"، ولكن يجب ضبطها على "مشتركة" أو "حصرية" أو كلتيهما. يمكنك الاطّلاع على أنواع الرحلات في دليل الرحلات عند الطلب لمعرفة التفاصيل.maximum_capacity: عدد الركاب الذين يمكن أن تقلّهم المركبة، باستثناء السائق (حسب التعريف).vehicle_type: القيم هيAUTOأوTAXIأوTRUCKأوTWO_WHEELERأوBICYCLEأوPEDESTRIAN. يمكن استخدامها لفلترة المركبات عند البحث عنها. يؤثّر ذلك أيضًا في احتساب الوقت المقدَّر للوصول والمسار. توفّر Fleet Engine مسارات واحتسابات للسفر تتوافق مع وسيلة السفر استنادًا إلى مجموعات أنواع المركبات التالية:AUTOأوTAXIأوTRUCK: على سبيل المثال، الطرق السريعةTWO_WHEELER: على سبيل المثال، لن يتم عرض مسارات لا يُسمح فيها بالمركبات ذات العجلتين.BICYCLE: على سبيل المثال، الطرق المخصَّصة للدراجاتPEDESTRIAN: على سبيل المثال، الجسور والممرات المخصَّصة للمشاة فقط
حقول أخرى
للاطّلاع على الحقول الأخرى التي يمكنك ضبطها عند إنشاء مركبة، يُرجى مراجعة تعديل حقول المركبة.
مثال على إنشاء مركبة
لإنشاء مركبة، يمكنك استخدام الـ Java gRPC library أو REST. للاطّلاع على القائمة الكاملة باللغات المتاحة، يُرجى مراجعة مكتبات العملاء لخدمات الرحلات عند الطلب.
القيمة التي يتم عرضها من 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يمكنك الاطّلاع على مرجع providers.vehicles.create.