REST Resource: providers.tasks

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

งานใน 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 จะป้อนข้อมูลค่านี้โดยค่าเริ่มต้นด้วยตำแหน่งยานพาหนะที่ทราบล่าสุด (ตำแหน่งดิบ)

taskOutcomeLocationSource

enum (TaskOutcomeLocationSource)

บ่งบอกว่าค่าของ taskOutcomeLocation มาจากที่ใด

trackingId

string

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

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

string

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

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

object (LocationInfo)

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

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

ระบุว่าสามารถจับคู่ 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)

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

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

remainingDrivingDistanceMetersThreshold

integer

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

always

boolean

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

never

boolean

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

เมธอด

batchCreate

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

create

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

get

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

list

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

patch

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