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

ใช้ RFC 3339 ซึ่งเอาต์พุตที่สร้างขึ้นจะเป็นรูปแบบ Z-normalized เสมอ และใช้ตัวเลขทศนิยม 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

เปลี่ยนแปลงไม่ได้ ฟิลด์นี้ช่วยให้การจัดเก็บรหัสสะดวกขึ้น คุณจึงไม่ต้องใช้การแมปที่ซับซ้อน คุณไม่สามารถตั้งค่า 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 ได้หรือไม่ ค่านี้จะเท่ากับ False หากไม่มี 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)

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

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

remainingDrivingDistanceMetersThreshold

integer

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

always

boolean

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

never

boolean

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

เมธอด

batchCreate

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

create

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

delete

ลบงานรายการเดียว

get

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

list

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

patch

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