REST Resource: providers.tasks

Zasób: zadanie

Task API w interfejsie Delivery API reprezentuje jedno działanie do śledzenia. Ogólnie istnieje rozróżnienie między zadaniami związanymi z dostawą i zadaniami dotyczącymi awarii. Z przesyłką może być powiązanych wiele zadań. Może to być na przykład jedno zadanie dotyczące odbioru i jednego zadania polegającego na odesłaniu lub przesiadce. Różne pojazdy mogą być też obsługiwane przez różne zadania dla danej przesyłki. Jeden pojazd może na przykład obsługiwać odbiór i przewieźć przesyłkę do centrum, a inny – z centrum do odbioru.

Uwaga: w interfejsach API gRPC i REST stosowane są różne konwencje nazewnictwa pól. Na przykład pole Task.journey_sharing_info w interfejsie gRPC API i pole Task.journeySharingInfo w interfejsie API REST odwołują 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)

To pole jest wymagane. Stałe. Określa typ zadania. Może to być na przykład przerwa lub wysyłka.

state

enum (State)

To pole jest wymagane. Bieżący stan wykonania zadania.

taskOutcome

enum (TaskOutcome)

Rezultat wykonania zadania.

taskOutcomeTime

string (Timestamp format)

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

Sygnatura czasowa w formacie „Zulu” RFC3339 UTC 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 ustawiono wynik działania funkcji Task. Ta wartość jest aktualizowana w ramach: tasks.patch. Jeśli dostawca nie zaktualizuje tej wartości, Fleet Engine domyślnie uzupełni ją ostatnią znaną lokalizacją pojazdu (nieprzetworzoną).

taskOutcomeLocationSource

enum (TaskOutcomeLocationSource)

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

trackingId

string

Stałe. To pole ułatwia przechowywanie dokumentu tożsamości, dzięki czemu można uniknąć używania skomplikowanego mapowania. Nie można ustawić trackingId dla Listy zadań typu UNAVAILABLE i SCHEDULED_STOP. Identyfikatory te podlegają następującym ograniczeniom:

  • Musi być prawidłowym ciągiem Unicode.
  • Maksymalna długość to 64 znaki.
  • Znormalizowany zgodnie z postaci normalizacji Unicode C.
  • Nazwa 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 dostawczych podlegają następującym ograniczeniom:

  • Musi być prawidłowym ciągiem Unicode.
  • Maksymalna długość to 64 znaki.
  • Znormalizowany zgodnie z postaci normalizacji Unicode C.
  • Nazwa nie może zawierać następujących znaków ASCII: „/”, „:”, „?”, „,” ani „#”.
plannedLocation

object (LocationInfo)

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

taskDuration

string (Duration format)

To pole jest wymagane. Stałe. Czas potrzebny na wykonanie zadania w tej lokalizacji.

Czas trwania w sekundach z maksymalnie 9 cyframi po przecinku, kończącym się cyframi „s”. Przykład: "3.5s".

targetTimeWindow

object (TimeWindow)

Przedział czasu, w którym należy wykonać zadanie.

journeySharingInfo

object (JourneySharingInfo)

Tylko dane wyjściowe. Pola dotyczące udostępniania serii czynności. Brak wypełnienia, gdy stan to CLOSED.

taskTrackingViewConfig

object (TaskTrackingViewConfig)

Konfiguracja śledzenia zadań, która określa, które elementy danych są widoczne dla użytkowników w jakich okolicznościach.

attributes[]

object (TaskAttribute)

Lista niestandardowych atrybutów zadania. 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 podjęte w celu odebrania przesyłki od klienta. W przypadku odbioru pojazdów z łazienki lub podajnika należy używać typu SCHEDULED_STOP.
DELIVERY Zadanie dostawy to działanie podjęte w celu dostarczenia przesyłki do klienta końcowego. W przypadku pojazdów do obsługi pojazdów lub dostawczych należy używać typu SCHEDULED_STOP.
SCHEDULED_STOP Zadanie zaplanowanego zatrzymania jest używane do planowania. Może to być na przykład odbieranie lub odbieranie przesyłek z pojazdów dostarczających lub magazynów. Nie należy go używać w przypadku przesyłek, które zostały odebrane lub dostarczone 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 gdy pojazd jest tankowany.

