REST Resource: providers.tasks

Ressource: Aufgabe

Eine Aufgabe in der Delivery API stellt eine einzelne zu erfassende Aktion dar. Im Allgemeinen wird zwischen versandbezogenen Aufgaben und Pausenaufgaben unterschieden. Einem Versand können mehrere Aufgaben zugeordnet sein. So kann es beispielsweise eine Aufgabe für die Abholung und eine für die Rückgabe oder den Transport geben. Außerdem können verschiedene Aufgaben für eine bestimmte Sendung von verschiedenen Fahrzeugen ausgeführt werden. So kann beispielsweise ein Fahrzeug die Abholung übernehmen und die Sendung zum Hub fahren, während ein anderes Fahrzeug dieselbe Sendung vom Hub zum Abgabeort fährt.

Hinweis: gRPC- und REST-APIs verwenden unterschiedliche Feldbenennungskonventionen. Beispiel: Das Feld Task.journey_sharing_info in der gRPC API und das Feld Task.journeySharingInfo in der REST API beziehen sich auf dasselbe Feld.

JSON-Darstellung
{
  "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)
    }
  ]
}
Felder
name

string

Muss im Format providers/{provider}/tasks/{task} vorliegen.

type

enum (Type)

Erforderlich. Nicht veränderbar. Definiert den Typ der Aufgabe. Beispiel: Pause oder Versand.

state

enum (State)

Erforderlich. Der aktuelle Ausführungsstatus der Aufgabe.

taskOutcome

enum (TaskOutcome)

Das Ergebnis der Aufgabe.

taskOutcomeTime

string (Timestamp format)

Der Zeitstempel, der angibt, wann das Ergebnis des Task vom Anbieter festgelegt wurde.

Es wird RFC 3339 verwendet, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Glieder mit Dezimalstellen enthält. Andere Achsenbezeichnungen als „Z“ sind ebenfalls zulässig. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

taskOutcomeLocation

object (LocationInfo)

Der Speicherort, an dem das Ergebnis der Task festgelegt wurde. Dieser Wert wird im Rahmen von tasks.patch aktualisiert. Wenn dieser Wert nicht explizit vom Anbieter aktualisiert wird, wird er in der Fleet Engine standardmäßig mit dem letzten bekannten Fahrzeugstandort (der rohen Position) ausgefüllt.

taskOutcomeLocationSource

enum (TaskOutcomeLocationSource)

Gibt an, woher der Wert der taskOutcomeLocation stammt.

trackingId

string

Nicht veränderbar. Dieses Feld erleichtert das Speichern einer ID, sodass Sie keine komplizierte Zuordnung verwenden müssen. Sie können trackingId nicht für Aufgaben vom Typ UNAVAILABLE und SCHEDULED_STOP festlegen. Für diese IDs gelten die folgenden Einschränkungen:

  • Muss ein gültiger Unicode-String sein.
  • Ist auf eine maximale Länge von 64 Zeichen beschränkt.
  • Normalisiert gemäß Unicode-Normalisierungsform C.
  • Darf keines der folgenden ASCII-Zeichen enthalten: „/“, „:“, „?“, „,“ oder „#“.
deliveryVehicleId

string

Nur Ausgabe. Die ID des Fahrzeugs, das diese Aufgabe ausführt. IDs für Lieferfahrzeuge unterliegen den folgenden Einschränkungen:

  • Muss ein gültiger Unicode-String sein.
  • Ist auf eine maximale Länge von 64 Zeichen beschränkt.
  • Normalisiert gemäß Unicode-Normalisierungsform C.
  • Darf keines der folgenden ASCII-Zeichen enthalten: „/“, „:“, „?“, „,“ oder „#“.
plannedLocation

object (LocationInfo)

Nicht veränderbar. Der Ort, an dem die Aufgabe abgeschlossen wird. Optional für UNAVAILABLE-Aufgaben, aber für alle anderen Aufgaben erforderlich.

taskDuration

string (Duration format)

Erforderlich. Nicht veränderbar. Die Zeit, die für die Ausführung einer Aufgabe an diesem Standort benötigt wird.

Die Dauer in Sekunden mit bis zu neun Nachkommastellen und am Ende mit "s". Beispiel: "3.5s".

targetTimeWindow

object (TimeWindow)

Das Zeitfenster, in dem die Aufgabe erledigt werden soll.

journeySharingInfo

object (JourneySharingInfo)

Nur Ausgabe. Felder, die speziell für die Freigabe von Reisedaten gelten. Wird nicht ausgefüllt, wenn der Status CLOSED ist.

