Method: providers.vehicles.search

تعرض قائمة بالمركبات التي تتطابق مع خيارات الطلب.

طلب HTTP

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

يستخدم عنوان URL بنية تحويل الترميز 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

مطلوبة. لتحديد عدد الركاب الذين يتم أخذهم في الاعتبار للرحلة. يجب أن تكون القيمة أكبر من واحد أو مساوية له. لم يتم أخذ السائق في الاعتبار ضمن قيمة السعة.

tripTypes[]

enum (TripType)

مطلوبة. تمثّل هذه السمة نوع الرحلة المقترَحة. يجب أن تتضمن نوعًا واحدًا فقط. لا يُسمح باستخدام UNKNOWN_TRIP_TYPE. يقصر البحث على المركبات التي تتيح إمكانية استخدام هذا النوع من الرحلة.

maximumStaleness

string (Duration format)

يقصر البحث على المركبات التي أرسلت تحديثات الموقع إلى Fleet Engine خلال المدة المحددة. ولا تعتبر المركبات الثابتة التي لا تزال تنقل مواقعها قديمة. وفي حال عدم ضبط هذا الحقل، سيستخدم الخادم خمس دقائق فقط كقيمة تلقائية.

مدة بالثواني يصل عددها إلى تسعة أرقام كسرية وتنتهي بـ "s". مثال: "3.5s".

vehicleTypes[]

object (VehicleType)

مطلوبة. يحصر البحث بالمركبات ذات أحد الأنواع المحددة. يجب تحديد نوع مركبة واحد على الأقل. لا يُسمح بأنواع المركبات من الفئة 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
...)

يقصر البحث على المركبات ذات السمات المحددة فقط. هذا الحقل هو عملية اقتران/و. يُسمح بـ 50 requiredAttributes كحد أقصى. تتطابق هذه السمة مع الحد الأقصى لعدد السمات المسموح بها في المركبة.

requiredOneOfAttributes[]

object (VehicleAttributeList)

يقتصر البحث على المركبات التي تتضمّن سمة واحدة على الأقل من السمات المحدَّدة في كل VehicleAttributeList. في كل قائمة، يجب أن تتطابق المركبة مع سمة واحدة على الأقل من السمات. هذا الحقل هو عملية ربط/أو شاملة في كل VehicleAttributeList وعملية ربط/و في مجموعة 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 فقط. يجب أن تتطابق المركبة مع جميع السمات في كل قائمة. هذا الحقل هو عملية ربط/و في كل VehicleAttributeList وعملية فاصلة/أو شاملة في مجموعة VehicleAttributeList.

orderBy

enum (VehicleMatchOrder)

مطلوبة. تحدّد هذه السمة معيار الترتيب المطلوب للنتائج.

includeBackToBack

boolean

يشير ذلك إلى ما إذا كانت المركبات التي لها رحلة نشطة واحدة مؤهّلة لعملية البحث هذه. لا يتم استخدام هذا الحقل إلا في حال عدم تحديد currentTripsPresent. إذا كانت السمة currentTripsPresent غير محدّدة وكان الحقل false، يتم استبعاد المركبات التي تشمل رحلات تم تحديدها من نتائج البحث. إذا كانت حالة currentTripsPresent غير محدّدة وكان هذا الحقل true، يمكن أن تتضمّن نتائج البحث مركبات في رحلة نشطة واحدة بالحالة ENROUTE_TO_DROPOFF. عند تحديد currentTripsPresent، لا يمكن ضبط هذا الحقل على "صحيح".

تكون القيمة التلقائية false.

tripId

string

يشير هذا العمود إلى الرحلة المرتبطة بجهاز "SearchVehicleRequest" هذا.

currentTripsPresent

enum (CurrentTripsPresent)

ويشير هذا إلى ما إذا كانت المركبات التي لها رحلات نشطة مؤهّلة لهذا البحث. ويجب ضبطها على قيمة أخرى غير CURRENT_TRIPS_PRESENT_UNSPECIFIED إذا كانت السمة tripType تتضمّن SHARED.

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

تحدّد هذه السمة الترتيب الذي تتطابق فيه المركبة في الردّ.

عمليات التعداد
UNKNOWN_VEHICLE_MATCH_ORDER الخيار التلقائي، ويتم استخدامه مع طلبات مركبة غير محدّدة أو غير معروفة.
PICKUP_POINT_ETA ترتيب تصاعدي حسب وقت قيادة المركبة إلى نقطة الاستلام
PICKUP_POINT_DISTANCE ترتيب تصاعدي حسب مسافة قيادة المركبة إلى نقطة الاستلام
DROPOFF_POINT_ETA ترتيب تصاعدي حسب وقت قيادة المركبة إلى نقطة التسليم لا يمكن استخدام هذا الطلب إلا إذا تم تحديد نقطة التسليم في الطلب.
PICKUP_POINT_STRAIGHT_DISTANCE ترتيب تصاعدي حسب المسافة المستقيمة من آخر موقع جغرافي تم الإبلاغ عنه للمركبة إلى نقطة الاستلام
COST ترتيب تصاعدي حسب تكلفة المطابقة التي تم ضبطها. وتُعرَّف تكلفة المطابقة بأنها عملية حسابية مرجّحة بين المسافة المستقيمة والوقت المقدّر للوصول. يتم ضبط معاملات الترجيح بقيم تلقائية ويمكن تعديلها لكل عميل. يُرجى التواصل مع فريق دعم Google إذا كانت هناك حاجة إلى تعديل هذه معاملات الترجيح لمشروعك.

