Ce document explique comment répertorier les véhicules de livraison.
Environnements et limites
Vous pouvez répertorier les véhicules de livraison à partir d'un environnement de 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. Utiliser Delivery Fleet Reader ou Fleet Engine Jetons d'administration de diffusion lorsque vous effectuez des demandes de véhicules de livraison de listes.
Les champs suivants sont masqués pour les véhicules de livraison répertoriés en raison de leur impact sur la taille de 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 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 effectuer une requête portant sur plusieurs attributs, effectuez des requêtes de jointure
en utilisant les opérateurs logiques AND
et OR
, comme dans attributes.key1 = value1 AND
attributes.key2 = value2
. Voir AIP-160 pour une description complète
de la syntaxe des requêtes de filtre. 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. Voir le filtre "Attributs de véhicule"
requêtes pour en savoir plus.
Liste avec limites de la fenêtre d'affichage
Vous pouvez filtrer les véhicules de livraison listés par lieu à l'aide de la requête viewport
. Le paramètre de requête viewport
définit les fenêtres d'affichage à l'aide de deux limites
coordonnées: une latitude et une longitude de high
(nord-est) et de low
(sud-ouest)
de coordonnées. Les requêtes contenant une latitude élevée sont refusées
située géographiquement
inférieure à une faible latitude.
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, 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 permettant de lire la page suivante résultats. 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.
Répertorier des exemples 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 positive 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
}