Method: providers.vehicles.search

הפונקציה מחזירה רשימה של רכבים שתואמים לאפשרויות הבקשה.

בקשת HTTP

POST https://fleetengine.googleapis.com/v1/{parent=providers/*}/vehicles:search

כתובת ה-URL משתמשת בתחביר של Transcoding של gRPC.

פרמטרים של נתיב

פרמטרים
parent

string

חובה. הפורמט הנדרש הוא providers/{provider}. הספק חייב להיות מזהה הפרויקט (לדוגמה, sample-cloud-project) של פרויקט Google Cloud שבו חשבון השירות שמבצע את הקריאה הזו הוא חבר.

גוף הבקשה

גוף הבקשה מכיל נתונים במבנה הבא:

ייצוג ב-JSON
{
  "header": {
    object (RequestHeader)
  },
  "pickupPoint": {
    object (TerminalLocation)
  },
  "dropoffPoint": {
    object (TerminalLocation)
  },
  "pickupRadiusMeters": integer,
  "count": integer,
  "minimumCapacity": integer,
  "tripTypes": [
    enum (TripType)
  ],
  "maximumStaleness": string,
  "vehicleTypes": [
    {
      object (VehicleType)
    }
  ],
  "requiredAttributes": [
    {
      object (VehicleAttribute)
    }
  ],
  "requiredOneOfAttributes": [
    {
      object (VehicleAttributeList)
    }
  ],
  "requiredOneOfAttributeSets": [
    {
      object (VehicleAttributeList)
    }
  ],
  "orderBy": enum (VehicleMatchOrder),
  "includeBackToBack": boolean,
  "tripId": string,
  "currentTripsPresent": enum (CurrentTripsPresent),
  "filter": string
}
שדות
header

object (RequestHeader)

כותרת הבקשה הרגילה של Fleet Engine.

pickupPoint

object (TerminalLocation)

חובה. נקודת האיסוף שרוצים לחפש בסביבתה.

dropoffPoint

object (TerminalLocation)

המיקום המתוכנן של מסירת ההזמנה ללקוח. השדה הזה נדרש אם השדה tripTypes מכיל את השדה TripType.SHARED.

pickupRadiusMeters

integer

חובה. הגדרת רדיוס החיפוש של הרכב סביב נקודת האיסוף. יוצגו רק רכבים שנמצאים ברדיוס החיפוש. הערך צריך להיות בין 400 ל-10,000 מטרים (כולל).

count

integer

חובה. מציין את המספר המקסימלי של כלי רכב להחזרה. הערך צריך להיות בין 1 ל-50 (כולל).

minimumCapacity

integer

חובה. מספר הנוסעים שנלקחים בחשבון לנסיעה. הערך חייב להיות גדול מ-1 או שווה לו. הנהג לא נכלל בערך הקיבולת.

tripTypes[]

enum (TripType)

חובה. מייצג את סוג הנסיעה המוצעת. צריך לכלול רק סוג אחד. לא ניתן להפר את המדיניות: UNKNOWN_TRIP_TYPE הגבלת החיפוש רק לכלי רכב שיכולים לתמוך בסוג הנסיעה הזה.

maximumStaleness

string (Duration format)

הגבלת החיפוש רק לרכב ששלחו עדכוני מיקום ל-Fleet Engine במהלך פרק הזמן שצוין. רכבים סטטיים שעדיין משדרים את המיקומים שלהם לא נחשבים לא מעודכנים. אם השדה הזה לא מוגדר, השרת משתמש בערך ברירת המחדל של חמש דקות.

משך הזמן בשניות, עם עד תשע ספרות עשרוניות, שמסתיימים ב-'s'. דוגמה: "3.5s".

vehicleTypes[]

object (VehicleType)

חובה. הגבלת החיפוש לכלי רכב מאחד מהסוגים שצוינו. צריך לציין לפחות סוג רכב אחד. אסור להשתמש ב-VehicleTypes עם קטגוריה UNKNOWN.

requiredAttributes[]

object (VehicleAttribute)

מבצעי הקריאה יכולים ליצור פעולות לוגיות מורכבות באמצעות כל שילוב של השדות requiredAttributes,‏ requiredOneOfAttributes ו-requiredOneOfAttributeSets.

requiredAttributes היא רשימה. ב-requiredOneOfAttributes נעשה שימוש בהודעה שמאפשרת רשימה של רשימות. בשילוב, שני השדות מאפשרים ליצור את הביטוי הזה:

(requiredAttributes[0] AND requiredAttributes[1] AND ...)
AND
(requiredOneOfAttributes[0][0] OR requiredOneOfAttributes[0][1] OR
...)
AND
(requiredOneOfAttributes[1][0] OR requiredOneOfAttributes[1][1] OR
...)

