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

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

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

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

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