REST Resource: providers.tasks

منبع: وظیفه

یک Task در Delivery API نشان دهنده یک عمل واحد برای ردیابی است. به طور کلی، بین وظایف مربوط به حمل و نقل و وظایف شکستن تفاوت وجود دارد. یک محموله می تواند چندین کار مرتبط با آن داشته باشد. برای مثال، می‌تواند یک Task برای تحویل و یکی برای تحویل یا انتقال وجود داشته باشد. همچنین، وظایف مختلف برای یک محموله مشخص می تواند توسط وسایل نقلیه مختلف انجام شود. به عنوان مثال، یک وسیله نقلیه می‌تواند وانت را انجام دهد و محموله را به مرکز انتقال می‌دهد، در حالی که وسیله نقلیه دیگری همان محموله را از هاب به محل تحویل می‌برد.

توجه: API های gRPC و REST از قراردادهای نامگذاری فیلدهای مختلف استفاده می کنند. برای مثال، فیلد Task.journey_sharing_info در gRPC API و فیلد Task.journeySharingInfo در REST API به همین فیلد اشاره دارد.

نمایندگی JSON
{
  "name": string,
  "type": enum (Type),
  "state": enum (State),
  "taskOutcome": enum (TaskOutcome),
  "taskOutcomeTime": string,
  "taskOutcomeLocation": {
    object (LocationInfo)
  },
  "taskOutcomeLocationSource": enum (TaskOutcomeLocationSource),
  "trackingId": string,
  "deliveryVehicleId": string,
  "plannedLocation": {
    object (LocationInfo)
  },
  "taskDuration": string,
  "targetTimeWindow": {
    object (TimeWindow)
  },
  "journeySharingInfo": {
    object (JourneySharingInfo)
  },
  "taskTrackingViewConfig": {
    object (TaskTrackingViewConfig)
  },
  "attributes": [
    {
      object (TaskAttribute)
    }
  ]
}
فیلدها
name

string

باید در قالب providers/{provider}/tasks/{task} باشد.

type

enum ( Type )

مورد نیاز. تغییرناپذیر. نوع Task را مشخص می کند. به عنوان مثال، یک استراحت یا حمل و نقل.

state

enum ( State )

مورد نیاز. وضعیت فعلی اجرای Task.

taskOutcome

enum ( TaskOutcome )

نتیجه کار.

taskOutcomeTime

string ( Timestamp format)

مهر زمانی که نشان می دهد چه زمانی نتیجه Task توسط ارائه دهنده تنظیم شده است.

مهر زمانی در قالب RFC3339 UTC "Zulu"، با وضوح نانوثانیه و حداکثر نه رقم کسری. مثال‌ها: "2014-10-02T15:01:23Z" و "2014-10-02T15:01:23.045123456Z" .

taskOutcomeLocation

object ( LocationInfo )

مکانی که نتیجه Task در آن تنظیم شد. این مقدار به عنوان بخشی از tasks.patch به روز می شود. اگر این مقدار به صراحت توسط ارائه‌دهنده به‌روزرسانی نشده باشد، Fleet Engine آن را به‌طور پیش‌فرض با آخرین مکان شناخته‌شده وسیله نقلیه (مکان خام ) پر می‌کند.

taskOutcomeLocationSource

enum ( TaskOutcomeLocationSource )

نشان می دهد که مقدار taskOutcomeLocation از کجا آمده است.

trackingId

string

تغییرناپذیر. این فیلد ذخیره سازی یک شناسه را تسهیل می کند، بنابراین می توانید از استفاده از نقشه های پیچیده اجتناب کنید. نمی‌توانید trackingId برای Tasks از نوع UNAVAILABLE و SCHEDULED_STOP تنظیم کنید. این شناسه ها مشمول محدودیت های زیر هستند:

  • باید یک رشته یونیکد معتبر باشد.
  • حداکثر به طول 64 کاراکتر محدود شده است.
  • طبق فرم C عادی سازی یونیکد نرمال شده است.
  • ممکن است حاوی هیچ یک از کاراکترهای ASCII زیر نباشد: «/»، «:»، «؟»، «،»، یا «#».
deliveryVehicleId

string

فقط خروجی شناسه وسیله نقلیه ای که این وظیفه را انجام می دهد. شناسه خودروهای تحویلی مشمول محدودیت‌های زیر است:

  • باید یک رشته یونیکد معتبر باشد.
  • حداکثر به طول 64 کاراکتر محدود شده است.
  • طبق فرم C عادی سازی یونیکد نرمال شده است.
  • ممکن است حاوی هیچ یک از کاراکترهای ASCII زیر نباشد: «/»، «:»، «؟»، «،»، یا «#».
plannedLocation

object ( LocationInfo )

تغییرناپذیر. مکانی که وظیفه تکمیل خواهد شد. برای کارهای UNAVAILABLE اختیاری است، اما برای همه وظایف دیگر لازم است.

taskDuration

string ( Duration format)

