Lister les véhicules de livraison

Ce document explique comment lister les véhicules de livraison.

Environnements et limites

Vous pouvez lister les véhicules de livraison à partir d'un environnement serveur ou de navigateur. Le Pilote Le SDK ne permet pas de présenter des véhicules de livraison.

Répertorier des véhicules de livraison demande un accès étendu aux véhicules de livraison et est destiné uniquement à des utilisateurs de confiance. Utilisez les jetons Lecteur Fleet Engine Delivery ou Fleet Engine Delivery Admin lorsque vous envoyez des requêtes de liste des véhicules de livraison.

Les champs suivants sont masqués pour les véhicules de livraison répertoriés en raison de leur impact sur la taille de la réponse:

  • CurrentRouteSegment
  • RemainingVehicleJourneySegments

Utilisation

Vous pouvez répertorier les véhicules par filtres d'attributs et limites de la fenêtre d'affichage. Si vous indiquez sans filtre ni fenêtre d'affichage, la réponse inclut tous les véhicules de livraison.

Liste avec des filtres d'attributs

Vous pouvez répertorier les véhicules de livraison par filtre à l'aide de leur propriété attributes. Pour Par exemple, pour interroger un attribut avec la clé my_key et la valeur my_value, utilisez attributes.my_key = my_value Pour interroger plusieurs attributs, joignez des requêtes à l'aide des opérateurs logiques AND et OR, comme dans attributes.key1 = value1 AND attributes.key2 = value2. Pour obtenir une description complète de la syntaxe des requêtes de filtrage, consultez la section AIP-160. Si vous combinez des filtres avec les limites de la fenêtre d'affichage, le filtre sert d'opérateur AND à la fenêtre d'affichage. Pour en savoir plus, consultez la section Requêtes de filtrage des attributs de véhicule.

Liste avec les limites de la vue

Vous pouvez filtrer les véhicules de livraison répertoriés par zone géographique à l'aide du paramètre de requête viewport. Le paramètre de requête viewport définit des vues d'ensemble à l'aide de deux coordonnées de délimitation : une paire de coordonnées de latitude et de longitude high (nord-est) et low (sud-ouest). Les requêtes sont refusées si elles contiennent une latitude élevée qui est géographiquement inférieure à une latitude basse.

Lister les réponses

Par défaut, les listes de véhicules de diffusion sont paginées dans une taille de page raisonnable. Si vous spécifiez une taille de page, la requête ne renvoie que le nombre de véhicules spécifié par la limite ou un nombre inférieur. Si la taille de page demandée dépasse une valeur maximale interne, la valeur maximale interne est utilisée. Le nombre de pages par défaut et le nombre maximal de pages 100 véhicules.

Une liste de véhicules de livraison peut inclure un jeton pour lire la page de résultats suivante. Un jeton de page n'est présent dans une réponse que lorsque davantage de pages de diffusion les véhicules peuvent être récupérés. Pour récupérer la page de tâches suivante, utilisez le jeton de page par une requête, par ailleurs identique à la requête requête.

Exemples de listes de véhicules

Vous pouvez utiliser la bibliothèque gRPC Java gRPC ou REST pour répertorier les véhicules de livraison dans un une région particulière avec un certain attribut. Une réponse réussie peut toujours être vide. Cela signifie qu'aucun véhicule avec l'attribut spécifié dans la fenêtre d'affichage spécifiée.

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"

Si la recherche aboutit, le corps de la réponse contient des données présentant les caractéristiques suivantes : structure:

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

Étape suivante