taskTrackingViewConfig

object (TaskTrackingViewConfig)

Die Konfiguration für die Aufgabenverfolgung, in der angegeben wird, welche Datenelemente für Endnutzer unter welchen Umständen sichtbar sind.

attributes[]

object (TaskAttribute)

Eine Liste benutzerdefinierter Aufgabenattribute. Jedes Attribut muss einen eindeutigen Schlüssel haben.

Typ

Der Aufgabentyp.

Enums
TYPE_UNSPECIFIED Standardmäßig ist der Aufgabentyp unbekannt.
PICKUP Eine Abholaufgabe ist die Aktion, die für die Abholung einer Sendung bei einem Kunden ausgeführt wird. Für die Abholung von Fahrzeugen im Depot oder in einem Zubringer sollte der Typ SCHEDULED_STOP verwendet werden.
DELIVERY Eine Zustellaufgabe ist die Aktion, die für die Zustellung einer Sendung an einen Endkunden ausgeführt wird. Für Depot- oder Zubringer-Fahrzeugabgabestellen sollte der Typ SCHEDULED_STOP verwendet werden.
SCHEDULED_STOP Eine geplante Aufgabe für Haltestellen wird zu Planungszwecken verwendet. Das kann beispielsweise die Abholung oder Abgabe von Sendungen von Zubringerfahrzeugen oder Depots sein. Sie sollte nicht für Sendungen verwendet werden, die von einem Endkunden abgeholt oder abgegeben werden.
UNAVAILABLE Eine Aufgabe, die bedeutet, dass das Fahrzeug nicht für den Service verfügbar ist. Das kann beispielsweise passieren, wenn der Fahrer eine Pause macht oder das Fahrzeug betankt wird.

TaskOutcomeLocationSource

Die Identität der Quelle, aus der die taskOutcomeLocation stammen.

Enums
TASK_OUTCOME_LOCATION_SOURCE_UNSPECIFIED Das Aufgabenergebnis, bevor es festgelegt wird.
PROVIDER Der Anbieter hat die taskOutcomeLocation angegeben.
LAST_VEHICLE_LOCATION Der Anbieter hat die taskOutcomeLocation nicht angegeben. Daher wurde in Fleet Engine der zuletzt bekannte Fahrzeugstandort verwendet.

JourneySharingInfo

Bestimmte Felder für die Freigabe von Informationen zur Kaufentscheidung

JSON-Darstellung
{
  "remainingVehicleJourneySegments": [
    {
      object (VehicleJourneySegment)
    }
  ],
  "lastLocation": {
    object (DeliveryVehicleLocation)
  },
  "lastLocationSnappable": boolean
}
Felder
remainingVehicleJourneySegments[]

object (VehicleJourneySegment)

Informationen zur Verfolgung der Haltestellen, die das zugewiesene Fahrzeug anfährt, bevor es diese Aufgabe abschließt. Diese Liste kann Haltestellen aus anderen Aufgaben enthalten.

Das erste Segment, Task.journey_sharing_info.remaining_vehicle_journey_segments[0] (gRPC) oder Task.journeySharingInfo.remainingVehicleJourneySegments[0] (REST), enthält Routeninformationen vom letzten bekannten Standort des Fahrers bis zum nächsten VehicleStop. Aktuelle Routeninformationen stammen in der Regel von der Fahrer-App, mit Ausnahme einiger Fälle, die in der Dokumentation für DeliveryVehicle.current_route_segment aufgeführt sind. Die anderen Segmente in Task.journey_sharing_info.remaining_vehicle_journey_segments (gRPC) oder Task.journeySharingInfo.remainingVehicleJourneySegments (REST) werden von der Fleet Engine ausgefüllt. Sie liefern Routeninformationen zwischen den verbleibenden VehicleStops.

lastLocation

object (DeliveryVehicleLocation)

Der zuletzt gemeldete Standort des zugewiesenen Fahrzeugs.

lastLocationSnappable

boolean

Gibt an, ob der letzte Standort des Fahrzeugs an die currentRouteSegment angedockt werden kann. Dieser Wert ist „False“, wenn entweder lastLocation oder currentRouteSegment nicht vorhanden ist. Dieser Wert wird von der Fleet Engine berechnet. Updates von Kunden werden ignoriert.

TaskTrackingViewConfig

Die Konfigurationsnachricht, die festlegt, wann ein Datenelement einer Aufgabe für die Endnutzer sichtbar sein soll.

