REST Resource: providers.tasks

리소스: Task

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

참고: 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의 결과를 설정했음을 나타내는 타임스탬프입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 자릿수가 0, 3, 6 또는 9인 RFC 3339를 사용합니다. '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

변경할 수 없습니다. 이 필드는 ID를 저장하는 것을 용이하게 하여 복잡한 매핑을 사용하지 않아도 됩니다. UNAVAILABLESCHEDULED_STOP 유형의 작업에는 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

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

always

boolean

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

never

boolean

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

메서드

batchCreate

Task 객체를 일괄적으로 만들고 반환합니다.

create

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

delete

단일 할 일을 삭제합니다.

get

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

list

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

patch

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