این سند نحوه ایجاد یک سفر مقصد واحد، تنظیم فیلدهای صحیح و اختصاص آن به وسیله نقلیه برای انجام را شرح می دهد. فرض میکند که Fleet Engine را راهاندازی کردهاید و وسایل نقلیه ایجاد کردهاید، یک برنامه راننده فعال و در صورت تمایل، یک برنامه مصرفکننده دارید. برای آن به راهنمای مرتبط زیر مراجعه کنید:
اصول ایجاد سفر
این بخش جزئیات درخواست لازم برای ایجاد یک سفر در Fleet Engine را شرح می دهد. شما یک درخواست ایجاد را با استفاده از gRPC و REST صادر می کنید.
فیلدهای سفر
برای ایجاد سفر در Fleet Engine از فیلدهای زیر استفاده کنید. میتوانید از زمینههای مختلف برای انواع مختلف سفر استفاده کنید: سفرهای تک یا چند مقصد، پشت سر هم یا سفرهای مشترک. میتوانید فیلدهای اختیاری را هنگام ایجاد سفر تهیه کنید، یا میتوانید بعداً هنگام بهروزرسانی سفر، آنها را تنظیم کنید.
| نام | مورد نیاز؟ | توضیحات |
|---|---|---|
| پدر و مادر | بله | رشته ای که شامل شناسه پروژه است. این شناسه باید همان شناسه ای باشد که در کل ادغام Fleet Engine شما استفاده می شود، با نقش های حساب سرویس یکسان. |
| trip_id | بله | رشته ای که ایجاد می کنید و به طور منحصر به فردی این سفر را مشخص می کند. شناسه های سفر دارای محدودیت های خاصی هستند، همانطور که در مرجع ذکر شده است. |
| trip_type | بله | برای نوع سفری که ایجاد می کنید، TripType را روی مقادیر زیر تنظیم کنید:
|
| pickup_point | بله | نقطه مبدا سفر |
| مقاصد میانی | بله | فقط سفرهای چند مقصدی : فهرستی از مقاصد میانی که راننده در فاصله بین تحویل و تحویل از آنها بازدید می کند. مانند |
| وسایل نقلیه_ایستگاه های راه | بله | فقط سفرهای ادغام مشترک : این فیلد از در هم نشینی نقاط بین سفرهای متعدد پشتیبانی می کند. این شامل تمام ایستگاه های بین راهی برای وسیله نقلیه تعیین شده، و همچنین ایستگاه های حمل و نقل و تحویل برای این سفر است. می توانید این فیلد را با فراخوانی |
| تعداد_مسافران | خیر | تعداد مسافران در سفر. |
| 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;
}