REST Resource: providers.tasks

Recurso: Task

Uma tarefa na API Delivery representa uma única ação a ser monitorada. Em geral, há uma distinção entre tarefas relacionadas a remessa e tarefas de interrupção. Uma remessa pode ter várias tarefas associadas a ela. Por exemplo, pode haver uma Tarefa para a retirada e outra para a desembarque ou a baldeação. Além disso, diferentes Tarefas para uma determinada remessa podem ser processadas por veículos diferentes. Por exemplo, um veículo pode lidar com a retirada, conduzindo-a ao hub, enquanto outro conduz a mesma remessa do centro para o local de desembarque.

Observação: as APIs REST e gRPC usam convenções de nomenclatura de campo diferentes. Por exemplo, o campo Task.journey_sharing_info na API gRPC e o campo Task.journeySharingInfo na API REST se referem ao mesmo campo.

Representação 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)
    }
  ]
}
Campos
name

string

Precisa estar no formato providers/{provider}/tasks/{task}.

type

enum (Type)

Obrigatório. Imutável. Define o tipo da tarefa. Por exemplo, uma pausa ou envio.

state

enum (State)

Obrigatório. O estado de execução atual da tarefa.

taskOutcome

enum (TaskOutcome)

O resultado da tarefa.

taskOutcomeTime

string (Timestamp format)

O carimbo de data/hora que indica quando o resultado do Task foi definido pelo provedor.

Um carimbo de data/hora no formato UTC "Zulu" RFC3339, com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

taskOutcomeLocation

object (LocationInfo)

O local em que o resultado do Task foi definido. Esse valor é atualizado como parte de tasks.patch. Se esse valor não for atualizado explicitamente pelo provedor, o Fleet Engine vai preenchê-lo por padrão com o último local conhecido do veículo (o local raw).

taskOutcomeLocationSource

enum (TaskOutcomeLocationSource)

Indica de onde veio o valor de taskOutcomeLocation.

trackingId

string

Imutável. Esse campo facilita o armazenamento de um ID para que você possa evitar o uso de um mapeamento complicado. Não é possível definir trackingId para Tarefas dos tipos UNAVAILABLE e SCHEDULED_STOP. Esses IDs estão sujeitos às seguintes restrições:

  • Precisa ser uma string Unicode válida.
  • Limitado a um comprimento máximo de 64 caracteres.
  • Normalizado de acordo com o Formulário C de normalização Unicode.
  • Não pode conter nenhum dos seguintes caracteres ASCII: '/', ':', '?', ',' ou '#'.
deliveryVehicleId

string

Apenas saída. O ID do veículo que está executando esta Tarefa. Os IDs de veículos de entrega estão sujeitos às seguintes restrições:

  • Precisa ser uma string Unicode válida.
  • Limitado a um comprimento máximo de 64 caracteres.
  • Normalizado de acordo com o Formulário C de normalização Unicode.
  • Não pode conter nenhum dos seguintes caracteres ASCII: '/', ':', '?', ',' ou '#'.
plannedLocation

object (LocationInfo)

Imutável. O local em que a Tarefa será concluída. Opcional para tarefas UNAVAILABLE, mas necessário para todas as outras tarefas.

taskDuration

string (Duration format)

Obrigatório. Imutável. O tempo necessário para executar uma Task no local.

Uma duração em segundos com até nove dígitos fracionários, terminando em "s". Exemplo: "3.5s".

targetTimeWindow

object (TimeWindow)

A janela de tempo em que a tarefa deve ser concluída.

journeySharingInfo

object (JourneySharingInfo)

Apenas saída. Campos específicos do compartilhamento de jornada. Não preenchido quando o estado é CLOSED.

taskTrackingViewConfig

object (TaskTrackingViewConfig)

A configuração do rastreamento de tarefas que especifica quais elementos de dados ficam visíveis para os usuários finais em quais circunstâncias.

attributes[]

object (TaskAttribute)

Uma lista de atributos de tarefas personalizados. Cada atributo precisa ter uma chave exclusiva.

Tipo

O tipo de Task.

Enums
TYPE_UNSPECIFIED Padrão, o tipo de tarefa é desconhecido.
PICKUP Uma tarefa de retirada é a ação realizada para retirar uma remessa de um cliente. As retiradas de veículos em depósito ou alimentador devem usar o tipo SCHEDULED_STOP.
DELIVERY Uma tarefa de entrega é a ação realizada para entregar uma remessa a um cliente final. As entregas de veículos em depósitos ou alimentadores devem usar o tipo SCHEDULED_STOP.
SCHEDULED_STOP Uma Tarefa de parada programada é usada para fins de planejamento. Por exemplo, pode representar a retirada ou entrega de remessas de veículos ou depósitos alimentadores. Ele não deve ser usado para remessas que são retiradas ou entregues de um cliente final.
UNAVAILABLE Uma tarefa que significa que o Veículo não está disponível para manutenção. Por exemplo, isso pode acontecer quando o motorista faz uma pausa ou o veículo está sendo reabastecido.

TaskOutcomeLocationSource

A identidade da origem que preencheu o taskOutcomeLocation.

Enums
TASK_OUTCOME_LOCATION_SOURCE_UNSPECIFIED O resultado da tarefa antes que seja definido.
PROVIDER A taskOutcomeLocation especificada pelo provedor.
LAST_VEHICLE_LOCATION Como o provedor não especificou o taskOutcomeLocation, o Fleet Engine usou a última localização conhecida do veículo.

