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

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

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

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

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