REST Resource: providers.tasks

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

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

यह बताता है कि वाहन की आखिरी जगह की जानकारी को currentRouteSegment पर स्नैप किया जा सकता है या नहीं. lastLocation या currentRouteSegment मौजूद न होने पर, यह वैल्यू 'गलत' होती है. इस वैल्यू का हिसाब, 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

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

durationUntilEstimatedArrivalTimeThreshold

string (Duration format)

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

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

remainingDrivingDistanceMetersThreshold

integer

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

always

boolean

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

never

boolean

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

तरीके

batchCreate

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

create

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

get

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

list

उन सभी Task को हासिल करता है जो फ़िल्टर करने की, तय की गई शर्तों को पूरा करते हैं.

patch

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