REST Resource: providers.tasks

แหล่งข้อมูล: งาน

งานใน API การนำส่งแสดงถึงการดำเนินการเดียวที่จะติดตาม โดยทั่วไปแล้ว งานที่เกี่ยวข้องกับการจัดส่งและการหยุดงานจะมีความแตกต่าง การจัดส่งหนึ่งๆ สามารถเชื่อมโยงกับ Tasks ได้หลายรายการ เช่น อาจมีงาน 1 รายการสำหรับการรับสินค้า และอีก 1 งานสำหรับการรับส่งหรือโอน นอกจากนี้ ยานพาหนะที่แตกต่างกันจะจัดการงานที่แตกต่างกันสำหรับการจัดส่งหนึ่งๆ ได้ ตัวอย่างเช่น รถคันหนึ่งให้บริการรับสินค้าได้ โดยนำการจัดส่งไปยังฮับ ส่วนยานพาหนะอีกคันขับเคลื่อนการจัดส่งเดียวกันจากฮับไปยังสถานที่นำส่ง

หมายเหตุ: gRPC และ REST API จะใช้รูปแบบการตั้งชื่อฟิลด์ที่แตกต่างกัน เช่น ช่อง 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)

ต้องระบุ เปลี่ยนแปลงไม่ได้ กำหนดประเภทของงาน เช่น การพักเบรกหรือการจัดส่ง

state

enum (State)

ต้องระบุ สถานะการดำเนินการปัจจุบันของงาน

taskOutcome

enum (TaskOutcome)

ผลลัพธ์ของงาน

taskOutcomeTime

string (Timestamp format)

การประทับเวลาที่ระบุว่าผู้ให้บริการตั้งค่าผลลัพธ์ของ Task เมื่อใด

การประทับเวลาเป็น RFC3339 UTC "Zulu" โดยมีความละเอียดระดับนาโนวินาทีและมีเลขเศษส่วนสูงสุด 9 หลัก ตัวอย่าง: "2014-10-02T15:01:23Z" และ "2014-10-02T15:01:23.045123456Z"

taskOutcomeLocation

object (LocationInfo)

ตำแหน่งที่มีการกำหนดผลลัพธ์ของ Task ค่านี้ได้รับการอัปเดตโดยเป็นส่วนหนึ่งของ tasks.patch หากผู้ให้บริการไม่อัปเดตค่านี้อย่างชัดเจน Fleet Engine จะป้อนข้อมูลตำแหน่งยานพาหนะที่ทราบล่าสุด (ตำแหน่งไฟล์ข้อมูล RAW) ให้โดยค่าเริ่มต้น

taskOutcomeLocationSource

enum (TaskOutcomeLocationSource)

ระบุว่าค่าของ taskOutcomeLocation มาจากไหน

trackingId

string

เปลี่ยนแปลงไม่ได้ ช่องนี้จะอำนวยความสะดวกในการจัดเก็บรหัสเพื่อให้คุณหลีกเลี่ยงการใช้การแมปที่ซับซ้อนได้ คุณไม่สามารถตั้งค่า trackingId สำหรับงานประเภท UNAVAILABLE และ SCHEDULED_STOP รหัสเหล่านี้อยู่ภายใต้ข้อจำกัดต่อไปนี้

  • ต้องเป็นสตริง Unicode ที่ถูกต้อง
  • จำกัดให้มีความยาวไม่เกิน 64 อักขระ
  • ทำให้เป็นมาตรฐานตามแบบฟอร์มการปรับมาตรฐาน Unicode
  • ต้องไม่มีอักขระ ASCII ต่อไปนี้: '/', ':', '?', ',' หรือ '#'
deliveryVehicleId

string

เอาต์พุตเท่านั้น รหัสของพาหนะที่กำลังปฏิบัติการอยู่ รหัสยานพาหนะที่นำส่งจะอยู่ภายใต้ข้อจำกัดต่อไปนี้

  • ต้องเป็นสตริง Unicode ที่ถูกต้อง
  • จำกัดให้มีความยาวไม่เกิน 64 อักขระ
  • ทำให้เป็นมาตรฐานตามแบบฟอร์มการปรับมาตรฐาน Unicode
  • ต้องไม่มีอักขระ ASCII ต่อไปนี้: '/', ':', '?', ',' หรือ '#'
plannedLocation

object (LocationInfo)

เปลี่ยนแปลงไม่ได้ ตำแหน่งที่จะดำเนินงานเสร็จสมบูรณ์ ไม่บังคับสำหรับ UNAVAILABLE งาน แต่จำเป็นสำหรับงานอื่นๆ ทั้งหมด

taskDuration

