En este documento, se describe cómo enumerar los vehículos de entrega.
Entornos y limitaciones
Puedes crear una lista de vehículos de entrega desde un entorno de servidor o navegador. El conductor El SDK no admite la publicación de fichas de vehículos de entrega.
La ficha de vehículos de reparto solicita acceso amplio a los vehículos de reparto y solo está destinada a usuarios de confianza. Usa los tokens de Delivery Fleet Reader o Fleet Engine Delivery Admin cuando realices solicitudes de lista de vehículos de entrega.
Los siguientes campos de los vehículos de entrega que figuran en la lista se ocultan debido a su impacto según el tamaño de la respuesta:
CurrentRouteSegment
RemainingVehicleJourneySegments
Uso
Puedes enumerar los vehículos por filtros de atributos y límites del viewport. Si no especificas ningún filtro ni viewport, la respuesta incluirá todos los vehículos de publicación.
Lista con filtros de atributos
Puedes enumerar los vehículos de entrega mediante un filtro con su propiedad attributes
. Para
Por ejemplo, para consultar un atributo con la clave my_key
y el valor my_value
, usa
attributes.my_key = my_value
Para consultar varios atributos, une las consultas
con los operadores lógicos AND
y OR
, como en attributes.key1 = value1 AND
attributes.key2 = value2
. Consulta AIP-160 para obtener una descripción completa de la sintaxis de la consulta de filtro. Si combinas filtros con límites del viewport, el filtro
actúa como un operador AND
para el límite del viewport. Consulta Consultas de filtro de atributos de vehículos para obtener más información.
Lista con límites del viewport
Puedes filtrar los vehículos de entrega enumerados por ubicación con el parámetro de solicitud viewport
. El parámetro de solicitud viewport
define viewports con dos límites
coordenadas: una latitud y longitud high
(nordeste) y low
(sudoeste)
par de coordenadas. Las solicitudes se rechazan si contienen una latitud alta
geográficamente más baja que una latitud baja.
Enumerar respuestas
Las listas de vehículos de entrega se paginan de forma predeterminada con un tamaño de página razonable. Si especificas un tamaño de página, la solicitud devuelve solo el número de vehículos especificado por el límite, o menos. Si el tamaño de página solicitado supera un límite se usa el valor máximo interno. El tamaño de página predeterminado y máximo es de 100 vehículos.
Una lista de vehículos de reparto puede incluir un token para leer la siguiente página de resultados. Un token de página solo está presente en una respuesta cuando hay más páginas de vehículos de entrega disponibles para su recuperación. Para recuperar la página siguiente de tareas, usa el token de la página con una solicitud que es idéntica a la anterior para cada solicitud.
Enumera ejemplos de vehículos
Puedes usar la biblioteca de gRPC de Java o REST para enumerar los vehículos de entrega en una región particular con un atributo determinado. Una respuesta correcta puede estar vacía. Cuando eso sucede, significa que ningún vehículo con el atributo especificado existen en el viewport especificado.
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 búsqueda se realiza correctamente, el cuerpo de la respuesta contiene datos con la siguiente estructura:
// JSON representation
{
"deliveryVehicles": [
{
object (DeliveryVehicle)
}
],
"nextPageToken": string,
"totalSize": integer
}