REST Resource: providers.tasks

Zasób: Task

Zadanie w interfejsie Delivery API reprezentuje jedno działanie do śledzenia. Ogólnie istnieje rozróżnienie między zadaniami związanymi z dostawą a zadaniami przerwania zadań. Z przesyłką może być powiązanych kilka zadań. Może być na przykład jedno zadanie dotyczące odbioru i jedno zadanie dotyczące dostawy lub przenoszenia. Różne pojazdy mogą też obsługiwać różne zadania dotyczące danej przesyłki. Na przykład jeden pojazd może przewieźć przesyłkę do centrum, a drugi przewieźć ją z centrum do miejsca nadania.

Uwaga: interfejsy API gRPC i REST używają różnych konwencji nazewnictwa pól. Na przykład pole Task.journey_sharing_info w interfejsie gRPC API i pole Task.journeySharingInfo w interfejsie API REST odnoszą się do tego samego pola.

Zapis 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)
    }
  ]
}
Pola
name

string

Musi mieć format providers/{provider}/tasks/{task}.

type

enum (Type)

Wymagane. Stała. Określa typ zadania. Może to być na przykład przerwa lub dostawa.

state

enum (State)

Wymagane. Bieżący stan wykonania zadania.

taskOutcome

enum (TaskOutcome)

Rezultat zadania.

taskOutcomeTime

string (Timestamp format)

Sygnatura czasowa wskazująca, kiedy dostawca Task ustalił wynik.

Sygnatura czasowa w RFC3339 UTC „Zulu” z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

taskOutcomeLocation

object (LocationInfo)

Lokalizacja, w której ustalono wynik funkcji Task. Ta wartość jest aktualizowana w ramach tasks.patch. Jeśli ta wartość nie jest aktualizowana bezpośrednio przez dostawcę, Fleet Engine wypełnia ją domyślnie ostatnią znaną lokalizacją pojazdu (lokalizacja nieprzetworzona).

taskOutcomeLocationSource

enum (TaskOutcomeLocationSource)

Wskazuje, skąd pochodzi wartość pola taskOutcomeLocation.

trackingId

string

Stała. To pole ułatwia przechowywanie identyfikatora, dzięki czemu nie musisz używać skomplikowanego mapowania. Nie możesz ustawić zasady trackingId na Liście zadań typu UNAVAILABLE i SCHEDULED_STOP. Identyfikatory te podlegają następującym ograniczeniom:

  • Musi być prawidłowym ciągiem znaków Unicode.
  • Może mieć maksymalnie 64 znaki.
  • Znormalizowane zgodnie z formularzem normalizacji Unicode C.
  • Nie może zawierać następujących znaków ASCII: „/”, „:”, „?”, „,” ani „#”.
deliveryVehicleId

string

Tylko dane wyjściowe. Identyfikator pojazdu, który wykonuje to zadanie. Identyfikatory pojazdów dostawy podlegają tym ograniczeniom:

  • Musi być prawidłowym ciągiem znaków Unicode.
  • Może mieć maksymalnie 64 znaki.
  • Znormalizowane zgodnie z formularzem normalizacji Unicode C.
  • Nie może zawierać następujących znaków ASCII: „/”, „:”, „?”, „,” ani „#”.
plannedLocation

object (LocationInfo)

Stała. Lokalizacja, w której zadanie zostanie wykonane. Opcjonalny w przypadku zadań UNAVAILABLE, ale wymagany w przypadku wszystkich innych zadań.

taskDuration

string (Duration format)

Wymagane. Stała. Czas potrzebny na wykonanie zadania w tej lokalizacji.

Czas trwania w sekundach składający się z maksymalnie 9 cyfr po przecinku i kończący się „s”. Przykład: "3.5s".

targetTimeWindow

object (TimeWindow)

Przedział czasu, w którym zadanie ma zostać wykonane.

journeySharingInfo

object (JourneySharingInfo)

Tylko dane wyjściowe. Pola dotyczące udostępniania ścieżki. Wartość nie jest wypełniona, gdy stan to CLOSED.

taskTrackingViewConfig

object (TaskTrackingViewConfig)

Konfiguracja śledzenia zadań określająca, które elementy danych są widoczne dla użytkowników w konkretnych okolicznościach.

attributes[]

object (TaskAttribute)

Lista niestandardowych atrybutów Listy zadań. Każdy atrybut musi mieć unikalny klucz.

Typ

Typ zadania.

Wartości w polu enum
TYPE_UNSPECIFIED Domyślnie typ zadania jest nieznany.
PICKUP Zadanie odbioru to działanie związane z odebraniem przesyłki od klienta. Odbiór pojazdów z magazynu lub uzupełniania powinien być taki sam jak typ SCHEDULED_STOP.
DELIVERY Zadanie dostawy to działanie podjęte w celu dostarczenia przesyłki do klienta końcowego. Zwrot pojazdów z magazynu lub uzupełniania powinien być zgodny z typem SCHEDULED_STOP.
SCHEDULED_STOP Zaplanowane zatrzymanie Zadanie służy do planowania. Może to być na przykład odbieranie lub odbieranie przesyłek z pojazdów dostawczych lub składów. Nie należy go używać w przypadku żadnych przesyłek odbieranych lub dostarczanych przez klienta końcowego.
UNAVAILABLE Zadanie, które oznacza, że pojazd nie jest dostępny do naprawy. Może się tak na przykład zdarzyć, gdy kierowca robi sobie przerwę lub uzupełnia paliwo w pojeździe.

TaskOutcomeLocationSource

