يتناول هذا المستند حقول المركبات المهمة التي يمكنك عند إنشاء المركبات وإدارتها.
|
للاطّلاع على قائمة كاملة بحقول المركبات، يُرجى الاطّلاع على ما يلي: |
حقل سمات المركبة
استخدِم حقل المركبة attributes
لإنشاء معايير مخصّصة من أجل تفعيل
مستهلكين أو مشغلي أسطول للعثور على مركبات في أسطولك عبر
معايير البحث المتنوعة. يعزز هذا إمكانات تطبيقاتك
تقديم مطابقات أفضل للمركبات مقارنةً بما يمكنك البحث عنه باستخدام معايير البحث
فقط بالاستناد إلى حقول المركبات الأخرى. يمكن أن تحتوي كل مركبة على 100 مركبة كحد أقصى.
السمات، ويجب أن يكون لكل واحدة مفتاح فريد. يمكن أن تكون القيم سلاسل،
أو القيم المنطقية أو الأرقام.
على سبيل المثال، يمكنك الإفصاح عن سمة مخصّصة اسمها zone
التمييز بين منطقة المدينة التي تعمل فيها مركبات التسليم. يمكنك
يمكنك استخدام قيم سلسلة مثل ما يلي لتمثيل مناطق مختلفة: 1B
،
2C
و3A
ويمكنك بعد ذلك استخدام فلتر في تتبع الأسطول لعرض
المركبات التي تعمل في منطقة معيّنة إلى المشغّل المسؤول عن تلك المنطقة
ومع ذلك، ليس من الضروري أن تكون قيم السمات المخصّصة حصرية بشكل متبادل. قد تريد تستخدِم معايير مثل "متوفّر في الليل" و"مزوّد بالتبريد". كل من هذه يمكن أن يكون سمة مخصصة منفصلة تستخدم قيمًا منطقية. مركبة معيّنة جميع هذه السمات المخصصة الثلاث جنبًا إلى جنب مع المنطقة تم تعيين السمة المخصصة إلى قيمة السلسلة المناسبة.
تعديل سمات المركبة
ويمكن لكل مفتاح attributes
أن يتضمّن قيمة واحدة فقط لكل مركبة. أنت تعلن
لسمات المركبة المخصصة باستخدام attributes
في قناع الحقل، ثم
تقديم قيم بناءً على الطريقة أدناه.
لا تتيح واجهة برمجة تطبيقات UpdateDeliveryVehicle
هذه تحديث إصدار واحد فقط
. عند استخدام هذه الطريقة، أي استخدام للحقل attributes
في
ينتج عن كمامات الحقل المجموعة الكاملة لسمات المركبة التي تتم إعادة تعريفها
للمركبة. يؤدي هذا إلى استبدال أي سمة موجودة مسبقًا لم يتم
بشكل صريح في قناع الحقل. في حال استخدام هذه الطريقة للإعلان عن نشاط تجاري جديد
يجب إعادة تعريف كل سمة مخصصة تريد
مركبة للاحتفاظ بها. إذا استبعدت attributes
في قناع الحقل، فإن هذا
السمات المخصّصة الحالية كما هو محدّد سابقًا للمركبة.
إذا كنت تستخدم attributes
في قناع الحقل، ولكن بدون قيم، فهذا يعني
أي ما يعادل إزالة جميع السمات المخصّصة من المركبة
مثال على تعديل حقول المركبات
يعرض هذا القسم كيفية تعديل حقول المركبات باستخدام
UpdateDeliveryVehicleRequest
، الذي يتضمّن update_mask
للإشارة إلى
الحقول التي يجب تحديثها. اطلع على وثائق البروتوكولات المؤقتة على
أقنعة الحقل للاطّلاع على التفاصيل.
تتطلّب التعديلات على الحقول الأخرى غير "last_location
" إرسال مجموعة المحرّكات.
امتيازات المشرف.
مثال: ضبط سمة مخصّصة
يحدّد هذا المثال سمة جديدة: zone
. كما هو موضح في
تعديل سمات المركبة في وقت سابق، مع تعديل حقل attributes
باستخدام
يتطلب منك هذا الأسلوب تحديد جميع السمات المخصصة التي تريد الاحتفاظ بها.
بالتالي، يعرض المثال قيمة available-at-night
مكتوبة للحفاظ عليها.
أن يتم الاستبدال أثناء عملية تحديث تحدد
حقل attributes
.
يُرجى الاطّلاع على المرجع providers.deliveryVehicles.patch.
gRPC
static final String PROJECT_ID = "my-delivery-co-gcp-project";
static final String VEHICLE_ID = "vehicle-8241890";
DeliveryServiceBlockingStub deliveryService =
DeliveryServiceGrpc.newBlockingStub(channel);
// Vehicle settings
String vehicleName = "providers/" + PROJECT_ID + "/deliveryVehicles/" + VEHICLE_ID;
DeliveryVehicle myDeliveryVehicle = DeliveryVehicle.newBuilder()
.addAllAttributes(ImmutableList.of(
DeliveryVehicleAttribute.newBuilder().setKey("zone").setValue("1B").build(),
DeliveryVehicleAttribute.newBuilder().setKey("available-at-night").setValue("true").build()))
.build();
// DeliveryVehicle request
UpdateDeliveryVehicleRequest updateDeliveryVehicleRequest =
UpdateDeliveryVehicleRequest.newBuilder() // No need for the header
.setName(vehicleName)
.setDeliveryVehicle(myDeliveryVehicle)
.setUpdateMask(FieldMask.newBuilder()
.addPaths("attributes"))
.build();
try {
DeliveryVehicle updatedDeliveryVehicle =
deliveryService.updateDeliveryVehicle(updateDeliveryVehicleRequest);
} catch (StatusRuntimeException e) {
Status s = e.getStatus();
switch (s.getCode()) {
case NOT_FOUND:
break;
case PERMISSION_DENIED:
break;
}
return;
}
راحة
# Set JWT, PROJECT_ID, VEHICLE_ID, TASK1_ID, and TASK2_ID in the local
# environment
curl -X PATCH "https://fleetengine.googleapis.com/v1/providers/${PROJECT_ID}/deliveryVehicles/${VEHICLE_ID}?updateMask=attributes" \
-H "Content-type: application/json" \
-H "Authorization: Bearer ${JWT}" \
--data-binary @- << EOM
{
"attributes": [
{"key": "zone", "value": "1B"},
{"key": "available-at-night", "value": "true"}
]
}
EOM