REST Resource: providers.tasks

Zasób: Task

Zadanie w Delivery API reprezentuje pojedyncze działanie do śledzenia. Ogólnie rzecz biorąc, rozróżnia się zadania związane z dostawą i przerwy. Z wysyłką może być powiązanych wiele zadań. Na przykład jedno zadanie może dotyczyć odbioru, a drugie – dostarczenia lub przeniesienia. Różne zadania związane z danym zleceniem mogą być realizowane przez różne pojazdy. Na przykład jeden pojazd może odbierać przesyłkę i przewozić ją do huba, a inny przewozić tę samą przesyłkę z huba do miejsca dostawy.

Uwaga: interfejsy 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 REST API 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)

Wymagany. Niezmienna. Określa typ zadania. Może to być na przykład przerwa lub wysyłka.

state

enum (State)

Wymagany. Bieżący stan wykonywania zadania.

taskOutcome

enum (TaskOutcome)

Wynik zadania.

taskOutcomeTime

string (Timestamp format)

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

Używa standardu RFC 3339, w którym wygenerowany wynik jest zawsze znormalizowany według normy Z i zawiera 0, 3, 6 lub 9 cyfr ułamkowych. Akceptowane są również przesunięcia inne niż „Z”. Przykłady: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" lub "2014-10-02T15:01:23+05:30".

taskOutcomeLocation

object (LocationInfo)

Lokalizacja, w której ustawiono wynik Task. Ta wartość jest aktualizowana w ramach tasks.patch. Jeśli ta wartość nie zostanie wyraźnie zaktualizowana przez dostawcę, Fleet Engine wypełni ją domyślnie ostatnią znaną lokalizacją pojazdu (surową lokalizacją).

taskOutcomeLocationSource

enum (TaskOutcomeLocationSource)

Wskazuje, skąd pochodzi wartość taskOutcomeLocation.

trackingId

string

Niezmienna. To pole ułatwia przechowywanie identyfikatora, dzięki czemu można uniknąć korzystania ze skomplikowanego mapowania. Nie możesz ustawić wartości trackingId dla zadań typu UNAVAILABLESCHEDULED_STOP. Te identyfikatory podlegają tym ograniczeniom:

  • Musi to być prawidłowy ciąg znaków Unicode.
  • Maksymalna długość to 64 znaki.
  • znormalizowany zgodnie ze specyfikacją Unicode Normalization Form C.
  • Nie może zawierać tych znaków ASCII: '/', ':', '?', ',' ani '#'.
deliveryVehicleId

string

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

  • Musi to być prawidłowy ciąg znaków Unicode.
  • Maksymalna długość to 64 znaki.
  • znormalizowany zgodnie ze specyfikacją Unicode Normalization Form C.
  • Nie może zawierać tych znaków ASCII: '/', ':', '?', ',' ani '#'.
plannedLocation

object (LocationInfo)

Niezmienna. Miejsce, w którym zostanie ukończone zadanie. Opcjonalny w przypadku zadań UNAVAILABLE, ale wymagany w przypadku wszystkich innych zadań.

taskDuration

string (Duration format)

Wymagany. Niezmienna. Czas potrzebny do wykonania zadania w danej lokalizacji.

Czas w sekundach z maksymalnie 9 miejscami po przecinku, zakończony literą „s”. Przykład: "3.5s".

targetTimeWindow

object (TimeWindow)

Okno czasowe, w którym należy wykonać zadanie.

journeySharingInfo

object (JourneySharingInfo)

Tylko dane wyjściowe. Pola dotyczące udostępniania podróży. Niewypełnione, gdy stan to CLOSED.

taskTrackingViewConfig

object (TaskTrackingViewConfig)

Konfiguracja śledzenia zadań, która określa, które elementy danych są widoczne dla użytkowników i 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 polegające na odbiorze przesyłki od klienta. Odbiór z depotu lub z pojazdu zasilającego powinien używać typu SCHEDULED_STOP.
DELIVERY Zadanie dostawy to działanie polegające na dostarczeniu przesyłki do klienta końcowego. Punkty wyładunku w zakładach i pomocniczych pojazdach dostawczych powinny używać typu SCHEDULED_STOP.
SCHEDULED_STOP Zaplanowane zatrzymanie zadania służy do planowania. Może to być na przykład odbiór lub dostarczenie przesyłek z pojazdów pomocniczych lub z baz. Nie należy go używać w przypadku przesyłek, które są odbierane lub dostarczane przez klienta końcowego.
UNAVAILABLE Zadanie, które oznacza, że pojazd nie jest dostępny do serwisowania. Może się tak zdarzyć, gdy kierowca robi sobie przerwę lub tankuje pojazd.