Tożsamość źródła, które wypełniło taskOutcomeLocation.

Wartości w polu enum
TASK_OUTCOME_LOCATION_SOURCE_UNSPECIFIED Wynik zadania przed jego ustawieniem.
PROVIDER Parametr taskOutcomeLocation określony przez dostawcę.
LAST_VEHICLE_LOCATION Dostawca nie podał: taskOutcomeLocation, więc Fleet Engine użyła ostatniej znanej lokalizacji pojazdu.

JourneySharingInfo

Określone pola dotyczące udostępniania serii czynności.

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

object (VehicleJourneySegment)

Informacje o śledzeniu zatrzymania, które przydzieli przypisany pojazd, zanim ukończy to zadanie. Pamiętaj, że lista może zawierać przystanki z innych zadań.

Pierwszy segment, Task.journey_sharing_info.remaining_vehicle_journey_segments[0] (gRPC) lub Task.journeySharingInfo.remainingVehicleJourneySegments[0] (REST), zawiera informacje o trasie od ostatniej znanej lokalizacji kierowcy do najbliższego VehicleStop. Informacje o aktualnej trasie zwykle pochodzą z aplikacji kierowcy. Wyjątkiem są sytuacje określone w dokumentacji funkcji DeliveryVehicle.current_route_segment. Pozostałe segmenty w Task.journey_sharing_info.remaining_vehicle_journey_segments (gRPC) lub Task.journeySharingInfo.remainingVehicleJourneySegments (REST) są wypełniane przez Fleet Engine. Zapewniają informacje o trasie między VehicleStops.

lastLocation

object (DeliveryVehicleLocation)

Wskazuje ostatnią zarejestrowaną lokalizację przypisanego pojazdu.

lastLocationSnappable

boolean

Wskazuje, czy parametr lastLocation pojazdu może być przypięty do currentRouteSegment. Jeśli lastLocation lub currentRouteSegment nie istnieją, ta wartość to False. Ta wartość jest obliczana przez Fleet Engine. Aktualizacje od klientów są ignorowane.

TaskTrackingViewConfig

Komunikat konfiguracyjny, który określa, kiedy element danych zadania powinien być widoczny dla użytkowników.

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

object (VisibilityOption)

Pole określające, kiedy punkty linii łamanej trasy mogą być widoczne. Jeśli to pole nie jest określone, w przypadku tych danych używana będzie domyślna konfiguracja widoczności na poziomie projektu.

estimatedArrivalTimeVisibility

object (VisibilityOption)

Pole określające, kiedy szacowany czas przyjazdu może być widoczny. Jeśli to pole nie jest określone, w przypadku tych danych używana będzie domyślna konfiguracja widoczności na poziomie projektu.

estimatedTaskCompletionTimeVisibility

object (VisibilityOption)

Pole, które określa, kiedy może być widoczny szacowany czas ukończenia zadania. Jeśli to pole nie jest określone, w przypadku tych danych używana będzie domyślna konfiguracja widoczności na poziomie projektu.

remainingDrivingDistanceVisibility

object (VisibilityOption)

Pole określające, kiedy pozostała odległość jazdy może być widoczna. Jeśli to pole nie jest określone, w przypadku tych danych używana będzie domyślna konfiguracja widoczności na poziomie projektu.

remainingStopCountVisibility

object (VisibilityOption)

Pole określające, kiedy liczba pozostałych przystanków może być widoczna. Jeśli to pole nie jest określone, w przypadku tych danych używana będzie domyślna konfiguracja widoczności na poziomie projektu.

vehicleLocationVisibility

object (VisibilityOption)

Pole, które określa, kiedy lokalizacja pojazdu może być widoczna. Jeśli to pole nie jest określone, w przypadku tych danych używana będzie domyślna konfiguracja widoczności na poziomie projektu.

VisibilityOption

Komunikat dotyczący opcji, który określa, kiedy element danych powinien być widoczny dla użytkowników.

Zapis 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.
}
Pola
Pole sumy visibility_option. Wybrana opcja widoczności. visibility_option może mieć tylko jedną z tych wartości:
remainingStopCountThreshold

integer

Ten element danych jest widoczny dla użytkowników, jeśli pozostała liczba zatrzymania <= remainingStopCountThreshold.

durationUntilEstimatedArrivalTimeThreshold

string (Duration format)

Ten element danych jest widoczny dla użytkowników, jeśli szacowany czas dotarcia na miejsce do przystanku <= durationUntilMinimumArrivalTimeThreshold.

Czas trwania w sekundach składający się z maksymalnie 9 cyfr po przecinku i kończący się „s”. Przykład: "3.5s".

remainingDrivingDistanceMetersThreshold

integer

Ten element danych jest widoczny dla użytkowników, jeśli pozostała odległość przejechana w metrach jest równa <= remainingDurationMetersThreshold.

always

boolean

Jeśli ma wartość Prawda, ten element danych jest zawsze widoczny dla użytkowników bez wartości progowych. W tym polu nie można ustawić wartości false (fałsz).

never

boolean

Jeśli ma wartość Prawda, ten element danych jest zawsze ukryty przed użytkownikami bez wartości progowych. W tym polu nie można ustawić wartości false (fałsz).

Metody

batchCreate

Tworzy i zwraca grupę nowych obiektów Task.

create

Tworzy i zwraca nowy obiekt Task.

get

Pobiera informacje o: Task.

list

Pobiera wszystkie elementy typu Task, które spełniają określone kryteria filtrowania.

patch

Aktualizuje dane: Task.