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

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

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

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

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