string (Duration format)

ต้องระบุ เปลี่ยนแปลงไม่ได้ เวลาที่ต้องใช้ในการเรียกใช้งานในตำแหน่งนี้

ระยะเวลาเป็นวินาทีโดยมีเลขเศษส่วนไม่เกิน 9 หลัก ลงท้ายด้วย "s" ตัวอย่างเช่น "3.5s"

targetTimeWindow

object (TimeWindow)

กรอบเวลาที่งานควรเสร็จสิ้น

journeySharingInfo

object (JourneySharingInfo)

เอาต์พุตเท่านั้น ช่องเฉพาะของการแชร์เส้นทาง จะไม่มีการป้อนข้อมูลเมื่อรัฐคือ CLOSED

taskTrackingViewConfig

object (TaskTrackingViewConfig)

การกำหนดค่าสำหรับการติดตามงานที่ระบุว่าองค์ประกอบข้อมูลใดแสดงต่อผู้ใช้ปลายทางภายใต้สถานการณ์ใด

attributes[]

object (TaskAttribute)

รายการแอตทริบิวต์งานที่กำหนดเอง แอตทริบิวต์แต่ละรายการต้องมีคีย์ที่ไม่ซ้ำกัน

ประเภท

ประเภทของงาน

Enum
TYPE_UNSPECIFIED โดยค่าเริ่มต้น ระบบจะไม่รู้จักประเภทงาน
PICKUP งานรับสินค้าคือการดำเนินการสำหรับการรับสินค้าจากลูกค้า การมารับรถของ Depot หรือรถให้อาหารควรใช้ประเภท SCHEDULED_STOP
DELIVERY งานการนำส่งคือการดำเนินการสำหรับการนำส่งพัสดุไปยังลูกค้าปลายทาง การส่งคืนยานพาหนะของ Depot หรือฟีดเดอร์ควรใช้ประเภท SCHEDULED_STOP
SCHEDULED_STOP งานการหยุดที่กำหนดเวลาไว้จะใช้เพื่อการวางแผน เช่น อาจแสดงถึงการไปรับหรือนำไปส่งจากพาหนะหรือคลังเก็บอาหาร และไม่ควรใช้กับการจัดส่งที่ไปรับหรือมาส่งจากลูกค้าปลายทาง
UNAVAILABLE งานที่ระบุว่ารถไม่พร้อมให้บริการ เช่น กรณีนี้อาจเกิดขึ้นเมื่อคนขับหยุดพัก หรือเมื่อรถเติมน้ำมัน

TaskOutcomeLocationSource

ข้อมูลระบุตัวตนของแหล่งที่มาที่ป้อน taskOutcomeLocation

Enum
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 ค่านี้จะคำนวณโดย 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

ผู้ใช้ปลายทางจะเห็นองค์ประกอบข้อมูลนี้หากจำนวนการหยุดที่เหลือ <= leftStopCountThreshold

durationUntilEstimatedArrivalTimeThreshold

string (Duration format)

องค์ประกอบข้อมูลนี้จะปรากฏให้ผู้ใช้ปลายทางเห็นหากเวลา ETA ถึงป้ายหยุด <=DurationUntil ExplorerTimeThreshold

ระยะเวลาเป็นวินาทีโดยมีเลขเศษส่วนไม่เกิน 9 หลัก ลงท้ายด้วย "s" ตัวอย่างเช่น "3.5s"

remainingDrivingDistanceMetersThreshold

integer

องค์ประกอบข้อมูลนี้จะปรากฏแก่ผู้ใช้ปลายทางหากระยะทางการขับขี่ที่เหลือเป็นเมตร <=leftHourMetersThreshold

always

boolean

หากตั้งค่าเป็น "จริง" ผู้ใช้ปลายทางจะเห็นองค์ประกอบข้อมูลนี้เสมอโดยไม่มีเกณฑ์ ตั้งค่าช่องนี้เป็น "เท็จ" ไม่ได้

never

boolean

หากตั้งค่าเป็น "จริง" ระบบจะซ่อนองค์ประกอบข้อมูลนี้จากผู้ใช้ปลายทางเสมอโดยไม่มีเกณฑ์ ตั้งค่าช่องนี้เป็น "เท็จ" ไม่ได้

เมธอด

batchCreate

สร้างและส่งคืนกลุ่มออบเจ็กต์ Task ใหม่

create

สร้างและแสดงผลออบเจ็กต์ Task ใหม่

get

รับข้อมูลเกี่ยวกับ Task

list

รับ Task ทั้งหมดที่ตรงกับเกณฑ์การกรองที่ระบุ

patch

อัปเดตข้อมูล Task