TaskOutcomeLocationSource

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

Wartości w polu enum
TASK_OUTCOME_LOCATION_SOURCE_UNSPECIFIED Wynik zadania, zanim zostanie ustawiony.
PROVIDER Dostawca określił wartość taskOutcomeLocation.
LAST_VEHICLE_LOCATION Usługodawca nie podał wartości taskOutcomeLocation, więc Fleet Engine użył ostatniej znanej lokalizacji pojazdu.

JourneySharingInfo

Udostępnianie konkretnych pól w podróży

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

object (VehicleJourneySegment)

informacje śledzące przystanki, które wykona przypisany pojazd, zanim zakończy to zadanie; 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 od ostatniej znanej lokalizacji kierowcy do następnego VehicleStop. Informacje o bieżącej trasie pochodzą zwykle z aplikacji kierowcy, z wyjątkiem niektórych przypadków opisanych w dokumentacji 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. Zawierają informacje o trasie między pozostałymi VehicleStops.

lastLocation

object (DeliveryVehicleLocation)

Wskazuje ostatnią zgłoszoną lokalizację przypisanego pojazdu.

lastLocationSnappable

boolean

Wskazuje, czy ostatnia lokalizacja pojazdu może być dopasowana do currentRouteSegment. Ta wartość jest równa False, jeśli lastLocation lub currentRouteSegment nie istnieją. Ta wartość jest obliczana przez silnik floty. Aktualizacje od klientów są ignorowane.

TaskTrackingViewConfig

Komunikat konfiguracji określający, 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 ścieżki polilinii mogą być widoczne. Jeśli to pole nie zostanie określone, zostanie użyta domyślna konfiguracja widoczności tych danych na poziomie projektu.

estimatedArrivalTimeVisibility

object (VisibilityOption)

Pole określające, kiedy szacowany czas przyjazdu może być widoczny. Jeśli to pole nie zostanie określone, zostanie użyta domyślna konfiguracja widoczności tych danych na poziomie projektu.

estimatedTaskCompletionTimeVisibility

object (VisibilityOption)

Pole określające, kiedy może być widoczny szacowany czas ukończenia zadania. Jeśli to pole nie zostanie określone, zostanie użyta domyślna konfiguracja widoczności tych danych na poziomie projektu.

remainingDrivingDistanceVisibility

object (VisibilityOption)

Pole określające, kiedy widoczna jest pozostała odległość do przejechania. Jeśli to pole nie zostanie określone, zostanie użyta domyślna konfiguracja widoczności tych danych na poziomie projektu.

remainingStopCountVisibility

object (VisibilityOption)

Pole określające, kiedy widoczny może być pozostały czas zatrzymania. Jeśli to pole nie zostanie określone, zostanie użyta domyślna konfiguracja widoczności tych danych na poziomie projektu.

vehicleLocationVisibility

object (VisibilityOption)

Pole określające, kiedy lokalizacja pojazdu może być widoczna. Jeśli to pole nie zostanie określone, zostanie użyta domyślna konfiguracja widoczności tych danych na poziomie projektu.

VisibilityOption

Komunikat opcji określający, 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 unii visibility_option. Wybrana opcja widoczności. visibility_option może być tylko jednym z tych elementów:
remainingStopCountThreshold

integer

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

durationUntilEstimatedArrivalTimeThreshold

string (Duration format)

Ten element danych jest widoczny dla użytkowników, jeśli szacowany czas przyjazdu do przystanku <= wartość z elementu danych docelowyCzasPrzybliżenia.

Czas w sekundach z maksymalnie 9 miejscami po przecinku, zakończony literą „s”. Przykład: "3.5s".

remainingDrivingDistanceMetersThreshold

integer

Ten element danych jest widoczny dla użytkowników, jeśli pozostała odległość do przejechania w metrach <= remainingDrivingDistanceMetersThreshold.

always

boolean

Jeśli ma wartość Prawda, ten element danych jest zawsze widoczny dla użytkowników bez żadnych progów. To pole nie może być ustawione na „false”.

never

boolean

Jeśli ma wartość Prawda, ten element danych jest zawsze ukryty przed użytkownikami i nie ma dla niego żadnych progów. To pole nie może być ustawione na „false”.

Metody

batchCreate

Tworzy i zwraca partię nowych obiektów Task.

create

Tworzy i zwraca nowy obiekt Task.

delete

Usuwa pojedyncze zadanie.

get

Pobiera informacje o Task.

list

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

patch

Aktualizuje dane Task.