Este documento descreve como listar veículos de entrega.
Ambientes e limitações
É possível listar veículos de entrega em um ambiente de servidor ou navegador. O SDK do motorista não oferece suporte para listar veículos de entrega.
A listagem de veículos de entrega solicita acesso amplo a veículos de entrega e é destinada apenas a usuários confiáveis. Use os tokens Delivery Fleet Reader ou Fleet Engine Delivery Admin ao fazer solicitações de lista de veículos de entrega.
Os veículos de entrega listados têm os seguintes campos editados devido ao impacto no tamanho da resposta:
CurrentRouteSegment
RemainingVehicleJourneySegments
Uso
É possível listar veículos por filtros de atributo e limites de visualização. Se você não especificar nenhum filtro ou viewport, a resposta vai incluir todos os veículos de entrega.
Lista com filtros de atributos
É possível listar veículos de entrega por filtro usando a propriedade attributes
. Por
exemplo, para consultar um atributo com a chave my_key
e o valor my_value
, use
attributes.my_key = my_value
. Para consultar vários atributos, una consultas
usando os operadores lógicos AND
e OR
, como em attributes.key1 = value1 AND
attributes.key2 = value2
. Consulte AIP-160 para uma descrição completa
da sintaxe de consulta de filtro. Se você combinar filtros com limites de viewport, o filtro
vai funcionar como um operador AND
para o limite de viewport. Consulte Consultas de filtro de atributos de veículos para mais detalhes.
Lista com limites de viewport
É possível filtrar os veículos de entrega listados por local usando o parâmetro de solicitação viewport
. O parâmetro de solicitação viewport
define visualizações usando duas coordenadas
de limitação: um par de coordenadas de latitude e longitude high
(nordeste) e low
(sudoeste). As solicitações são rejeitadas se contiverem uma latitude alta
que seja geograficamente menor que uma latitude baixa.
Listar respostas
As listas de veículos de entrega são paginadas por padrão usando um tamanho de página razoável. Se você especificar um tamanho de página, a solicitação vai retornar apenas o número de veículos especificado pelo limite ou menos. Se o tamanho da página solicitado exceder um valor máximo interno, o máximo interno será usado. Os tamanhos de página padrão e máximo são de 100 veículos.
Uma lista de veículos de entrega pode incluir um token para ler a próxima página de resultados. Um token de página só está presente em uma resposta quando mais páginas de veículos de entrega estão disponíveis para recuperação. Para recuperar a próxima página de tarefas, use o token de página com uma solicitação idêntica à anterior.
Exemplos de veículos da lista
É possível usar a biblioteca Java gRPC ou o REST para listar veículos de entrega em uma região específica com um determinado atributo. Uma resposta bem-sucedida ainda pode estar vazia. Quando isso acontece, significa que nenhum veículo com o atributo especificado existe na viewport especificada.
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 a pesquisa for bem-sucedida, o corpo da resposta conterá dados com a seguinte estrutura:
// JSON representation
{
"deliveryVehicles": [
{
object (DeliveryVehicle)
}
],
"nextPageToken": string,
"totalSize": integer
}