REST Resource: providers.tasks

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

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

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

जेएसओएन के काेड में दिखाना
{
  "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 के नतीजे कब सेट किए थे.

RFC3339 यूटीसी "ज़ुलु" फ़ॉर्मैट में एक टाइमस्टैंप, जिसमें नैनोसेकंड का रिज़ॉल्यूशन और नौ फ़्रैक्शनल अंक हो सकते हैं. उदाहरण: "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 टाइप के Tasks के लिए, 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

खास फ़ील्ड शेयर करने का सफ़र.

जेएसओएन के काेड में दिखाना
{
  "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 मौजूद न होने पर भी यह वैल्यू गलत होती है. इस वैल्यू का आकलन Fleet Engine से किया गया है. क्लाइंट से मिलने वाले अपडेट को अनदेखा कर दिया जाता है.

TaskTrackingViewConfig

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

जेएसओएन के काेड में दिखाना
{
  "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

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

जेएसओएन के काेड में दिखाना
{

  // 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

यह डेटा एलिमेंट असली उपयोगकर्ताओं को तब ही दिखता है, जब बाकी बचे स्टॉप की संख्या <= ढूंढी गई स्टॉप काउंट थ्रेशोल्ड (कम) से ज़्यादा हो.

durationUntilEstimatedArrivalTimeThreshold

string (Duration format)

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

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

remainingDrivingDistanceMetersThreshold

integer

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

always

boolean

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

never

boolean

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

तरीके

batchCreate

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

create

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

get

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

list

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

patch

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

search
(deprecated)

अब काम नहीं करता: इसके बजाय GetTaskTrackingInfo का इस्तेमाल करें.