REST Resource: providers.tasks

리소스: Task

Delivery API의 작업은 추적할 단일 작업을 나타냅니다. 일반적으로 배송 관련 태스크와 중단 태스크에는 차이가 있습니다. 배송에는 여러 태스크가 연결될 수 있습니다. 예를 들어 승차에 대한 작업 하나와 하차 또는 환승에 대한 작업이 하나 있을 수 있습니다. 또한 차량마다 배송에 따라 다른 작업을 처리할 수 있습니다. 예를 들어 한 차량은 픽업을 처리하여 배송을 허브로 배송하고, 다른 차량은 허브에서 하차 위치로 동일한 배송을 운전합니다.

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

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

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 유형의 작업에는 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

이 데이터 요소는 남은 정류장 수가 남은 정류장 개수 <= leftStopCountThreshold 이하인 경우 최종 사용자에게 표시됩니다.

durationUntilEstimatedArrivalTimeThreshold

string (Duration format)

이 데이터 요소는 정류장 도착예정시간이 <= durationUntilexpectedArrivalTimeThreshold 이상인 경우 최종 사용자에게 표시됩니다.

소수점 아래가 최대 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 데이터를 업데이트합니다.