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

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

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

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

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