JSON-Darstellung
{
  "routePolylinePointsVisibility": {
    object (VisibilityOption)
  },
  "estimatedArrivalTimeVisibility": {
    object (VisibilityOption)
  },
  "estimatedTaskCompletionTimeVisibility": {
    object (VisibilityOption)
  },
  "remainingDrivingDistanceVisibility": {
    object (VisibilityOption)
  },
  "remainingStopCountVisibility": {
    object (VisibilityOption)
  },
  "vehicleLocationVisibility": {
    object (VisibilityOption)
  }
}
Felder
routePolylinePointsVisibility

object (VisibilityOption)

Das Feld, in dem angegeben wird, wann Polylinienpunkte einer Route sichtbar sein können. Wenn dieses Feld nicht angegeben ist, wird die Standardkonfiguration für die Sichtbarkeit auf Projektebene für diese Daten verwendet.

estimatedArrivalTimeVisibility

object (VisibilityOption)

Das Feld, in dem festgelegt wird, wann die voraussichtliche Ankunftszeit sichtbar sein kann. Wenn dieses Feld nicht angegeben ist, wird die Standardkonfiguration für die Sichtbarkeit auf Projektebene für diese Daten verwendet.

estimatedTaskCompletionTimeVisibility

object (VisibilityOption)

Das Feld, in dem angegeben wird, wann die geschätzte Zeit für die Erledigung der Aufgabe sichtbar sein kann. Wenn dieses Feld nicht angegeben ist, wird die Standardkonfiguration für die Sichtbarkeit auf Projektebene für diese Daten verwendet.

remainingDrivingDistanceVisibility

object (VisibilityOption)

Das Feld, in dem angegeben wird, wann die verbleibende Fahrstrecke sichtbar sein kann. Wenn dieses Feld nicht angegeben ist, wird die Standardkonfiguration für die Sichtbarkeit auf Projektebene für diese Daten verwendet.

remainingStopCountVisibility

object (VisibilityOption)

Das Feld, das angibt, wann die verbleibende Anzahl der Haltestellen sichtbar sein kann. Wenn dieses Feld nicht angegeben ist, wird die Standardkonfiguration für die Sichtbarkeit auf Projektebene für diese Daten verwendet.

vehicleLocationVisibility

object (VisibilityOption)

Das Feld, in dem angegeben wird, wann der Fahrzeugstandort sichtbar sein kann. Wenn dieses Feld nicht angegeben ist, wird die Standardkonfiguration für die Sichtbarkeit auf Projektebene für diese Daten verwendet.

VisibilityOption

Die Option, mit der festgelegt wird, wann ein Datenelement für Endnutzer sichtbar sein soll.

JSON-Darstellung
{

  // 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.
}
Felder
Union-Feld visibility_option. Die ausgewählte Sichtbarkeitsoption. Für visibility_option ist nur einer der folgenden Werte zulässig:
remainingStopCountThreshold

integer

Dieses Datenelement ist für Endnutzer sichtbar, wenn die verbleibende Anzahl der Haltestellen <= remainingStopCountThreshold ist.

durationUntilEstimatedArrivalTimeThreshold

string (Duration format)

Dieses Datenelement ist für Endnutzer sichtbar, wenn die geschätzte Ankunftszeit an der Haltestelle <= durationUntilEstimatedArrivalTimeThreshold ist.

Die Dauer in Sekunden mit bis zu neun Nachkommastellen und am Ende mit "s". Beispiel: "3.5s".

remainingDrivingDistanceMetersThreshold

integer

Dieses Datenelement ist für Endnutzer sichtbar, wenn die verbleibende Fahrstrecke in Metern <= remainingDrivingDistanceMetersThreshold ist.

always

boolean

Wenn diese Option auf „wahr“ gesetzt ist, ist dieses Datenelement für Endnutzer immer ohne Grenzwerte sichtbar. Dieses Feld kann nicht auf „false“ gesetzt werden.

never

boolean

Wenn diese Option auf „wahr“ gesetzt ist, wird dieses Datenelement den Endnutzern immer ohne Grenzwerte ausgeblendet. Dieses Feld kann nicht auf „false“ gesetzt werden.

Methoden

batchCreate

Erstellt und gibt eine Reihe neuer Task-Objekte zurück.

create

Erstellt ein neues Task-Objekt und gibt es zurück.

delete

Löscht eine einzelne Aufgabe.

get

Ruft Informationen zu einem Task ab.

list

Alle Tasks abrufen, die die angegebenen Filterkriterien erfüllen

patch

Aktualisiert Task-Daten.