مورد نیاز. تغییرناپذیر. زمان لازم برای اجرای یک Task در این مکان.

مدت زمان در ثانیه با حداکثر نه رقم کسری که با ' s ' ختم می شود. مثال: "3.5s" .

targetTimeWindow

object ( TimeWindow )

پنجره زمانی که در طی آن کار باید تکمیل شود.

journeySharingInfo

object ( JourneySharingInfo )

فقط خروجی زمینه های خاص اشتراک گذاری سفر. وقتی حالت CLOSED است پر نمی شود.

taskTrackingViewConfig

object ( TaskTrackingViewConfig )

پیکربندی برای ردیابی کار که مشخص می کند کدام عناصر داده تحت چه شرایطی برای کاربران نهایی قابل مشاهده است.

attributes[]

object ( TaskAttribute )

لیستی از ویژگی های Task سفارشی. هر ویژگی باید یک کلید منحصر به فرد داشته باشد.

تایپ کنید

نوع وظیفه

Enums
TYPE_UNSPECIFIED به طور پیش فرض، نوع وظیفه ناشناخته است.
PICKUP وظیفه پیکاپ اقدامی است که برای تحویل گرفتن محموله از مشتری انجام می شود. وانت های انباری یا تغذیه کننده خودرو باید از نوع SCHEDULED_STOP استفاده کنند.
DELIVERY وظیفه تحویل، اقدامی است که برای تحویل یک محموله به مشتری نهایی انجام می شود. وسایل نقلیه انباری یا تغذیه کننده باید از نوع SCHEDULED_STOP استفاده کنند.
SCHEDULED_STOP یک کار توقف برنامه ریزی شده برای اهداف برنامه ریزی استفاده می شود. به عنوان مثال، می تواند نشان دهنده تحویل یا تحویل محموله ها از وسایل نقلیه تغذیه کننده یا انبارها باشد. نباید برای هر محموله ای که از مشتری نهایی تحویل گرفته یا تحویل داده می شود استفاده شود.
UNAVAILABLE وظیفه ای که به این معنی است که وسیله نقلیه برای سرویس در دسترس نیست. به عنوان مثال، زمانی که راننده استراحت می کند، یا زمانی که وسیله نقلیه در حال سوخت گیری است، این اتفاق می افتد.

TaskOutcomeLocationSource

هویت منبعی که taskOutcomeLocation را پر کرده است.

Enums
TASK_OUTCOME_LOCATION_SOURCE_UNSPECIFIED نتیجه کار قبل از تنظیم.
PROVIDER ارائه دهنده taskOutcomeLocation مشخص کرده است.
LAST_VEHICLE_LOCATION ارائه دهنده taskOutcomeLocation مشخص نکرده است، بنابراین Fleet Engine از آخرین مکان شناخته شده وسیله نقلیه استفاده کرد.

JourneySharingInfo

سفر به اشتراک گذاری زمینه های خاص.

نمایندگی JSON
{
  "remainingVehicleJourneySegments": [
    {
      object (VehicleJourneySegment)
    }
  ],
  "lastLocation": {
    object (DeliveryVehicleLocation)
  },
  "lastLocationSnappable": boolean
}
فیلدها
remainingVehicleJourneySegments[]

object ( VehicleJourneySegment )

اطلاعات ردیابی برای توقف هایی که وسیله نقلیه تعیین شده قبل از انجام این کار انجام می دهد. توجه داشته باشید که این لیست می تواند شامل توقف هایی از سایر وظایف باشد.

بخش اول، Task.journey_sharing_info.remaining_vehicle_journey_segments[0] (gRPC) یا Task.journeySharingInfo.remainingVehicleJourneySegments[0] (REST)، حاوی اطلاعات مسیر از آخرین مکان شناخته شده راننده تا VehicleStop آینده است. اطلاعات مسیر فعلی معمولاً از برنامه راننده می آید، به جز مواردی که در اسناد برای DeliveryVehicle.current_route_segment ذکر شده است. بخش‌های دیگر در Task.journey_sharing_info.remaining_vehicle_journey_segments (gRPC) یا Task.journeySharingInfo.remainingVehicleJourneySegments (REST) ​​توسط Fleet Engine پر شده‌اند. آنها اطلاعات مسیر بین VehicleStops باقی مانده را ارائه می دهند.

lastLocation

object ( DeliveryVehicleLocation )

آخرین مکان گزارش شده خودرو از وسیله نقلیه اختصاص داده شده را نشان می دهد.

lastLocationSnappable

boolean

نشان می دهد که آیا می توان آخرین مکان وسیله نقلیه را به currentRouteSegment منتقل کرد یا خیر. اگر lastLocation یا currentRouteSegment وجود نداشته باشد، این مقدار False است. این مقدار توسط Fleet Engine محاسبه می شود. به‌روزرسانی‌های مشتریان نادیده گرفته می‌شوند.

TaskTrackingViewConfig

پیام پیکربندی که تعیین می کند چه زمانی یک عنصر داده از یک وظیفه باید برای کاربران نهایی قابل مشاهده باشد.

