Listar veículos de entrega

Este documento descreve como listar veículos de entrega.

Ambientes e limitações

É possível listar veículos de entrega de um ambiente de servidor ou navegador. O motorista O SDK não aceita a listagem de veículos de entrega.

A listagem de veículos de entrega solicita amplo acesso a veículos de entrega e é destinados apenas a usuários confiáveis. Use o Leitor de frota de entrega ou o Mecanismo de frota Tokens de administração de entrega ao fazer solicitações de veículos de entrega de listas.

Os veículos de entrega listados têm os seguintes campos encobertos devido ao impacto no tamanho da resposta:

  • CurrentRouteSegment
  • RemainingVehicleJourneySegments

Uso

É possível listar os veículos por filtros de atributo e limites da janela de visualização. Se você especificar sem filtro ou janela de visualização, a resposta inclui todos os veículos de entrega.

Lista com filtros de atributos

É possível listar veículos de entrega por filtro usando a propriedade attributes deles. Para 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, mescle as consultas usando os operadores lógicos AND e OR, como em attributes.key1 = value1 AND attributes.key2 = value2. Consulte AIP-160 para ver a descrição completa de sintaxe de consulta de filtro. Se você combinar filtros com os limites da janela de visualização, o filtro atua como um operador AND para o limite da janela de visualização. Consulte Filtro de atributos do veículo consultas para mais detalhes.

Lista com limites da janela de visualização

É possível filtrar os veículos de entrega listados por local usando a solicitação viewport. . O parâmetro de solicitação viewport define janelas de visualização usando dois limites coordenadas: latitude e longitude high (nordeste) e low (sudoeste) de coordenadas. As solicitações serão rejeitadas se contiverem uma latitude alta. geograficamente inferior a uma latitude baixa.

Listar respostas

As listas de veículos de entrega são paginadas por padrão com um tamanho de página razoável. Se você especificar um tamanho de página, a solicitação retornará apenas o número de veículos especificado pelo limite ou menos. Se o tamanho da página solicitada exceder um tamanho então o máximo interno será usado. As páginas padrão e máxima são 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ó estará presente em uma resposta quando mais páginas de entrega veículos disponíveis para recuperação. Para acessar a próxima página de tarefas, use o token da página com uma solicitação que é idêntica à anterior solicitação.

Listar exemplos de veículos

Você pode usar a biblioteca Java gRPC ou REST para listar veículos de entrega em um região específica com determinado atributo. Uma resposta bem-sucedida ainda pode ser vazio. Quando isso acontece, significa que nenhum veículo com o atributo especificado existem na janela de visualização 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 o seguinte estrutura:

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

A seguir