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

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

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

يمكنك إدراج مركبات التوصيل من بيئة خادم أو متصفّح. لا تتيح حزمة تطوير البرامج (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 إطارات العرض باستخدام إحداثيَين يحدّدان الحدود: زوج إحداثيات خط العرض وخط الطول 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
  }

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