Решение Last Mile Fleet Solution в настоящее время доступно только для избранных клиентов. Свяжитесь с отделом продаж , чтобы узнать больше.

REST Resource: providers.tasks

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

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

Примечание. API-интерфейсы gRPC и REST используют разные соглашения об именах полей. Например, поле Task.journey_sharing_info в gRPC API и поле DeliveryVehicle.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 "Zulu" с разрешением в наносекунды и до девяти дробных цифр. Примеры: "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 Задача, означающая, что Транспортное средство недоступно для обслуживания. Например, это может произойти, когда водитель делает перерыв или когда автомобиль заправляется топливом.

ЗадачаРезультатРасположениеИсточник

Идентификатор источника, который заполнил 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 )

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

ВидимостьOption

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

Представление 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

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

durationUntilEstimatedArrivalTimeThreshold

string ( Duration format)

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

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

remainingDrivingDistanceMetersThreshold

integer

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

always

boolean

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

never

boolean

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

Методы

batchCreate

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

create

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

get

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

list

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

patch

Обновляет данные Task .
Получает все Task с определенным tracking_id .