REST Resource: providers.tasks

리소스: Task

Delivery API의 작업은 추적할 단일 작업을 나타냅니다. 일반적으로 배송 관련 작업과 휴식 작업에는 차이가 있습니다. 배송 상품에는 여러 Tasks가 연결될 수 있습니다. 예를 들어 승차를 위한 할 일과 하차 또는 환승을 위한 할 일이 하나씩 있을 수 있습니다. 또한 특정 배송의 여러 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)

필수 항목입니다. 변경할 수 없습니다. Task의 유형을 정의합니다. (예: 파손 또는 배송)

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

변경할 수 없습니다. 이 필드는 ID 저장을 용이하게 하므로 복잡한 매핑 사용을 피할 수 있습니다. UNAVAILABLESCHEDULED_STOP 유형의 Tasks에는 trackingId를 설정할 수 없습니다. 이러한 ID에는 다음과 같은 제한사항이 적용됩니다.

  • 유효한 유니코드 문자열이어야 합니다.
  • 최대 길이는 64자(영문 기준)로 제한됩니다.
  • 유니코드 정규화 형식 C에 따라 정규화됩니다.
  • ASCII 문자 '/', ':', '?', ',' 또는 '#'은 사용할 수 없습니다.
deliveryVehicleId

string

출력 전용. 이 Task를 실행하는 차량의 ID입니다. 배송 차량 ID에는 다음과 같은 제한사항이 적용됩니다.

  • 유효한 유니코드 문자열이어야 합니다.
  • 최대 길이는 64자(영문 기준)로 제한됩니다.
  • 유니코드 정규화 형식 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)

커스텀 Task 속성 목록 각 속성에는 고유한 키가 있어야 합니다.

유형

Task의 유형입니다.

열거형
TYPE_UNSPECIFIED 기본적으로 할 일 유형은 알 수 없습니다.
PICKUP 수령 작업은 고객으로부터 상품을 수령하기 위해 수행하는 작업입니다. 창고 또는 피더 차량 픽업은 SCHEDULED_STOP 유형을 사용해야 합니다.
DELIVERY 배송 작업은 최종 고객에게 배송할 때 수행되는 작업입니다. 창고 또는 피더 차량 하차 위치는 SCHEDULED_STOP 유형을 사용해야 합니다.
SCHEDULED_STOP 예약된 정류장 작업은 계획을 위해 사용됩니다. 예를 들어 피더 차량 또는 창고에서 배송 상품을 수령하거나 반납하는 것을 나타낼 수 있습니다. 최종 고객으로부터 픽업 또는 반납하는 배송에 사용해서는 안 됩니다.
UNAVAILABLE 차량을 수리할 수 없음을 의미하는 작업입니다. 예를 들어 운전자가 휴식을 취하거나 차량에 연료를 공급할 때 이러한 상황이 발생할 수 있습니다.

TaskOutcomeLocationSource

taskOutcomeLocation를 채운 소스의 ID입니다.

열거형
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를 완료하기 전에 할당된 차량이 거치는 정류장에 대한 추적 정보입니다. 이 목록에는 다른 작업의 정류장이 포함될 수 있습니다.

첫 번째 구간인 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가 없으면 이 값은 False입니다. 이 값은 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

이 데이터 요소는 남은 운전 거리(미터)가 <= leftDrivingDistanceMetersThreshold인 경우 최종 사용자에게 표시됩니다.

always

boolean

true로 설정하면 이 데이터 요소가 기준점이 없는 최종 사용자에게 항상 표시됩니다. 이 필드는 false로 설정할 수 없습니다.

never

boolean

true로 설정하면 이 데이터 요소가 기준점이 없는 최종 사용자에게 항상 숨겨집니다. 이 필드는 false로 설정할 수 없습니다.

방법

batchCreate

Task 객체의 배치를 만들어 반환합니다.

create

Task 객체를 만들고 반환합니다.

get

Task에 관한 정보를 가져옵니다.

list

지정된 필터링 기준을 충족하는 모든 Task를 가져옵니다.

patch

Task 데이터를 업데이트합니다.

search
(deprecated)

지원 중단됨: 대신 GetTaskTrackingInfo를 사용하세요.