REST Resource: providers.tasks

Recurso: Task

Uma tarefa na API Delivery representa uma única ação a ser acompanhada. Em geral, há uma distinção entre Tarefas relacionadas à remessa e Tarefas de interrupção. Uma remessa pode ter várias Tarefas associadas a ela. Por exemplo, pode haver uma tarefa para o embarque e outra para o desembarque ou a baldeação. Além disso, diferentes Tarefas para uma determinada remessa podem ser tratadas por veículos diferentes. Por exemplo, um veículo poderia cuidar da coleta, levando a remessa até o hub, enquanto outro veículo conduzia a mesma remessa do hub 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 de tarefa. Por exemplo, uma pausa ou uma remessa.

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 RFC3339 UTC "Zulu", 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 do tasks.patch. Se esse valor não for atualizado explicitamente pelo provedor, o Fleet Engine o preencherá por padrão com o último local conhecido do veículo (o local bruto).

taskOutcomeLocationSource

enum (TaskOutcomeLocationSource)

Indica a origem do valor de taskOutcomeLocation.

trackingId

string

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

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

string

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

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

object (LocationInfo)

Imutável. O local onde 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 tarefa neste local.

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 da 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 tarefa.

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 do depósito ou alimentador precisam 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 no depósito ou alimentador precisam usar o tipo SCHEDULED_STOP.
SCHEDULED_STOP Uma Tarefa com parada programada é usada para fins de planejamento. Por exemplo, pode representar a coleta ou entrega de remessas de veículos alimentadores ou depósitos. Ele não deve ser usado para remessas que são retiradas ou devolvidas por 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 quando 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 de ele ser definido.
PROVIDER O provedor especificou o taskOutcomeLocation.
LAST_VEHICLE_LOCATION O provedor não especificou o taskOutcomeLocation, então o Fleet Engine usou o último local conhecido do veículo.

JourneySharingInfo

Campos específicos do compartilhamento da jornada.

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 fará antes de concluir esta Tarefa. Essa lista pode conter paradas de outras tarefas.

O primeiro, Task.journey_sharing_info.remaining_vehicle_journey_segments[0] (gRPC) ou Task.journeySharingInfo.remainingVehicleJourneySegments[0] (REST), contém informações de trajeto desde o último local conhecido do motorista até o próximo VehicleStop. As informações do trajeto atual 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. Elas fornecem informações de trajeto entre os VehicleStops restantes.

lastLocation

object (DeliveryVehicleLocation)

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

lastLocationSnappable

boolean

Indica se o lastLocation do veículo pode ser vinculado ao currentRouteSegment. Esse valor será "False" se lastLocation ou currentRouteSegment não existirem. Esse valor é calculado pelo Fleet Engine. As atualizações dos 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 da polilinha do trajeto podem ficar visíveis. Se este campo não for especificado, será usada a configuração de visibilidade padrão para esses dados no nível do projeto.

estimatedArrivalTimeVisibility

object (VisibilityOption)

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

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 esses dados no nível do projeto.

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 esses dados no nível do projeto.

remainingStopCountVisibility

object (VisibilityOption)

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

vehicleLocationVisibility

object (VisibilityOption)

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

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 for <= legacyStopCountThreshold.

durationUntilEstimatedArrivalTimeThreshold

string (Duration format)

Esse elemento de dados fica visível para os usuários finais se o HEC até a parada for <= duraçãoUntilestimatedArrivalTimeThreshold.

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

remainingDrivingDistanceMetersThreshold

integer

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

always

boolean

Se definido como verdadeiro, esse elemento de dados fica 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 fica sempre 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.