REST Resource: providers.tasks

리소스: Task

Delivery API의 작업은 추적할 단일 작업을 나타냅니다. 일반적으로 배송 관련 태스크와 휴식 시간 태스크는 구분됩니다. 배송에는 여러 태스크가 연결될 수 있습니다. 예를 들어 수령에 관한 작업 하나와 반납 또는 전달에 관한 작업 하나가 있을 수 있습니다. 또한 특정 배송의 여러 태스크가 서로 다른 차량에서 처리될 수 있습니다. 예를 들어 한 차량이 픽업을 처리하여 배송 상품을 허브로 운전하고 다른 차량이 동일한 배송 상품을 허브에서 하차 위치로 운전할 수 있습니다.

참고: gRPC API와 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)

필수 항목입니다. 변경할 수 없습니다. 할 일의 유형을 정의합니다. 예를 들어 휴식 또는 배송이 있습니다.

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

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

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

맞춤 작업 속성 목록입니다. 각 속성에는 고유 키가 있어야 합니다.

유형

할 일 유형입니다.

열거형
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.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

이 데이터 요소는 남은 정류장 수가 remainingStopCountThreshold보다 작은 경우 최종 사용자에게 표시됩니다.

durationUntilEstimatedArrivalTimeThreshold

string (Duration format)

이 데이터 요소는 정류장까지의 예상 도착 시간(ETA)이 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 데이터를 업데이트합니다.