הצגת רכבים ברשימה

במאמר הזה מוסבר איך להציג רשימה של רכבי משלוחים.

סביבות ומגבלות

אתם יכולים להציג רכבי משלוחים מסביבת שרת או מסביבת דפדפן. ‫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 library או ב-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
  }

המאמרים הבאים