CurrentTripsPresent

تحدِّد هذه السمة أنواع القيود المفروضة على الرحلات الحالية للمركبة.

عمليات التعداد
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" الوقت المطلوب لإكمال الرحلة النشطة الحالية.

طابع زمني بتنسيق RFC3339 UTC "Zulu" ، مع دقة نانوثانية وما يصل إلى تسعة أرقام كسرية. أمثلة: "2014-10-02T15:01:23Z" و"2014-10-02T15:01:23.045123456Z"

vehiclePickupDistanceMeters

integer

المسافة من الموقع الجغرافي الحالي للمركبة إلى نقطة الاستلام المحدّدة في الطلب، بما في ذلك أي نقاط استلام أو هبوط متوسطة للرحلات الحالية وتضم هذه المسافة مسافة القيادة (الطريق) المحسوبة، بالإضافة إلى مسافة الخط المستقيم بين نقطة نهاية التنقل ونقطة الاستلام المطلوبة. (تكون المسافة بين نقطة نهاية التنقّل ونقطة الاستلام المطلوبة عادةً صغيرة). أما القيمة الفارغة، فتشير إلى حدوث خطأ في حساب المسافة.

vehiclePickupStraightLineDistanceMeters

integer

مطلوبة. هذه السمة تعرض المسافة المستقيمة بين المركبة ونقطة الاستلام المحدّدة في الطلب.

vehicleDropoffEta

string (Timestamp format)

الوقت المقدّر للوصول للمركبة بالكامل إلى نقطة التسليم المحدَّدة في الطلب. ويشمل الوقت المقدّر للوصول التوقف عند أي نقاط طريق قبل dropoffPoint المحدّدة في الطلب. لن تتم تعبئة القيمة إلا عند تحديد نقطة تسليم في الطلب. تشير القيمة الفارغة إلى حدوث خطأ في حساب الوقت المقدر للوصول.

طابع زمني بتنسيق RFC3339 UTC "Zulu" ، مع دقة نانوثانية وما يصل إلى تسعة أرقام كسرية. أمثلة: "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

enum (VehicleMatchOrder)

الطلب الفعلي الذي تم استخدامه لهذه المركبة. سيتطابق هذا عادةً مع الحقل "orderBy" في الطلب، ولكن في حالات معيّنة، مثل حدوث خطأ داخلي في الخادم، يمكن استخدام طريقة مختلفة (مثل PICKUP_POINT_STRAIGHT_DISTANCE).

النقطة الوسيطة

لوصف النقاط المتوسطة على طول مسار VehicleMatch في SearchVehiclesResponse. ويتم تمثيل هذا المفهوم بعلامة TripWaypoint في جميع نقاط النهاية الأخرى.

تمثيل JSON
{
  "latLng": {
    object (LatLng)
  },
  "eta": string
}
الحقول
latLng

object (LatLng)

موقع نقطة الطريق هذه.

eta

string (Timestamp format)

تمثل هذه السمة الوقت المقدَّر الذي ستصل فيه المركبة إلى نقطة الطريق هذه.

طابع زمني بتنسيق RFC3339 UTC "Zulu" ، مع دقة نانوثانية وما يصل إلى تسعة أرقام كسرية. أمثلة: "2014-10-02T15:01:23Z" و"2014-10-02T15:01:23.045123456Z"

VehicleMatchType

نوع مطابقة المركبة

عمليات التعداد
UNKNOWN نوع مطابقة غير معروف للمركبة
EXCLUSIVE لم يتم تعيين رحلة للمركبة في الوقت الحالي ويمكنها المتابعة إلى نقطة الاستلام.
BACK_TO_BACK المركبة مخصّصة حاليًا لرحلة، ولكن يمكن المتابعة إلى نقطة الاستلام بعد إكمال الرحلة التي لا تزال قيد التقدّم. تأخذ حسابات الوقت المقدر للوصول والمسافة الرحلة الحالية في الاعتبار.
CARPOOL سعة المركبة كافية.
CARPOOL_BACK_TO_BACK ستُكمل المركبة رحلتها الحالية النشطة قبل المتابعة إلى نقطة الاستلام. تأخذ حسابات الوقت المقدر للوصول والمسافة الرحلة الحالية في الاعتبار.