يوضّح هذا المستند كيفية إدراج مركبات التوصيل.
البيئات والقيود
يمكنك إدراج مركبات التسليم من بيئة خادم أو متصفّح. لا تتيح حزمة تطوير البرامج (SDK) للسائق إمكانية عرض مركبات التوصيل.
يتطلب عرض مركبات التوصيل وصولاً واسعًا إلى مركبات التوصيل، وهو مخصّص للمستخدمين الموثوق بهم فقط. استخدِم الرموز المميّزة Delivery Fleet Reader أو Fleet Engine Delivery Admin عند تقديم طلبات لإدراج مركبات التوصيل.
تم حجب الحقول التالية في مركبات التسليم المدرَجة بسبب تأثيرها في حجم الاستجابة:
CurrentRouteSegmentRemainingVehicleJourneySegments
الاستخدام
يمكنك إدراج المركبات حسب فلاتر السمات وحدود إطار العرض. إذا لم تحدّد فلترًا أو إطار عرض، سيتضمّن الردّ جميع مركبات التوصيل.
قائمة تتضمّن فلاتر السمات
يمكنك إدراج مركبات التوصيل حسب الفلتر باستخدام السمة attributes. على سبيل المثال، للاستعلام عن سمة ذات مفتاح my_key وقيمة my_value، استخدِم attributes.my_key = my_value. للاستعلام عن سمات متعددة، يمكنك دمج طلبات البحث
باستخدام عاملَي التشغيل المنطقيَّين AND وOR كما في attributes.key1 = value1 AND
attributes.key2 = value2. يُرجى الاطّلاع على AIP-160 للحصول على وصف كامل لبنية طلب البحث الخاص بالفلتر. إذا جمعت بين الفلاتر وحدود إطار العرض، يعمل الفلتر
كعامل تشغيل AND لحدود إطار العرض. لمزيد من التفاصيل، يُرجى الاطّلاع على طلبات البحث التي تستخدم فلتر سمات المركبة.
قائمة تتضمّن حدود إطار العرض
يمكنك فلترة مركبات التوصيل المدرَجة حسب الموقع الجغرافي باستخدام مَعلمة طلب viewport. تحدّد مَعلمة الطلب viewport منافذ العرض باستخدام إحداثيَين محيطَين: high (الشمال الشرقي) وlow (الجنوب الغربي) لزوج إحداثيات خط العرض وخط الطول. يتم رفض الطلبات إذا كانت تحتوي على خط عرض مرتفع
أقل جغرافيًا من خط عرض منخفض.
عرض الردود
يتم تقسيم قوائم مركبات التوصيل إلى صفحات تلقائيًا باستخدام حجم صفحة معقول. إذا حدّدت حجم الصفحة، سيعرض الطلب عدد المركبات المحدّد في الحدّ الأقصى أو أقل. إذا تجاوز حجم الصفحة المطلوب الحد الأقصى الداخلي، سيتم استخدام الحد الأقصى الداخلي. يبلغ حجم الصفحة التلقائي والحد الأقصى لحجم الصفحة 100 مركبة.
يمكن أن تتضمّن قائمة مركبات التوصيل رمزًا مميزًا لقراءة الصفحة التالية من النتائج. لا يظهر الرمز المميّز للصفحة في الاستجابة إلا عندما تكون هناك صفحات إضافية من مركبات التوصيل متاحة للاسترداد. لاسترداد الصفحة التالية من المهام، استخدِم الرمز المميّز للصفحة مع طلب مطابق للطلب السابق.
أمثلة على بيانات المركبات
يمكنك استخدام مكتبة Java 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;
}
REST
# 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
}