REST Resource: providers.tasks

Risorsa: attività

Un'attività nell'API Delivery rappresenta una singola azione da monitorare. In generale, esiste una distinzione tra le attività relative alla spedizione e le attività da rompere. A una spedizione possono essere associate più attività. Ad esempio, potrebbe esserci un'attività per il ritiro e un'altra per la consegna o il trasferimento. Inoltre, attività diverse per una determinata spedizione possono essere gestite da veicoli diversi. Ad esempio, un veicolo potrebbe gestire il ritiro, guidando la spedizione all'hub, mentre un altro veicolo porta la stessa spedizione dall'hub alla località di consegna.

Nota: le API gRPC e REST utilizzano convenzioni di denominazione dei campi diverse. Ad esempio, il campo Task.journey_sharing_info nell'API gRPC e il campo Task.journeySharingInfo nell'API REST fanno riferimento allo stesso campo.

Rappresentazione 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)
    }
  ]
}
Campi
name

string

Deve essere nel formato providers/{provider}/tasks/{task}.

type

enum (Type)

Obbligatorio. Immutabile. Definisce il tipo di attività. ad esempio una rottura o una spedizione.

state

enum (State)

Obbligatorio. Lo stato di esecuzione attuale dell'attività.

taskOutcome

enum (TaskOutcome)

Il risultato dell'attività.

taskOutcomeTime

string (Timestamp format)

Il timestamp che indica quando il risultato di Task è stato impostato dal provider.

Un timestamp nel formato RFC3339 UTC "Zulu" con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

taskOutcomeLocation

object (LocationInfo)

La località in cui è stato impostato il risultato di Task. Questo valore viene aggiornato come parte di tasks.patch. Se questo valore non viene aggiornato esplicitamente dal provider, Fleet Engine lo compila per impostazione predefinita con l'ultima posizione nota del veicolo (la posizione non elaborata).

taskOutcomeLocationSource

enum (TaskOutcomeLocationSource)

Indica la provenienza del valore di taskOutcomeLocation.

trackingId

string

Immutabile. Questo campo consente di memorizzare un ID per evitare di utilizzare una mappatura complicata. Non puoi impostare trackingId per le attività di tipo UNAVAILABLE e SCHEDULED_STOP. Questi ID sono soggetti alle seguenti restrizioni:

  • Deve essere una stringa Unicode valida.
  • Lunghezza massima di 64 caratteri.
  • Normalizzato secondo lo Unicode Normalization Form C.
  • Non può contenere nessuno dei seguenti caratteri ASCII: "/", ":", "?", "," o "#".
deliveryVehicleId

string

Solo output. L'ID del veicolo che esegue questa attività. Gli ID veicolo per la consegna sono soggetti alle seguenti limitazioni:

  • Deve essere una stringa Unicode valida.
  • Lunghezza massima di 64 caratteri.
  • Normalizzato secondo lo Unicode Normalization Form C.
  • Non può contenere nessuno dei seguenti caratteri ASCII: "/", ":", "?", "," o "#".
plannedLocation

object (LocationInfo)

Immutabile. Il luogo in cui verrà completata l'attività. Facoltativo per UNAVAILABLE Tasks, ma obbligatorio per tutte le altre attività.

taskDuration

string (Duration format)

Obbligatorio. Immutabile. Il tempo necessario per eseguire un'attività in questa posizione.

Durata in secondi con un massimo di nove cifre frazionarie e termina con "s". Esempio: "3.5s".

targetTimeWindow

object (TimeWindow)

L'intervallo di tempo durante il quale deve essere completata l'attività.

journeySharingInfo

object (JourneySharingInfo)

Solo output. Campi specifici per la condivisione del percorso. Non compilato quando lo stato è CLOSED.

taskTrackingViewConfig

object (TaskTrackingViewConfig)

La configurazione per il monitoraggio delle attività che specifica quali elementi dei dati sono visibili agli utenti finali in quali circostanze.

attributes[]

object (TaskAttribute)

Un elenco di attributi personalizzati delle attività. Ogni attributo deve avere una chiave univoca.

Tipo

Il tipo di attività.

Enum
TYPE_UNSPECIFIED Impostazione predefinita, il tipo di attività è sconosciuto.
PICKUP Un'attività di ritiro è l'azione intrapresa per ritirare una spedizione da un cliente. Per i prelievi in deposito o tramite distributore di veicoli devono essere utilizzati il tipo SCHEDULED_STOP.
DELIVERY Un'Attività di consegna è l'azione intrapresa per consegnare una spedizione a un cliente finale. I depositi o i punti di raccolta dei veicoli da traino devono essere di tipo SCHEDULED_STOP.
SCHEDULED_STOP Un'attività di interruzione pianificata viene utilizzata ai fini della pianificazione. Ad esempio, potrebbe rappresentare il ritiro o la consegna di spedizioni da veicoli o depositi di feeder. Non deve essere utilizzato per alcuna spedizione presa o consegnata da un cliente finale.
UNAVAILABLE Un'attività che indica che il veicolo non è disponibile per il servizio. Ad esempio, questo può accadere quando il conducente fa una pausa o quando il veicolo sta facendo rifornimento.

TaskOutcomeLocationSource

L'identità dell'origine che ha completato taskOutcomeLocation.

Enum
TASK_OUTCOME_LOCATION_SOURCE_UNSPECIFIED Il risultato dell'attività prima che venga impostato.
PROVIDER Il provider ha specificato taskOutcomeLocation.
LAST_VEHICLE_LOCATION Il provider non ha specificato taskOutcomeLocation, quindi Fleet Engine ha utilizzato l'ultima posizione nota del veicolo.

