Enumerar vehículos de entrega

En este documento, se describe cómo enumerar los vehículos de entrega.

Entornos y limitaciones

Puedes enumerar 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.

Enumerar los vehículos de entrega solicita un acceso amplio a los vehículos de entrega y es destinados únicamente a usuarios de confianza. Usa Delivery Fleet Reader o Fleet Engine Tokens de administrador de entrega cuando realices solicitudes de listas de vehículos de entrega.

Los siguientes campos de los vehículos de entrega enumerados tienen los siguientes campos ocultos debido a su impacto según el tamaño de la respuesta:

  • CurrentRouteSegment
  • RemainingVehicleJourneySegments

Uso

Puedes enumerar vehículos por filtros de atributos y límites de viewport. Si especificas sin filtro ni viewport, la respuesta incluye todos los vehículos de entrega.

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 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 el filtro de atributos de vehículo. consultas para obtener más detalles.

Lista con límites de viewport

Puedes filtrar los vehículos de entrega de la lista por ubicación con la solicitud viewport parámetro. 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. Página predeterminada y máxima ambos tamaños son de 100 vehículos.

Una lista de vehículos de entrega 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 entrega vehículos están 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 gRPC de Java o REST para enumerar los vehículos de entrega en un región con un atributo específico. Una respuesta exitosa aún puede ser vacío. 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 lo siguiente: estructura:

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

¿Qué sigue?