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

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

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

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

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