הגבלת החיפוש רק לרכבים עם המאפיינים שצוינו. השדה הזה הוא פעולת התחברות/AND. אפשר להוסיף עד 50 מאפייני requiredAttributes. זהו המספר המקסימלי של מאפיינים שמותר להוסיף לרכב.

requiredOneOfAttributes[]

object (VehicleAttributeList)

הגבלת החיפוש רק לכלי רכב שיש להם לפחות אחד מהמאפיינים שצוינו בכל VehicleAttributeList. בכל רשימה, הרכב חייב להתאים לפחות לאחד מהמאפיינים. השדה הזה הוא פעולת או/OR כוללנית בכל VehicleAttributeList ופעולת וג/AND על פני האוסף של VehicleAttributeList.

requiredOneOfAttributeSets[]

object (VehicleAttributeList)

requiredOneOfAttributeSets מספק פונקציונליות נוספת.

בדומה ל-requiredOneOfAttributes, גם ב-requiredOneOfAttributeSets נעשה שימוש בהודעה שמאפשרת רשימה של רשימות, ומאפשרת להשתמש בביטויים כמו זה:

(requiredAttributes[0] AND requiredAttributes[1] AND ...)
AND
(
  (requiredOneOfAttributeSets[0][0] AND
  requiredOneOfAttributeSets[0][1] AND
  ...)
  OR
  (requiredOneOfAttributeSets[1][0] AND
  requiredOneOfAttributeSets[1][1] AND
  ...)
)

הגבלת החיפוש רק לרכבים שיש להם את כל המאפיינים ב-VehicleAttributeList. בכל רשימה, הרכב חייב להתאים לכל המאפיינים. השדה הזה הוא פעולת חיבור/AND בכל VehicleAttributeList ופעולת חיבור/OR כוללנית בכל האוסף של VehicleAttributeList.

orderBy

enum (VehicleMatchOrder)

חובה. מציין את קריטריון הסדר הרצוי של התוצאות.

includeBackToBack

boolean

השדה הזה מציין אם רכבים עם נסיעה פעילה אחת עומדים בדרישות החיפוש הזה. השדה הזה משמש רק כשלא צוין currentTripsPresent. אם לא צוין ערך בשדה currentTripsPresent והשדה הזה מכיל את הערך false, רכבים עם נסיעות שהוקצו להם לא ייכללו בתוצאות החיפוש. כשהערך של currentTripsPresent לא צוין והשדה הזה הוא true, תוצאות החיפוש יכולות לכלול כלי רכב עם נסיעה פעילה אחת בסטטוס ENROUTE_TO_DROPOFF. כשמציינים את הערך currentTripsPresent, אי אפשר להגדיר את השדה הזה כ-true.

ערך ברירת המחדל הוא false.

tripId

string

הנסיעה שמשויכת ל-SearchVehicleRequest הזה.

currentTripsPresent

enum (CurrentTripsPresent)

האפשרות הזו מציינת אם רכבים עם נסיעות פעילות עומדים בדרישות החיפוש הזה. אם השדה tripType כולל את השדה SHARED, צריך להגדיר לו ערך שאינו CURRENT_TRIPS_PRESENT_UNSPECIFIED.

filter

string

זה שינוי אופציונלי. שאילתת סינון שחלה במהלך חיפוש כלי רכב. דוגמאות לתחביר של המסנן זמינות בכתובת http://aip.dev/160.

השדה הזה נועד להחליף את השדות requiredAttributes,‏ requiredOneOfAttributes ו-required_one_of_attributes_sets. אם מציינים כאן ערך שאינו ריק, השדות הבאים חייבים להיות ריקים: requiredAttributes,‏ requiredOneOfAttributes ו-required_one_of_attributes_sets.

המסנן הזה פועל כתנאי AND עם אילוצים אחרים, כמו minimumCapacity או vehicleTypes.

הערה: השאילתות היחידות שנתמכות הן על מאפייני כלי רכב (לדוגמה, attributes.<key> = <value> או attributes.<key1> = <value1> AND attributes.<key2> = <value2>). מספר ההגבלות המקסימלי שמותר בשאילתת סינון הוא 50.

בנוסף, כל המאפיינים מאוחסנים כמחרוזות, כך שההשוואות היחידות הנתמכות למאפיינים הן השוואות בין מחרוזות. כדי להשוות לערכים מספריים או לערכים בוליאניים, צריך להוסיף לכל הערכים מירכאות מפורשות כדי שיוגדרו כמחרוזות (לדוגמה, attributes.<key> = "10" או attributes.<key> = "true").

גוף התשובה

הודעת התגובה vehicles.search.

אם הפעולה מצליחה, גוף התגובה מכיל נתונים במבנה הבא:

