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 का इस्तेमाल करता है. इसमें जनरेट किया गया आउटपुट हमेशा Z-नॉर्मलाइज़्ड होता है और इसमें 0, 3, 6 या 9 दशमलव अंक इस्तेमाल किए जाते हैं. "Z" के अलावा, अन्य ऑफ़सेट भी स्वीकार किए जाते हैं. उदाहरण: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" या "2014-10-02T15:01:23+05:30".

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

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

durationUntilEstimatedArrivalTimeThreshold

string (Duration format)

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

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

remainingDrivingDistanceMetersThreshold

integer

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

always

boolean

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

never

boolean

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

तरीके

batchCreate

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

create

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

get

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

list

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

patch

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