REST Resource: providers.tasks

ทรัพยากร: งาน

งานใน Delivery API จะแสดงการดำเนินการหนึ่งที่ต้องติดตาม โดยทั่วไปแล้วจะมีความแตกต่างกันระหว่าง "งานที่เกี่ยวข้องกับการจัดส่ง" และ "งานช่วงพัก" การจัดส่งหนึ่งๆ จะเชื่อมโยงกับงานได้หลายรายการ เช่น อาจมีงาน 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 สำหรับ Tasks ประเภท UNAVAILABLE และ SCHEDULED_STOP บัตรประจำตัวเหล่านี้อยู่ภายใต้ข้อจำกัดต่อไปนี้

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

string

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

  • ต้องเป็นสตริง Unicode ที่ถูกต้อง
  • มีจำนวนอักขระได้สูงสุด 64 ตัว
  • ได้รับการปรับให้เป็นมาตรฐานตามรูปแบบการทำให้เป็นมาตรฐาน Unicode C
  • ต้องไม่มีอักขระ 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 งานรับสินค้าคือการดำเนินการรับสินค้าจากลูกค้า บริการรับรถจากสถานีรับส่งสินค้าหรือรถป้อนอาหารควรใช้ประเภท SCHEDULED_STOP
DELIVERY งานการนำส่งคือการดำเนินการเพื่อนำส่งพัสดุไปยังลูกค้าปลายทาง จุดทิ้งของยานพาหนะที่ทิ้งเทปหรือฟีดเดอร์ควรใช้ประเภท 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

ระบุว่าสามารถสแนปตำแหน่งสุดท้ายของรถไปยัง 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

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

durationUntilEstimatedArrivalTimeThreshold

string (Duration format)

องค์ประกอบข้อมูลนี้จะมองเห็นได้โดยผู้ใช้ปลายทางหากเวลาถึงโดยประมาณถึงหยุด <= periodUntiเป็นเรื่องที่คาดการณ์ไว้ArrivalTimeThreshold

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

remainingDrivingDistanceMetersThreshold

integer

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

always

boolean

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

never

boolean

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

วิธีการ

batchCreate

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

create

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

get

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

list

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

patch

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

search
(deprecated)

เลิกใช้งานแล้ว: ใช้ GetTaskTrackingInfo แทน