Elenca veicoli per la consegna

Questo documento descrive come elencare i veicoli di consegna.

Ambienti e limitazioni

Puoi elencare i veicoli di consegna da un ambiente server o browser. Il conducente L'SDK non supporta le schede dei veicoli per la consegna.

La pubblicazione di veicoli per la consegna richiede un accesso ampio ai veicoli per la consegna ed è rivolta solo agli utenti attendibili. Utilizza i token Lettore Delivery Fleet o Amministratore Delivery Fleet di Fleet Engine quando effettui richieste di veicoli per la consegna degli elenchi.

I veicoli di consegna 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 specifichi nessun filtro o area visibile, la risposta include tutti i veicoli per la consegna.

Elenco con filtri degli attributi

Puoi elencare i veicoli per la consegna filtrando in base alla loro 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. Per una descrizione completa, vedi AIP-160 della sintassi delle query di filtro. Se combini i filtri con i limiti del viewport, il filtro agisce come operatore AND per il limite del viewport. Per maggiori dettagli, consulta la sezione Query di filtro degli attributi dei veicoli.

Elenco con limiti dell'area visibile

Puoi filtrare i veicoli per la consegna elencati per località utilizzando la richiesta viewport . Il parametro di richiesta viewport definisce le aree visibili utilizzando due delimitazioni coordinate: latitudine e longitudine di high (nord-est) e low (sud-ovest) la coppia di coordinate. Le richieste vengono rifiutate se contengono una latitudine elevata geograficamente inferiore a una latitudine bassa.

Elenca risposte

Per impostazione predefinita, gli elenchi di veicoli di consegna sono suddivisi in pagine utilizzando dimensioni ragionevoli. Se specifichi una dimensione di pagina, la richiesta restituisce solo il numero specificato dal limite, o meno. Se le dimensioni della pagina richieste superano un valore massimo interno, viene utilizzato il valore massimo interno. Le dimensioni della pagina predefinite e massime sono entrambe di 100 veicoli.

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

Esempi di elenchi di veicoli

Puoi utilizzare la libreria Java gRPC o REST per elencare i veicoli di consegna in una regione specifica con un determinato attributo. Una risposta corretta può comunque essere vuoto. In questo caso, significa che non esistono veicoli con l'attributo specificato nel viewport specificato.

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 va a buon fine, il corpo della risposta contiene i dati con la seguente struttura:

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

Passaggi successivi