Elenca veicoli per la consegna

Questo documento descrive come elencare i veicoli per le consegne.

Ambienti e limitazioni

Puoi elencare i veicoli per le consegne da un ambiente server o browser. L'SDK Driver non supporta l'elenco dei veicoli per le consegne.

La visualizzazione dell'elenco dei veicoli per le consegne richiede un accesso ampio ai veicoli per le consegne ed è destinata solo agli utenti attendibili. Utilizza i token Delivery Fleet Reader o Fleet Engine Delivery Admin quando effettui richieste di elenco dei veicoli di consegna.

I veicoli per le consegne elencati hanno i seguenti campi oscurati a causa del loro impatto sulle dimensioni della risposta:

  • CurrentRouteSegment
  • RemainingVehicleJourneySegments

Utilizzo

Puoi elencare i veicoli in base ai filtri degli attributi e ai limiti dell'area visibile. Se non specifichi alcun filtro o viewport, la risposta include tutti i veicoli per le consegne.

Elenco con filtri degli attributi

Puoi elencare i veicoli per le consegne in base al filtro utilizzando la proprietà attributes. Ad esempio, per eseguire una query su un attributo con chiave my_key e valore my_value, utilizza attributes.my_key = my_value. Per eseguire query su più attributi, unisci le query utilizzando gli operatori logici AND e OR come in attributes.key1 = value1 AND attributes.key2 = value2. Consulta AIP-160 per una descrizione completa della sintassi delle query di filtro. Se combini i filtri con i limiti dell'area visibile, il filtro funge da operatore AND per il limite dell'area visibile. Per maggiori dettagli, consulta Query di filtro degli attributi dei veicoli.

Elenco con limiti della visualizzazione

Puoi filtrare i veicoli per le consegne elencati in base alla località utilizzando il parametro di richiesta viewport. Il parametro di richiesta viewport definisce i viewport utilizzando due coordinate di delimitazione: una coppia di coordinate di latitudine e longitudine high (nord-est) e low (sud-ovest). Le richieste vengono rifiutate se contengono una latitudine alta che è geograficamente inferiore a una latitudine bassa.

Elenca risposte

Gli elenchi dei veicoli per le consegne sono impaginati per impostazione predefinita utilizzando dimensioni di pagina ragionevoli. Se specifichi una dimensione della pagina, la richiesta restituisce solo il numero di veicoli specificato dal limite o un numero inferiore. Se la dimensione della pagina richiesta supera un valore massimo interno, viene utilizzato il valore massimo interno. Le dimensioni predefinite e massime della pagina sono entrambe di 100 veicoli.

Un elenco di veicoli per le consegne può includere un token per la lettura della pagina successiva dei risultati. Un token di pagina è presente in una risposta solo quando sono disponibili più pagine di veicoli per le consegne da recuperare. Per recuperare la pagina successiva delle attività, utilizza il token di pagina con una richiesta altrimenti identica alla richiesta precedente.

Esempi di elenco di veicoli

Puoi utilizzare la libreria gRPC Java o REST per elencare i veicoli per le consegne in una determinata regione con un determinato attributo. Una risposta positiva può comunque essere vuota. In questo caso, significa che non esistono veicoli con l'attributo specificato nell'area visibile specificata. Per un elenco completo delle lingue supportate, consulta Librerie client per i servizi di attività pianificate.

Java


  static final String PROJECT_ID = "my-delivery-co-gcp-project";

  DeliveryServiceBlockingStub deliveryService =
    DeliveryServiceGrpc.newBlockingStub(channel);

  // Tasks request
  String parent = "providers/" + PROJECT_ID;
  ListDeliveryVehiclesRequest listDeliveryVehiclesRequest =
    ListDeliveryVehiclesRequest.newBuilder()  // No need for the header
        .setParent(parent)
        .setViewport(
              Viewport.newBuilder()
                .setHigh(LatLng.newBuilder()
                    .setLatitude(37.45)
                    .setLongitude(-122.06)
                    .build())
                .setLow(LatLng.newBuilder()
                    .setLatitude(37.41)
                    .setLongitude(-122.11)
                    .build())
        .setFilter("attributes.my_key = my_value")
        .build();

  try {
    ListDeliveryVehiclesResponse listDeliveryVehiclesResponse =
        deliveryService.listDeliveryVehicles(listDeliveryVehiclesRequest);
  } catch (StatusRuntimeException e) {
    Status s = e.getStatus();
    switch (s.getCode()) {
        case NOT_FOUND:
            break;

        case PERMISSION_DENIED:
            break;
    }
    return;
  }

REST

  # HTTP request
  html GET https://fleetengine.googleapis.com/v1/providers/<project_id>/deliveryVehicles

  # Request with a filter
  # Request sets JWT, PROJECT_ID, and VEHICLE_ID in the local environment
  curl -H "Authorization: Bearer ${JWT}" \
    "https://fleetengine.googleapis.com/v1/providers/${PROJECT_ID}/deliveryVehicles?filter=attributes.my_key%20%3D%20my_value%20&viewport.high.latitude=37.45&viewport.high.longitude=-122.06&viewport.low.latitude=37.41&viewport.low.longitude=-122.11"

Se la ricerca ha esito positivo, il corpo della risposta contiene dati con la seguente struttura:

  // JSON representation
  {
    "deliveryVehicles": [
      {
        object (DeliveryVehicle)
      }
    ],
    "nextPageToken": string,
    "totalSize": integer
  }

Passaggi successivi