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 occuparsi del ritiro, trasportando la spedizione all'hub, mentre un altro veicolo trasporta 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 "Zulu" RFC3339 UTC, 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 posizione in cui è stato impostato il risultato di Task. Questo valore viene aggiornato nell'ambito di tasks.patch. Se questo valore non viene aggiornato esplicitamente dal fornitore, Fleet Engine lo compila per impostazione predefinita con l'ultima posizione nota del veicolo (la posizione non elaborata).

taskOutcomeLocationSource

enum (TaskOutcomeLocationSource)

Indica da dove proviene il valore di taskOutcomeLocation.

trackingId

string

Immutabile. Questo campo facilita la memorizzazione di un ID in modo da 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 limitazioni:

  • Deve essere una stringa Unicode valida.
  • Sono consentiti massimo 64 caratteri.
  • Normalizzato in base al formato di normalizzazione Unicode C.
  • Non può contenere nessuno dei seguenti caratteri ASCII: '/', ':', '?', ',' o '#'.
deliveryVehicleId

string

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

  • Deve essere una stringa Unicode valida.
  • Sono consentiti massimo 64 caratteri.
  • Normalizzato in base al formato di normalizzazione Unicode C.
  • Non può contenere nessuno dei seguenti caratteri ASCII: '/', ':', '?', ',' o '#'.
plannedLocation

object (LocationInfo)

Immutabile. La posizione in cui verrà completata l'attività. Facoltativo per le attività UNAVAILABLE, ma obbligatorio per tutte le altre attività.

taskDuration

string (Duration format)

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

Una durata in secondi con un massimo di nove cifre frazionarie, che termina con "s". Esempio: "3.5s".

targetTimeWindow

object (TimeWindow)

La finestra temporale durante la quale l'attività deve essere completata.

journeySharingInfo

object (JourneySharingInfo)

Solo output. Campi specifici per la condivisione dei percorsi. Non viene 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 Task personalizzati. 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. I ritiri dei veicoli del deposito o di quelli di supporto devono utilizzare il tipo SCHEDULED_STOP.
DELIVERY Un'attività di consegna è l'azione intrapresa per consegnare una spedizione a un cliente finale. Per le zone di scarico dei veicoli di deposito o di linea deve essere utilizzato il tipo SCHEDULED_STOP.
SCHEDULED_STOP Un'attività di arresto programmata viene utilizzata a fini di pianificazione. Ad esempio, potrebbe rappresentare il ritiro o la consegna di spedizioni da veicoli o depositi di feeder. Non deve essere utilizzato per le spedizioni ritirate o consegnate 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 viene rifornito di carburante.

TaskOutcomeLocationSource

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

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

JourneySharingInfo

Condivisione di campi specifici dei percorsi.

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

object (VehicleJourneySegment)

Informazioni sul monitoraggio delle fermate che il veicolo assegnato effettuerà 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 le informazioni sul percorso dall'ultima posizione nota del conducente alla prossima VehicleStop. Le informazioni sul percorso corrente provengono in genere 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) vengono compilati da Fleet Engine. Forniscono informazioni sui percorsi tra le VehicleStops rimanenti.

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 di 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 i punti del polilinea del percorso possono essere visibili. Se questo campo non viene specificato, verrà utilizzata la configurazione della visibilità predefinita a livello di progetto per questi dati.

estimatedArrivalTimeVisibility

object (VisibilityOption)

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

estimatedTaskCompletionTimeVisibility

object (VisibilityOption)

Il campo che specifica quando il tempo di completamento stimato dell'attività può essere visibile. 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 la distanza di guida rimanente può essere visibile. Se questo campo non viene specificato, verrà utilizzata la configurazione della 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 della 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 dell'opzione che definisce quando un elemento di 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 di dati è visibile agli utenti finali se il numero di fermate rimanenti <= remainingStopCountThreshold.

durationUntilEstimatedArrivalTimeThreshold

string (Duration format)

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

Una durata in secondi con un massimo di nove cifre frazionarie, che termina con "s". Esempio: "3.5s".

remainingDrivingDistanceMetersThreshold

integer

Questo elemento di dati è visibile agli utenti finali se la distanza in metri percorsa in auto rimanente <= remainingDrivingDistanceMetersThreshold.

always

boolean

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

never

boolean

Se impostato su true, questo elemento di 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

Aggiorna i dati di Task.