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