JourneySharingInfo

Condivisione del percorso di campi specifici.

Rappresentazione JSON
{
  "remainingVehicleJourneySegments": [
    {
      object (VehicleJourneySegment)
    }
  ],
  "lastLocation": {
    object (DeliveryVehicleLocation)
  },
  "lastLocationSnappable": boolean
}
Campi
remainingVehicleJourneySegments[]

object (VehicleJourneySegment)

Informazioni di monitoraggio delle fermate che il veicolo assegnato farà prima di completare questa attività. Tieni presente che questo elenco può contenere fermate di altre attività.

Il primo segmento, Task.journey_sharing_info.remaining_vehicle_journey_segments[0] (gRPC) o Task.journeySharingInfo.remainingVehicleJourneySegments[0] (REST), contiene informazioni sul percorso dall'ultima posizione nota del conducente al prossimo VehicleStop. Le informazioni attuali sul percorso solitamente provengono dall'app del conducente, ad eccezione di alcuni casi indicati nella documentazione di DeliveryVehicle.current_route_segment. Gli altri segmenti in Task.journey_sharing_info.remaining_vehicle_journey_segments (gRPC) o Task.journeySharingInfo.remainingVehicleJourneySegments (REST) sono compilati da Fleet Engine. Forniscono informazioni sui percorsi tra i restanti VehicleStops.

lastLocation

object (DeliveryVehicleLocation)

Indica l'ultima posizione segnalata del veicolo assegnato.

lastLocationSnappable

boolean

Indica se l'ultima posizione del veicolo può essere agganciata a currentRouteSegment. Questo valore è False se lastLocation o currentRouteSegment non esistono. Questo valore viene calcolato da Fleet Engine. Gli aggiornamenti dei client vengono ignorati.

TaskTrackingViewConfig

Il messaggio di configurazione che definisce quando un elemento dati di un'attività deve essere visibile agli utenti finali.

Rappresentazione JSON
{
  "routePolylinePointsVisibility": {
    object (VisibilityOption)
  },
  "estimatedArrivalTimeVisibility": {
    object (VisibilityOption)
  },
  "estimatedTaskCompletionTimeVisibility": {
    object (VisibilityOption)
  },
  "remainingDrivingDistanceVisibility": {
    object (VisibilityOption)
  },
  "remainingStopCountVisibility": {
    object (VisibilityOption)
  },
  "vehicleLocationVisibility": {
    object (VisibilityOption)
  }
}
Campi
routePolylinePointsVisibility

object (VisibilityOption)

Il campo che specifica quando possono essere visibili i punti delle polilinee della route. Se questo campo non viene specificato, verrà utilizzata la configurazione di visibilità predefinita a livello di progetto per questi dati.

estimatedArrivalTimeVisibility

object (VisibilityOption)

Il campo che specifica quando può essere visibile l'ora di arrivo stimata. Se questo campo non viene specificato, verrà utilizzata la configurazione di visibilità predefinita a livello di progetto per questi dati.

estimatedTaskCompletionTimeVisibility

object (VisibilityOption)

Il campo che specifica quando può essere visibile il tempo stimato di completamento dell'attività. Se questo campo non viene specificato, verrà utilizzata la configurazione di visibilità predefinita a livello di progetto per questi dati.

remainingDrivingDistanceVisibility

object (VisibilityOption)

Il campo che specifica quando è necessario raggiungere la distanza di guida rimanente può essere visibile. Se questo campo non viene specificato, verrà utilizzata la configurazione di visibilità predefinita a livello di progetto per questi dati.

remainingStopCountVisibility

object (VisibilityOption)

Il campo che specifica quando il conteggio delle fermate rimanenti può essere visibile. Se questo campo non viene specificato, verrà utilizzata la configurazione di visibilità predefinita a livello di progetto per questi dati.

vehicleLocationVisibility

object (VisibilityOption)

Il campo che specifica quando la posizione del veicolo può essere visibile. Se questo campo non viene specificato, verrà utilizzata la configurazione di visibilità predefinita a livello di progetto per questi dati.

VisibilityOption

Il messaggio di opzione che definisce quando un elemento dei dati deve essere visibile agli utenti finali.

Rappresentazione 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.
}
Campi
Campo unione visibility_option. L'opzione di visibilità specifica scelta. visibility_option può essere solo uno dei seguenti:
remainingStopCountThreshold

integer

Questo elemento dati è visibile agli utenti finali se il numero di fermate rimanenti è <= higherStopCountThreshold.

durationUntilEstimatedArrivalTimeThreshold

string (Duration format)

Questo elemento di dati è visibile agli utenti finali se l'orario di arrivo stimato verso la fermata è <=durationUntilestimatedArrivalTimeThreshold.

Durata in secondi con un massimo di nove cifre frazionarie e termina con "s". Esempio: "3.5s".

remainingDrivingDistanceMetersThreshold

integer

Questo elemento di dati è visibile agli utenti finali se la distanza di guida rimanente in metri è <= sideDistanceMetersThreshold.

always

boolean

Se impostato su true, questo elemento dati è sempre visibile agli utenti finali senza soglie. Questo campo non può essere impostato su false.

never

boolean

Se impostato su true, questo elemento dati è sempre nascosto agli utenti finali senza soglie. Questo campo non può essere impostato su false.

Metodi

batchCreate

Crea e restituisce un batch di nuovi oggetti Task.

create

Crea e restituisce un nuovo oggetto Task.

get

Recupera informazioni su un Task.

list

Restituisce tutti i valori Task che soddisfano i criteri di filtro specificati.

patch

Consente di aggiornare i dati relativi a Task.