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 dostawą 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 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)

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

state

enum (State)

Wymagane. Bieżący stan wykonywania zadania.

taskOutcome

enum (TaskOutcome)

Wynik zadania.

taskOutcomeTime

string (Timestamp format)

Sygnatura czasowa wskazująca, kiedy wynik Task został ustawiony przez dostawcę.

Sygnatura czasowa w formacie UTC „Zulu” zdefiniowanym w dokumencie RFC 3339, z dokładnością do nanosekund i maksymalnie 9 miejsc po przecinku. Przykłady: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

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 z formą normalizacji C standardu Unicode.
  • 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ć 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)

Wymagane. Niezmienna. Czas potrzebny na wykonanie zadania w tej lokalizacji.

Czas trwania w sekundach składający się z maksymalnie dziewięciu cyfr po przecinku i kończący się „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. 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 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 związane z odebraniem 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. Zwrot pojazdów z magazynu lub uzupełniania powinien być zgodny z typem 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 depozytów. 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 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, zanim zostanie ustawiony.
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 ś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 znana lokalizacja pojazdu może być dopasowana do currentRouteSegment. Ta wartość jest równa False, jeśli argument lastLocation lub currentRouteSegment nie istnieje. Ta wartość jest obliczana przez silnik floty. 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 ścieżki polilinii 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 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 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 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 liczba pozostałych przystanków 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.

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 mieć tylko jedną z tych wartości:
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 dojazdu do przystanku <= wartość z elementu danych docelowyCzasPrzybliżonyDoDojazdu.

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 bez wartości progowych. 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.

get

Pobiera informacje o Task.

list

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

patch

Aktualizuje dane Task.