JourneySharingInfo

Jornada de compartilhamento de campos específicos.

Representação JSON
{
  "remainingVehicleJourneySegments": [
    {
      object (VehicleJourneySegment)
    }
  ],
  "lastLocation": {
    object (DeliveryVehicleLocation)
  },
  "lastLocationSnappable": boolean
}
Campos
remainingVehicleJourneySegments[]

object (VehicleJourneySegment)

Informações de rastreamento das paradas que o veículo atribuído vai fazer antes de concluir esta Tarefa. Essa lista pode conter paradas de outras tarefas.

O primeiro segmento, Task.journey_sharing_info.remaining_vehicle_journey_segments[0] (gRPC) ou Task.journeySharingInfo.remainingVehicleJourneySegments[0] (REST), contém informações de rota do último local conhecido do driver até o próximo VehicleStop. As informações de trajeto atuais geralmente vêm do app do motorista, exceto em alguns casos indicados na documentação do DeliveryVehicle.current_route_segment. Os outros segmentos em Task.journey_sharing_info.remaining_vehicle_journey_segments (gRPC) ou Task.journeySharingInfo.remainingVehicleJourneySegments (REST) são preenchidos pelo Fleet Engine. Eles fornecem informações de trajeto entre os VehicleStops restantes.

lastLocation

object (DeliveryVehicleLocation)

Indica o último local informado pelo veículo sobre o veículo atribuído.

lastLocationSnappable

boolean

Indica se o lastLocation do veículo pode ser ajustado ao currentRouteSegment. Esse valor será falso se lastLocation ou currentRouteSegment não existirem. Esse valor é calculado pelo Fleet Engine. As atualizações de clientes são ignoradas.

TaskTrackingViewConfig

A mensagem de configuração que define quando um elemento de dados de uma tarefa deve ficar visível para os usuários finais.

Representação JSON
{
  "routePolylinePointsVisibility": {
    object (VisibilityOption)
  },
  "estimatedArrivalTimeVisibility": {
    object (VisibilityOption)
  },
  "estimatedTaskCompletionTimeVisibility": {
    object (VisibilityOption)
  },
  "remainingDrivingDistanceVisibility": {
    object (VisibilityOption)
  },
  "remainingStopCountVisibility": {
    object (VisibilityOption)
  },
  "vehicleLocationVisibility": {
    object (VisibilityOption)
  }
}
Campos
routePolylinePointsVisibility

object (VisibilityOption)

O campo que especifica quando os pontos de polilinha do trajeto podem ser visíveis. Se este campo não for especificado, será usada a configuração de visibilidade padrão para envolvidos no projeto para esses dados.

estimatedArrivalTimeVisibility

object (VisibilityOption)

O campo que especifica quando o horário de chegada estimado pode ser visível. Se este campo não for especificado, será usada a configuração de visibilidade padrão para envolvidos no projeto para esses dados.

estimatedTaskCompletionTimeVisibility

object (VisibilityOption)

O campo que especifica quando o tempo estimado de conclusão da tarefa pode ficar visível. Se este campo não for especificado, será usada a configuração de visibilidade padrão para envolvidos no projeto para esses dados.

remainingDrivingDistanceVisibility

object (VisibilityOption)

O campo que especifica quando a distância de carro restante pode ser visível. Se este campo não for especificado, será usada a configuração de visibilidade padrão para envolvidos no projeto para esses dados.

remainingStopCountVisibility

object (VisibilityOption)

O campo que especifica quando a contagem de paradas restantes pode ser visível. Se este campo não for especificado, será usada a configuração de visibilidade padrão para envolvidos no projeto para esses dados.

vehicleLocationVisibility

object (VisibilityOption)

O campo que especifica quando a localização do veículo pode estar visível. Se este campo não for especificado, será usada a configuração de visibilidade padrão para envolvidos no projeto para esses dados.

VisibilityOption

A mensagem de opção que define quando um elemento de dados deve ficar visível para os usuários finais.

Representação 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.
}
Campos
Campo de união visibility_option. A opção de visibilidade específica escolhida. visibility_option pode ser apenas de um dos tipos a seguir:
remainingStopCountThreshold

integer

Esse elemento de dados ficará visível para os usuários finais se a contagem de paradas restante <= missingStopCountThreshold.

durationUntilEstimatedArrivalTimeThreshold

string (Duration format)

Esse elemento de dados é visível aos usuários finais se o HEC para a parada <= DurationUntilEstimatedArrivalTimeThreshold.

Uma duração em segundos com até nove dígitos fracionários, terminando em "s". Exemplo: "3.5s".

remainingDrivingDistanceMetersThreshold

integer

Esse elemento de dados ficará visível para os usuários finais se a distância de carro restante em metros <= missingDrivingDistanceMetersThreshold.

always

boolean

Se definido como verdadeiro, esse elemento de dados estará sempre visível para os usuários finais, sem limites. Este campo não pode ser definido como falso.

never

boolean

Se definido como verdadeiro, esse elemento de dados sempre ficará oculto para os usuários finais sem limites. Este campo não pode ser definido como falso.

Métodos

batchCreate

Cria e retorna um lote de novos objetos Task.

create

Cria e retorna um novo objeto Task.

get

Recebe informações sobre um Task.

list

Recebe todos os Tasks que atendem aos critérios de filtragem especificados.

patch

Atualiza os dados de Task.

search
(deprecated)

Obsoleto: use GetTaskTrackingInfo.