این سند نحوه ایجاد یک سفر مقصد واحد، تنظیم فیلدهای صحیح و اختصاص آن به وسیله نقلیه برای انجام را شرح می دهد. فرض میکند که Fleet Engine را راهاندازی کردهاید و وسایل نقلیه ایجاد کردهاید، یک برنامه راننده فعال و در صورت تمایل، یک برنامه مصرفکننده دارید. برای آن به راهنمای مرتبط زیر مراجعه کنید:
اصول ایجاد سفر
این بخش جزئیات درخواست لازم برای ایجاد یک سفر در Fleet Engine را شرح می دهد. شما یک درخواست ایجاد را با استفاده از gRPC و REST صادر می کنید.
فیلدهای سفر
برای ایجاد سفر در Fleet Engine از فیلدهای زیر استفاده کنید. میتوانید از زمینههای مختلف برای انواع مختلف سفر استفاده کنید: سفرهای تک یا چند مقصد، پشت سر هم یا سفرهای مشترک. میتوانید فیلدهای اختیاری را هنگام ایجاد سفر تهیه کنید، یا میتوانید بعداً هنگام بهروزرسانی سفر، آنها را تنظیم کنید.
نام | مورد نیاز؟ | توضیحات |
---|---|---|
پدر و مادر | بله | رشته ای که شامل شناسه پروژه است. این شناسه باید همان شناسه ای باشد که در کل ادغام Fleet Engine شما استفاده می شود، با نقش های حساب سرویس یکسان. |
trip_id | بله | رشته ای که ایجاد می کنید و به طور منحصر به فردی این سفر را مشخص می کند. شناسه های سفر دارای محدودیت های خاصی هستند، همانطور که در مرجع ذکر شده است. |
trip_type | بله | برای نوع سفری که ایجاد می کنید، TripType را روی مقادیر زیر تنظیم کنید:
|
نقطه_انتقال | بله | نقطه مبدا سفر |
مقاصد میانی | بله | فقط سفرهای چند مقصدی : فهرستی از مقاصد میانی که راننده در فاصله بین تحویل و تحویل از آنها بازدید می کند. مانند |
وسایل نقلیه_ایستگاه های راه | بله | فقط سفرهای ادغام مشترک : این فیلد از در هم نشینی نقاط بین سفرهای متعدد پشتیبانی می کند. این شامل تمام ایستگاه های بین راهی برای وسیله نقلیه تعیین شده، و همچنین ایستگاه های حمل و نقل و تحویل برای این سفر است. می توانید این فیلد را با فراخوانی |
تعداد_مسافران | خیر | تعداد مسافران در سفر. |
dropoff_point | خیر | مقصد سفر |
شناسه_خودرو | خیر | شناسه وسیله نقلیه اختصاص داده شده به سفر. |
مثال: سفر تک مقصد
مثال زیر نحوه ایجاد یک سفر به مرکز خرید Grand Indonesia East را نشان می دهد. این سفر شامل دو مسافر است، منحصر به فرد است و وضعیت آن NEW
است. provider_id
سفر باید با شناسه پروژه Google Cloud یکی باشد. مثالها یک پروژه Google Cloud را با شناسه پروژه my-rideshare-co-gcp-project
نشان میدهند. برای تماس با Fleet Engine، این پروژه باید یک حساب سرویس نیز داشته باشد. برای جزئیات بیشتر به نقشهای حساب سرویس مراجعه کنید.
static final String PROJECT_ID = "my-rideshare-co-gcp-project";
TripServiceBlockingStub tripService = TripService.newBlockingStub(channel);
// Trip initial settings.
String parent = "providers/" + PROJECT_ID;
Trip trip = Trip.newBuilder()
.setTripType(TripType.EXCLUSIVE) // Use TripType.SHARED for carpooling.
.setPickupPoint( // Grand Indonesia East Mall.
TerminalLocation.newBuilder().setPoint(
LatLng.newBuilder()
.setLatitude(-6.195139).setLongitude(106.820826)))
.setNumberOfPassengers(2)
// Provide the drop-off point if available.
.setDropoffPoint(
TerminalLocation.newBuilder().setPoint(
LatLng.newBuilder()
.setLatitude(-6.1275).setLongitude(106.6537)))
.build();
// Create trip request
CreateTripRequest createTripRequest = CreateTripRequest.newBuilder()
.setParent(parent)
.setTripId("trip-8241890") // Trip ID assigned by the provider.
.setTrip(trip) // The initial state is NEW.
.build();
// Error handling.
try {
Trip createdTrip = tripService.createTrip(createTripRequest);
} catch (StatusRuntimeException e) {
Status s = e.getStatus();
switch (s.getCode()) {
case ALREADY_EXISTS:
break;
case PERMISSION_DENIED:
break;
}
return;
}