ייצוג ב-JSON
{
  "matches": [
    {
      object (VehicleMatch)
    }
  ]
}
שדות
matches[]

object (VehicleMatch)

רשימת כלי רכב שתואמים לקריטריונים של SearchVehiclesRequest, ממוינת לפי השדה SearchVehiclesRequest.order_by.

VehicleAttributeList

סוג נתונים של רשימת רשימות למאפייני רכב.

ייצוג ב-JSON
{
  "attributes": [
    {
      object (VehicleAttribute)
    }
  ]
}
שדות
attributes[]

object (VehicleAttribute)

רשימת המאפיינים שבקולקציה הזו.

VehicleMatchOrder

מציין את הסדר של התאמות הרכב בתגובה.

טיפוסים בני מנייה (enum)
UNKNOWN_VEHICLE_MATCH_ORDER ברירת המחדל, משמשת להזמנת התאמות של כלי רכב לא ספציפיים או לא מזוהים.
PICKUP_POINT_ETA בסדר עולה לפי זמן הנסיעה ברכב לנקודת האיסוף.
PICKUP_POINT_DISTANCE מיון בסדר עולה לפי מרחק הנסיעה ברכב לנקודת האיסוף.
DROPOFF_POINT_ETA בסדר עולה לפי זמן הנסיעה של הרכב לנקודת המסירה. אפשר להשתמש בהזמנה הזו רק אם נקודת המסירה צוינה בבקשה.
PICKUP_POINT_STRAIGHT_DISTANCE בסדר עולה לפי המרחק בקו ישר מהמיקום האחרון שדווח על הרכב לנקודת האיסוף.
COST סדר עולה לפי עלות ההתאמה שהוגדרה. עלות ההתאמה מוגדרת כחישוב משוקלל בין המרחק בקו ישר לבין זמן ההגעה המשוער. המשקלים מוגדרים בערכי ברירת מחדל, ואפשר לשנות אותם לפי לקוח. אם צריך לשנות את המשקלים האלה בפרויקט, צריך לפנות לתמיכה של Google.

CurrentTripsPresent

מציין את סוגי ההגבלות על הנסיעות הנוכחיות של הרכב.

טיפוסים בני מנייה (enum)
CURRENT_TRIPS_PRESENT_UNSPECIFIED הזמינות של כלי רכב עם נסיעות נקבעת לפי השדה includeBackToBack.
NONE רכבים ללא נסיעות יכולים להופיע בתוצאות החיפוש. כשמשתמשים בערך הזה, הערך של includeBackToBack לא יכול להיות true.
ANY תוצאות החיפוש כוללות רכבים עם עד 5 נסיעות נוכחיות ו-10 נקודות דרך. כשמשתמשים בערך הזה, הערך של includeBackToBack לא יכול להיות true.

VehicleMatch

מכיל את הרכב ואת האומדנים הקשורים לרכב שתואמים לנקודות של נסיעות פעילות ברכב SearchVehiclesRequest.

ייצוג ב-JSON
{
  "vehicle": {
    object (Vehicle)
  },
  "vehiclePickupEta": string,
  "vehiclePickupDistanceMeters": integer,
  "vehiclePickupStraightLineDistanceMeters": integer,
  "vehicleDropoffEta": string,
  "vehiclePickupToDropoffDistanceMeters": integer,
  "tripType": enum (TripType),
  "vehicleTripsWaypoints": [
    {
      object (Waypoint)
    }
  ],
  "vehicleMatchType": enum (VehicleMatchType),
  "requestedOrderedBy": enum (VehicleMatchOrder),
  "orderedBy": enum (VehicleMatchOrder)
}
שדות
vehicle

object (Vehicle)

חובה. רכב שתואמת לבקשה.

vehiclePickupEta

string (Timestamp format)

זמן הנסיעה המשוער של הרכב לנקודת האיסוף שצוינה בבקשה. ערך ריק מציין כשל בחישוב זמן ההגעה המשוער לרכב. אם הערך של SearchVehiclesRequest.include_back_to_back היה true ויש לרכב הזה נסיעה פעילה, הערך של vehiclePickupEta כולל את הזמן הנדרש להשלמת הנסיעה הפעילה הנוכחית.

חותמת זמן בפורמט UTC 'Zulu' של RFC3339, עם רזולוציה של ננו-שנייה ועד תשע ספרות עשרוניות. דוגמאות: "2014-10-02T15:01:23Z" ו-"2014-10-02T15:01:23.045123456Z".

vehiclePickupDistanceMeters

integer

