REST Resource: providers.tasks

संसाधन: टास्क

डिलीवरी एपीआई में मौजूद टास्क, ट्रैक करने के लिए एक कार्रवाई को दिखाता है. आम तौर पर, शिपमेंट से जुड़े टास्क और ब्रेक टास्क में अंतर होता है. किसी शिपमेंट से जुड़े कई टास्क हो सकते हैं. उदाहरण के लिए, पिकअप के लिए एक टास्क और डिलीवरी या ट्रांसफ़र के लिए एक टास्क हो सकता है. साथ ही, किसी शिपमेंट के लिए अलग-अलग टास्क, अलग-अलग वाहनों से मैनेज किए जा सकते हैं. उदाहरण के लिए, एक वाहन शिपमेंट को पिकअप करके हब तक ले जा सकता है, जबकि दूसरा वाहन उसी शिपमेंट को हब से डिलीवरी की जगह तक ले जा सकता है.

ध्यान दें: gRPC और REST API, फ़ील्ड के नाम रखने के अलग-अलग तरीकों का इस्तेमाल करते हैं. उदाहरण के लिए, gRPC API में Task.journey_sharing_info फ़ील्ड और REST API में Task.journeySharingInfo फ़ील्ड एक ही फ़ील्ड को दिखाते हैं.

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)

ज़रूरी है. इम्यूटेबल. टास्क का टाइप तय करता है. उदाहरण के लिए, ब्रेक या शिपमेंट.

state

enum (State)

ज़रूरी है. टास्क को लागू करने की मौजूदा स्थिति.

taskOutcome

enum (TaskOutcome)

टास्क का नतीजा.

taskOutcomeTime

string (Timestamp format)

टाइमस्टैंप, जो बताता है कि सेवा देने वाली कंपनी ने Task का नतीजा कब सेट किया था.

आरएफ़सी3339 यूटीसी के "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

इम्यूटेबल. इस फ़ील्ड की मदद से, आईडी को सेव किया जा सकता है, ताकि आपको जटिल मैपिंग का इस्तेमाल न करना पड़े. UNAVAILABLE और SCHEDULED_STOP टाइप के टास्क के लिए, trackingId सेट नहीं किया जा सकता. इन आईडी पर ये पाबंदियां लागू होती हैं:

  • एक मान्य यूनिकोड स्ट्रिंग होनी चाहिए.
  • इसमें 64 से ज़्यादा वर्ण इस्तेमाल नहीं किए जा सकते.
  • इसे यूनिकोड नॉर्मलाइज़ेशन फ़ॉर्म C के हिसाब से नॉर्मलाइज़ किया जाता है.
  • इसमें इनमें से कोई भी ASCII वर्ण नहीं होना चाहिए: '/', ':', '?', ',' या '#'.
deliveryVehicleId

string

सिर्फ़ आउटपुट के लिए. उस वाहन का आईडी जो यह टास्क पूरा कर रहा है. डिलीवरी करने वाले वाहन के आईडी पर ये पाबंदियां लागू होती हैं:

  • यह एक मान्य यूनिकोड स्ट्रिंग होनी चाहिए.
  • इसमें ज़्यादा से ज़्यादा 64 वर्ण इस्तेमाल किए जा सकते हैं.
  • यूनिकोड नॉर्मलाइज़ेशन फ़ॉर्म C के हिसाब से नॉर्मलाइज़ किया गया.
  • इसमें इनमें से कोई भी ASCII वर्ण नहीं होना चाहिए: '/', ':', '?', ',' या '#'.
plannedLocation

object (LocationInfo)

इम्यूटेबल. वह जगह जहां टास्क पूरा किया जाएगा. UNAVAILABLE टास्क के लिए ज़रूरी नहीं है, लेकिन अन्य सभी टास्क के लिए ज़रूरी है.

taskDuration

string (Duration format)

ज़रूरी है. इम्यूटेबल. इस जगह पर टास्क पूरा करने में लगने वाला समय.

सेकंड में कुल अवधि, जिसमें दशमलव के बाद नौ अंक हो सकते हैं. यह अवधि 's' पर खत्म होती है. उदाहरण: "3.5s".

targetTimeWindow

object (TimeWindow)

वह समयसीमा जिसके दौरान टास्क पूरा किया जाना चाहिए.

journeySharingInfo

object (JourneySharingInfo)

सिर्फ़ आउटपुट के लिए. यात्रा की जानकारी शेयर करने से जुड़े फ़ील्ड. राज्य CLOSED होने पर अपने-आप जानकारी नहीं भरती.

taskTrackingViewConfig

object (TaskTrackingViewConfig)

टास्क ट्रैकिंग के लिए कॉन्फ़िगरेशन, जो यह तय करता है कि किन परिस्थितियों में असली उपयोगकर्ताओं को कौनसे डेटा एलिमेंट दिखेंगे.

attributes[]

object (TaskAttribute)

टास्क के कस्टम एट्रिब्यूट की सूची. हर एट्रिब्यूट की एक खास कुंजी होनी चाहिए.

टाइप

टास्क का टाइप.

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

यह बताता है कि वाहन की lastLocation को 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

यह डेटा एलिमेंट, असली उपयोगकर्ताओं को दिखता है. ऐसा तब होता है, जब बचे हुए स्टॉप की संख्या <=enStopCountThreshold.

durationUntilEstimatedArrivalTimeThreshold

string (Duration format)

यह डेटा एलिमेंट, असली उपयोगकर्ताओं को तब दिखता है, जब बस स्टॉप पर पहुंचने का अनुमानित समय, अनुमानित पहुंचने के समय की सीमा से कम हो.

सेकंड में एक अवधि, जिसमें ज़्यादा से ज़्यादा नौ दशमलव अंक होते हैं और जो 's' पर खत्म होता है. उदाहरण: "3.5s".

remainingDrivingDistanceMetersThreshold

integer

यह डेटा एलिमेंट, असली उपयोगकर्ताओं को तब दिखता है, जब ड्राइविंग की बाकी दूरी मीटर में <= remainingDrivingDistanceMetersThreshold हो.

always

boolean

अगर इसे 'सही' पर सेट किया जाता है, तो यह डेटा एलिमेंट, असली उपयोगकर्ताओं को हमेशा दिखता है. इसके लिए, कोई थ्रेशोल्ड नहीं होता. इस फ़ील्ड को गलत पर सेट नहीं किया जा सकता.

never

boolean

अगर इस विकल्प को 'सही' पर सेट किया जाता है, तो यह डेटा एलिमेंट, असली उपयोगकर्ताओं से हमेशा छिपा रहता है. इसके लिए, थ्रेशोल्ड की ज़रूरत नहीं होती. इस फ़ील्ड को 'गलत' पर सेट नहीं किया जा सकता.

तरीके

batchCreate

नए Task ऑब्जेक्ट का एक बैच बनाता है और उसे दिखाता है.

create

नया Task ऑब्जेक्ट बनाता है और उसे दिखाता है.

get

किसी Task के बारे में जानकारी मिलती है.

list

फ़िल्टर करने के लिए तय की गई शर्तों को पूरा करने वाले सभी Task दिखाता है.

patch

Task का डेटा अपडेट करता है.