نمایندگی JSON
{
  "routePolylinePointsVisibility": {
    object (VisibilityOption)
  },
  "estimatedArrivalTimeVisibility": {
    object (VisibilityOption)
  },
  "estimatedTaskCompletionTimeVisibility": {
    object (VisibilityOption)
  },
  "remainingDrivingDistanceVisibility": {
    object (VisibilityOption)
  },
  "remainingStopCountVisibility": {
    object (VisibilityOption)
  },
  "vehicleLocationVisibility": {
    object (VisibilityOption)
  }
}
فیلدها
routePolylinePointsVisibility

object ( VisibilityOption )

فیلدی که مشخص می کند چه زمانی نقاط چند خط مسیر قابل مشاهده هستند. اگر این فیلد مشخص نشده باشد، از پیکربندی نمای پیش‌فرض سطح پروژه برای این داده‌ها استفاده می‌شود.

estimatedArrivalTimeVisibility

object ( VisibilityOption )

فیلدی که تعیین می‌کند زمان تخمینی رسیدن چه زمانی قابل مشاهده است. اگر این فیلد مشخص نشده باشد، از پیکربندی نمای پیش‌فرض سطح پروژه برای این داده‌ها استفاده می‌شود.

estimatedTaskCompletionTimeVisibility

object ( VisibilityOption )

فیلدی که مشخص می کند زمان تخمینی تکمیل کار چه زمانی قابل مشاهده است. اگر این فیلد مشخص نشده باشد، از پیکربندی نمای پیش‌فرض سطح پروژه برای این داده‌ها استفاده می‌شود.

remainingDrivingDistanceVisibility

object ( VisibilityOption )

فیلدی که تعیین می کند چه زمانی مسافت رانندگی باقی مانده می تواند قابل مشاهده باشد. اگر این فیلد مشخص نشده باشد، از پیکربندی نمای پیش‌فرض سطح پروژه برای این داده‌ها استفاده می‌شود.

remainingStopCountVisibility

object ( VisibilityOption )

فیلدی که تعیین می کند چه زمانی تعداد توقف باقی مانده می تواند قابل مشاهده باشد. اگر این فیلد مشخص نشده باشد، از پیکربندی نمای پیش‌فرض سطح پروژه برای این داده‌ها استفاده می‌شود.

vehicleLocationVisibility

object ( VisibilityOption )

فیلدی که مشخص می‌کند چه زمانی مکان وسیله نقلیه قابل مشاهده است. اگر این فیلد مشخص نشده باشد، از پیکربندی نمای پیش‌فرض سطح پروژه برای این داده‌ها استفاده می‌شود.

VisibilityOption

پیام گزینه ای که تعیین می کند چه زمانی یک عنصر داده باید برای کاربران نهایی قابل مشاهده باشد.

نمایندگی JSON
{

  // Union field visibility_option can be only one of the following:
  "remainingStopCountThreshold": integer,
  "durationUntilEstimatedArrivalTimeThreshold": string,
  "remainingDrivingDistanceMetersThreshold": integer,
  "always": boolean,
  "never": boolean
  // End of list of possible types for union field visibility_option.
}
فیلدها
visibility_option فیلد اتحادیه. گزینه دید خاص انتخاب شده است. visibility_option تنها می تواند یکی از موارد زیر باشد:
remainingStopCountThreshold

integer

اگر تعداد توقف باقیمانده <= restingStopCountThreshold باشد، این عنصر داده برای کاربران نهایی قابل مشاهده است.

durationUntilEstimatedArrivalTimeThreshold

string ( Duration format)

این عنصر داده برای کاربران نهایی قابل مشاهده است در صورتی که ETA به توقف <= durationUntilEstimatedArrivalTimeThreshold باشد.

مدت زمان در ثانیه با حداکثر نه رقم کسری که با ' s ' ختم می شود. مثال: "3.5s" .

remainingDrivingDistanceMetersThreshold

integer

این عنصر داده برای کاربران نهایی قابل مشاهده است اگر فاصله رانندگی باقیمانده بر حسب متر <= باقیماندهDrivingDistanceMetersThreshold.

always

boolean

اگر روی true تنظیم شود، این عنصر داده همیشه برای کاربران نهایی بدون آستانه قابل مشاهده است. این فیلد را نمی توان روی false تنظیم کرد.

never

boolean

اگر روی true تنظیم شود، این عنصر داده همیشه از کاربران نهایی بدون هیچ آستانه پنهان می شود. این فیلد را نمی توان روی false تنظیم کرد.

روش ها

batchCreate

دسته ای از اشیاء Task جدید را ایجاد و برمی گرداند.

create

یک شیء Task جدید ایجاد و برمی گرداند.

get

اطلاعات مربوط به یک Task را دریافت می کند.

list

تمام Task را که معیارهای فیلتر مشخص شده را برآورده می کنند، دریافت می کند.

patch

داده های Task به روز می کند.