عرض مركبات التوصيل

يوضّح هذا المستند كيفية إدراج مركبات التسليم.

البيئات والقيود

يمكنك إدراج مركبات التسليم من بيئة خادم أو متصفّح. لا تتيح حزمة تطوير البرامج (SDK) لتطبيق Driver listing المركبات المخصّصة للتسليم.

يتطلب إدراج مركبات التسليم إذن وصول واسع النطاق إلى مركبات التسليم وهو مخصّص للمستخدمين الموثوق بهم فقط. استخدِم رمزَي الجلسة 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 request. تحدِّد مَعلمة الطلب viewport مساحات العرض باستخدام إحداثيَين محدودَين: إحداثيَا خط العرض وخط الطولhigh (شمال شرق) وlow (جنوب غرب). يتم رفض الطلبات إذا كانت تحتوي على خط عرض مرتفع يكون منخفضًا جغرافيًا مقارنةً بخط العرض المنخفض.

عرض الردود

يتم تقسيم قوائم المركبات المخصّصة للتوصيل إلى صفحات تلقائيًا باستخدام حجم صفحة معقول. إذا تحديد حجم صفحة، لا يعرض الطلب سوى عدد المركبات المحدّد بالحدّ الأقصى أو أقل. إذا تجاوز حجم الصفحة المطلوب قيمة داخلية قصوى، يتم استخدام الحد الأقصى الداخلي. العدد التلقائي والحد الأقصى لحجم الصفحة هما 100 مركبة.

يمكن أن تتضمّن قائمة المركبات المخصّصة للتوصيل رمزًا مميّزًا لقراءة الصفحة التالية من النتائج. لا يظهر الرمز المميّز للصفحة في الردّ إلا عندما تكون هناك المزيد من صفحات المركبات التي يمكن استرجاعها. لاسترداد الصفحة التالية من المهام، استخدِم رمز الصفحة مع طلب مطابق لطلب السابق.

أمثلة على المركبات المدرَجة

يمكنك استخدام مكتبة Java gRPC أو REST لعرض مركبات التسليم في منطقة معيّنة باستخدام سمة معيّنة. يمكن أن تكون الاستجابة الناجحة فارغة. وعند حدوث ذلك، يعني ذلك أنّه لا تتوفّر أي مركبات تتضمّن السمة المحدّدة في إطار العرض المحدّد.

Java


  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
  }

الخطوات التالية