TaskOutcomeLocationSource

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

Wartości w polu enum
TASK_OUTCOME_LOCATION_SOURCE_UNSPECIFIED Wynik zadania przed jego ustawieniem.
PROVIDER Dostawca określił wartość taskOutcomeLocation.
LAST_VEHICLE_LOCATION Dostawca nie podał taskOutcomeLocation, więc Fleet Engine użyło 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 przystankach, które zatrzyma przydzielony pojazd przed zakończeniem tego zadania. Pamiętaj, że ta 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 z ostatniej znanej lokalizacji kierowcy do najbliższego VehicleStop. Aktualne informacje o trasie pochodzą zwykle z aplikacji kierowcy, z wyjątkiem niektórych przypadków wymienionych w dokumentacji dotyczącej urządzenia 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 pozostałymi (VehicleStops).

lastLocation

object (DeliveryVehicleLocation)

Wskazuje ostatnią zarejestrowaną lokalizację przypisanego pojazdu.

lastLocationSnappable

boolean

Wskazuje, czy parametr lastLocation pojazdu może być przyciągnięty do obiektu currentRouteSegment. Ta wartość to False, jeśli lastLocation lub currentRouteSegment nie istnieje. Ta wartość jest obliczana przez Fleet Engine. Aktualizacje klientów są ignorowane.

TaskTrackingViewConfig

Komunikat konfiguracji, 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, które określa, kiedy punkty linii łamanej na trasie mogą być widoczne. Jeśli to pole nie zostanie określone, dla tych danych będzie używana domyślna konfiguracja widoczności na poziomie projektu.

estimatedArrivalTimeVisibility

object (VisibilityOption)

Pole, które określa, kiedy może być widoczny szacowany czas przyjazdu. Jeśli to pole nie zostanie określone, dla tych danych będzie używana 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 zostanie określone, dla tych danych będzie używana domyślna konfiguracja widoczności na poziomie projektu.

remainingDrivingDistanceVisibility

object (VisibilityOption)

Pole, które określa pozostały dystans jazdy, może być widoczne. Jeśli to pole nie zostanie określone, dla tych danych będzie używana domyślna konfiguracja widoczności na poziomie projektu.

remainingStopCountVisibility

object (VisibilityOption)

Pole, które określa, kiedy pozostaje liczba przystanków, może być widoczne. Jeśli to pole nie zostanie określone, dla tych danych będzie używana 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 zostanie określone, dla tych danych będzie używana domyślna konfiguracja widoczności na poziomie projektu.

VisibilityOption

Komunikat dotyczący opcji, który określa, kiedy element danych ma 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 być tylko jedną z tych wartości:
remainingStopCountThreshold

integer

Ten element danych jest widoczny dla użytkowników, jeśli liczba pozostałych przystanków jest <= pozostałaStopCountThreshold.

durationUntilEstimatedArrivalTimeThreshold

string (Duration format)

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

Czas trwania w sekundach z maksymalnie 9 cyframi po przecinku, kończącym się cyframi „s”. Przykład: "3.5s".

remainingDrivingDistanceMetersThreshold

integer

Ten element danych jest widoczny dla użytkowników, jeśli pozostały dystans przejazdu w metrach <= przejechany kilometry.

always

boolean

Jeśli ma wartość Prawda, ten element danych jest zawsze widoczny dla użytkowników bez żadnych progów. Tego pola nie można ustawić na wartość Fałsz.

never

boolean

Jeśli zasada ma wartość Prawda, ten element danych jest zawsze ukryty przed użytkownikami bez progów. Tego pola nie można ustawić na wartość 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 obiekty Task, które spełniają określone kryteria filtrowania.

patch

Aktualizuje dane: Task.

search
(deprecated)

Wycofane: użyj zasady GetTaskTrackingInfo.