המרחק מהמיקום הנוכחי של הרכב לנקודת האיסוף שצוינה בבקשה, כולל נקודות איסוף או הורדה ביניים בנסיעות קיימות. המרחק הזה מורכב מהמרחק המחושב לנסיעה (מסלול), בתוספת המרחק בקו ישר בין נקודת הסיום של הניווט לבין נקודת האיסוף המבוקשת. (המרחק בין נקודת היעד של הניווט לנקודת האיסוף המבוקשת הוא בדרך כלל קצר). ערך ריק מציין שגיאה בחישוב המרחק.

vehiclePickupStraightLineDistanceMeters

integer

חובה. המרחק בקו ישר בין הרכב לנקודת האיסוף שצוינה בבקשה.

vehicleDropoffEta

string (Timestamp format)

זמן הנסיעה המשוער של הרכב לנקודת ההורדה שצוינה בבקשה. זמן ההגעה המשוער כולל עצירות בנקודות ציון לפני dropoffPoint שצוין בבקשה. הערך יאוכלס רק אם יצוין נקודת איסוף בבקשה. ערך ריק מציין שגיאה בחישוב זמן ההגעה המשוער.

חותמת זמן בפורמט UTC 'Zulu' של RFC3339, עם רזולוציה של ננו-שנייה ועד תשע ספרות עשרוניות. דוגמאות: "2014-10-02T15:01:23Z" ו-"2014-10-02T15:01:23.045123456Z".

vehiclePickupToDropoffDistanceMeters

integer

מרחק הנסיעה של הרכב (במטרים) מנקודת האיסוף לנקודת ההורדה שצוינו בבקשה. המרחק הוא רק בין שתי הנקודות, ולא כולל את מיקום הרכב או נקודות אחרות שצריך לבקר בהן לפני שהרכב מגיע לנקודת האיסוף או לנקודת ההורדה. הערך יאוכלס רק כאשר dropoffPoint יצוין בבקשה. ערך ריק מציין כשל בחישוב המרחק מנקודת האיסוף לנקודת ההורדה שצוינה בבקשה.

tripType

enum (TripType)

חובה. סוג הנסיעה של הבקשה ששימש לחישוב זמן ההגעה המשוער לנקודת האיסוף.

vehicleTripsWaypoints[]

object (Waypoint)

רשימת נקודות הדרך הממוזערת שמשמש לחישוב זמן ההגעה המשוער. הרשימה כוללת את מיקום הרכב, את נקודות האיסוף של נסיעות פעילות ברכב ואת נקודות האיסוף שצוינו בבקשה. רשימה ריקה מציינת כי לא ניתן היה לחשב את זמן ההגעה המשוער של הרכב.

vehicleMatchType

enum (VehicleMatchType)

סוג ההתאמה של הרכב.

requestedOrderedBy

enum (VehicleMatchOrder)

הסדר המבוקש למיון ההתאמות של כלי הרכב. שווה ערך ל-orderedBy.

orderedBy

enum (VehicleMatchOrder)

הסדר המבוקש למיון ההתאמות של כלי הרכב. שווה ערך ל-requestedOrderedBy.

נקודת ציון

תיאור של נקודות ביניים לאורך מסלול של VehicleMatch ב-SearchVehiclesResponse. הקונספט הזה מיוצג כ-TripWaypoint בכל נקודות הקצה האחרות.

ייצוג ב-JSON
{
  "latLng": {
    object (LatLng)
  },
  "eta": string
}
שדות
latLng

object (LatLng)

המיקום של נקודת הציון הזו.

eta

string (Timestamp format)

השעה המשוערת שבה הרכב יגיע לנקודת הציון הזו.

חותמת זמן בפורמט UTC 'Zulu' של RFC3339, עם רזולוציה של ננו-שנייה ועד תשע ספרות עשרוניות. דוגמאות: "2014-10-02T15:01:23Z" ו-"2014-10-02T15:01:23.045123456Z".

VehicleMatchType

סוג ההתאמה של הרכב.

טיפוסים בני מנייה (enum)
UNKNOWN סוג התאמה לא ידוע של רכב
EXCLUSIVE אין כרגע נסיעה שהוקצה לה הרכב, והוא יכול להמשיך לנקודת האיסוף.
BACK_TO_BACK הרכב מוקצה כרגע לנסיעה, אבל הוא יכול להמשיך לנקודת האיסוף אחרי השלמת הנסיעה המתבצעת. חישובי המרחק וזמן ההגעה המשוער מבוססים על הנסיעה הקיימת.
CARPOOL ברכב יש מספיק מקום לנסיעה משותפת.
CARPOOL_BACK_TO_BACK הרכב ישלים את הנסיעה הפעילה הנוכחית לפני שהוא ימשיך לנקודת האיסוף. חישובי המרחק וזמן ההגעה המשוער מבוססים על הנסיעה הקיימת.