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

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

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

يمكنك إدراج مركبات التسليم من بيئة خادم أو متصفّح. لا يتيح Driver 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 لعرض قائمة بمركبات التوصيل في منطقة معيّنة تتضمّن سمة معيّنة. قد تظل الاستجابة الناجحة فارغة. في هذه الحالة، يعني ذلك أنّه لا تتوفّر أي مركبات تتضمّن السمة المحدّدة في إطار العرض المحدّد.

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
  }

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