REST Resource: providers.tasks

Ресурс: Задача

Задача в API доставки представляет собой одно действие, которое необходимо отслеживать. В целом, существует различие между Задачами, связанными с отгрузкой, и Задачами перерыва. С отправкой может быть связано несколько Заданий. Например, может быть одна задача для получения и одна для высадки или передачи. Кроме того, разные задачи по одной отправке могут выполняться разными транспортными средствами. Например, одно транспортное средство может взять с собой груз, доставив его в хаб, в то время как другое транспортное средство доставляет тот же груз из хаба в место высадки.

Примечание. API-интерфейсы gRPC и REST используют разные соглашения об именах полей. Например, поле Task.journey_sharing_info в API gRPC и поле 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 .

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "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

Неизменяемый. Это поле облегчает хранение идентификатора, поэтому вы можете избежать использования сложного сопоставления. Вы не можете установить trackingId для задач типа UNAVAILABLE и SCHEDULED_STOP . На эти идентификаторы распространяются следующие ограничения:

  • Должна быть допустимой строкой Unicode.
  • Ограничена максимальной длиной в 64 символа.
  • Нормализовано в соответствии с формой нормализации Unicode C.
  • Не может содержать следующие символы ASCII: «/», «:», «?», «,» или «#».
deliveryVehicleId

string

Только вывод. Идентификатор транспортного средства, выполняющего эту задачу. На идентификаторы транспортных средств доставки распространяются следующие ограничения:

  • Должна быть допустимой строкой Unicode.
  • Ограничена максимальной длиной в 64 символа.
  • Нормализовано в соответствии с формой нормализации Unicode C.
  • Не может содержать следующие символы ASCII: «/», «:», «?», «,» или «#».
plannedLocation

object ( LocationInfo )

Неизменяемый. Место, где будет выполнено задание. Необязательно для UNAVAILABLE задач, но необходимо для всех остальных задач.

taskDuration

string ( Duration format)

Необходимый. Неизменяемый. Время, необходимое для выполнения задачи в этом месте.

Длительность в секундах, содержащая до девяти дробных цифр и оканчивающаяся на « 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 .

Перечисления
TASK_OUTCOME_LOCATION_SOURCE_UNSPECIFIED Результат задачи до ее постановки.
PROVIDER Поставщик указал taskOutcomeLocation .
LAST_VEHICLE_LOCATION Поставщик не указал taskOutcomeLocation , поэтому Fleet Engine использовал последнее известное местоположение транспортного средства.

ПутешествиеОбменИнформация

Путешествие по определенным областям.

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. Обновления от клиентов игнорируются.

Тасктрекингвиевконфиг

Сообщение конфигурации, определяющее, когда элемент данных задачи должен быть виден конечным пользователям.

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 )

Поле, указывающее, когда местоположение транспортного средства может быть видно. Если это поле не указано, для этих данных будет использоваться конфигурация видимости по умолчанию на уровне проекта.

Вариант видимости

Опциональное сообщение, определяющее, когда элемент данных должен быть виден конечным пользователям.

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

Этот элемент данных виден конечным пользователям, если оставшееся количество остановок <=остатокStopCountThreshold.

durationUntilEstimatedArrivalTimeThreshold

string ( Duration format)

Этот элемент данных виден конечным пользователям, если расчетное время остановки <= periodUntilEstimatedArrivalTimeThreshold.

Длительность в секундах, содержащая до девяти дробных цифр и оканчивающаяся на « s ». Пример: "3.5s" .

remainingDrivingDistanceMetersThreshold

integer

Этот элемент данных виден конечным пользователям, если оставшееся расстояние поездки в метрах <= restDrivingDistanceMetersThreshold.

always

boolean

Если установлено значение true, этот элемент данных всегда виден конечным пользователям без каких-либо пороговых значений. Это поле не может быть установлено в значение false.

never

boolean

Если установлено значение true, этот элемент данных всегда скрыт от конечных пользователей без каких-либо пороговых значений. Это поле не может быть установлено в значение false.

Методы

batchCreate

Создает и возвращает пакет новых объектов Task .

create

Создает и возвращает новый объект Task .

get

Получает информацию о Task .

list

Получает все Task , соответствующие указанным критериям фильтрации.

patch

Обновляет данные Task .