این سند نحوه فهرست کردن وسایل نقلیه تحویل را شرح میدهد.
محیطها و محدودیتها
شما میتوانید وسایل نقلیه تحویل را از یک سرور یا محیط مرورگر فهرست کنید. درایور SDK از فهرست کردن وسایل نقلیه تحویل پشتیبانی نمیکند.
فهرست کردن وسایل نقلیه تحویل، دسترسی گسترده به وسایل نقلیه تحویل را درخواست میکند و فقط برای کاربران مورد اعتماد در نظر گرفته شده است. هنگام درخواست فهرست کردن وسایل نقلیه تحویل، از توکنهای Delivery Fleet Reader یا Fleet Engine Delivery Admin استفاده کنید.
فیلدهای زیر در خودروهای تحویلی فهرستشده به دلیل تأثیرشان بر اندازه پاسخ حذف شدهاند:
-
CurrentRouteSegment -
RemainingVehicleJourneySegments
کاربرد
شما میتوانید وسایل نقلیه را بر اساس فیلترهای ویژگی و محدودههای نمای دید فهرست کنید. اگر هیچ فیلتر یا نمای دیدی مشخص نکنید، پاسخ شامل همه وسایل نقلیه تحویل میشود.
لیست با فیلترهای ویژگیها
شما میتوانید وسایل نقلیه تحویل را بر اساس فیلتر و با استفاده از ویژگی attributes آنها فهرست کنید. به عنوان مثال، برای پرس و جو از یک ویژگی با کلید my_key و مقدار my_value ، از attributes.my_key = my_value استفاده کنید. برای پرس و جو برای چندین ویژگی، پرس و جوها را با استفاده از عملگرهای منطقی AND و OR مانند attributes.key1 = value1 AND attributes.key2 = value2 به هم متصل کنید. برای شرح کامل نحو پرس و جو فیلتر به AIP-160 مراجعه کنید. اگر فیلترها را با مرزهای دید ترکیب کنید، فیلتر به عنوان یک عملگر AND برای مرز دید عمل میکند. برای جزئیات بیشتر به پرس و جوهای فیلتر ویژگیهای وسیله نقلیه مراجعه کنید.
فهرست با محدودههای نمای دید
شما میتوانید با استفاده از پارامتر درخواست viewport وسایل نقلیه تحویل فهرستشده را بر اساس موقعیت مکانی فیلتر کنید. پارامتر درخواست viewport viewportها را با استفاده از دو مختصات مرزی تعریف میکند: یک جفت مختصات طول و عرض جغرافیایی high (شمال شرقی) و low (جنوب غربی). درخواستها در صورتی که حاوی عرض جغرافیایی بالا باشند که از نظر جغرافیایی پایینتر از عرض جغرافیایی پایین باشد، رد میشوند.
فهرست کردن پاسخها
فهرست وسایل نقلیه تحویل کالا به طور پیشفرض با استفاده از یک اندازه صفحه معقول صفحهبندی میشوند. اگر اندازه صفحه را مشخص کنید، درخواست فقط تعداد وسایل نقلیه مشخص شده توسط حد مجاز یا کمتر را برمیگرداند. اگر اندازه صفحه درخواستی از یک مقدار حداکثر داخلی بیشتر باشد، از حداکثر داخلی استفاده میشود. اندازه صفحه پیشفرض و حداکثر هر دو ۱۰۰ وسیله نقلیه هستند.
فهرست وسایل نقلیه تحویل میتواند شامل یک توکن برای خواندن صفحه بعدی نتایج باشد. یک توکن صفحه فقط زمانی در پاسخ وجود دارد که صفحات بیشتری از وسایل نقلیه تحویل برای بازیابی در دسترس باشند. برای بازیابی صفحه بعدی وظایف، از توکن صفحه با درخواستی استفاده کنید که از جهات دیگر مشابه درخواست قبلی باشد.
فهرست نمونه وسایل نقلیه
شما میتوانید از کتابخانه جاوا gRPC یا REST برای فهرست کردن وسایل نقلیه تحویل در یک منطقه خاص با یک ویژگی خاص استفاده کنید. یک پاسخ موفق همچنان میتواند خالی باشد. وقتی این اتفاق میافتد، به این معنی است که هیچ وسیله نقلیهای با ویژگی مشخص شده در نمای مشخص شده وجود ندارد.
جاوا
static final String PROJECT_ID = "my-delivery-co-gcp-project";
DeliveryServiceBlockingStub deliveryService =
DeliveryServiceGrpc.newBlockingStub(channel);
// Tasks request
String parent = "providers/" + PROJECT_ID;
ListDeliveryVehiclesRequest listDeliveryVehiclesRequest =
ListDeliveryVehiclesRequest.newBuilder() // No need for the header
.setParent(parent)
.setViewport(
Viewport.newBuilder()
.setHigh(LatLng.newBuilder()
.setLatitude(37.45)
.setLongitude(-122.06)
.build())
.setLow(LatLng.newBuilder()
.setLatitude(37.41)
.setLongitude(-122.11)
.build())
.setFilter("attributes.my_key = my_value")
.build();
try {
ListDeliveryVehiclesResponse listDeliveryVehiclesResponse =
deliveryService.listDeliveryVehicles(listDeliveryVehiclesRequest);
} catch (StatusRuntimeException e) {
Status s = e.getStatus();
switch (s.getCode()) {
case NOT_FOUND:
break;
case PERMISSION_DENIED:
break;
}
return;
}
استراحت
# HTTP request
html GET https://fleetengine.googleapis.com/v1/providers/<project_id>/deliveryVehicles
# Request with a filter
# Request sets JWT, PROJECT_ID, and VEHICLE_ID in the local environment
curl -H "Authorization: Bearer ${JWT}" \
"https://fleetengine.googleapis.com/v1/providers/${PROJECT_ID}/deliveryVehicles?filter=attributes.my_key%20%3D%20my_value%20&viewport.high.latitude=37.45&viewport.high.longitude=-122.06&viewport.low.latitude=37.41&viewport.low.longitude=-122.11"
اگر جستجو موفقیتآمیز باشد، بدنه پاسخ شامل دادههایی با ساختار زیر است:
// JSON representation
{
"deliveryVehicles": [
{
object (DeliveryVehicle)
}
],
"nextPageToken": string,
"totalSize": integer
}