Method: providers.vehicles.search

Retorna uma lista de veículos que correspondem às opções de solicitação.

Solicitação HTTP

POST https://fleetengine.googleapis.com/v1/{parent=providers/*}/vehicles:search

O URL usa a sintaxe de transcodificação gRPC.

Parâmetros de caminho

Parâmetros
parent

string

Obrigatório. Precisa estar no formato providers/{provider}. O provedor precisa ser o ID do projeto (por exemplo, sample-cloud-project) do projeto do Google Cloud de que a conta de serviço que está fazendo a chamada faz parte.

Corpo da solicitação

O corpo da solicitação contém dados com a seguinte estrutura:

Representação JSON
{
  "header": {
    object (RequestHeader)
  },
  "pickupPoint": {
    object (TerminalLocation)
  },
  "dropoffPoint": {
    object (TerminalLocation)
  },
  "pickupRadiusMeters": integer,
  "count": integer,
  "minimumCapacity": integer,
  "tripTypes": [
    enum (TripType)
  ],
  "maximumStaleness": string,
  "vehicleTypes": [
    {
      object (VehicleType)
    }
  ],
  "requiredAttributes": [
    {
      object (VehicleAttribute)
    }
  ],
  "requiredOneOfAttributes": [
    {
      object (VehicleAttributeList)
    }
  ],
  "requiredOneOfAttributeSets": [
    {
      object (VehicleAttributeList)
    }
  ],
  "orderBy": enum (VehicleMatchOrder),
  "includeBackToBack": boolean,
  "tripId": string,
  "currentTripsPresent": enum (CurrentTripsPresent),
  "filter": string
}
Campos
header

object (RequestHeader)

O cabeçalho de solicitação padrão do Fleet Engine.

pickupPoint

object (TerminalLocation)

Obrigatório. O ponto de partida para pesquisar por perto.

dropoffPoint

object (TerminalLocation)

O local de desembarque do cliente. O campo será obrigatório se tripTypes contiver TripType.SHARED.

pickupRadiusMeters

integer

Obrigatório. Define o raio de pesquisa do veículo ao redor do ponto de embarque. Somente veículos dentro do raio de pesquisa serão retornados. O valor precisa estar entre 400 e 10.000 metros (inclusive).

count

integer

Obrigatório. Especifica o número máximo de veículos a serem retornados. O valor precisa estar entre 1 e 50 (inclusive).

minimumCapacity

integer

Obrigatório. Especifica o número de passageiros considerados para uma viagem. O valor precisa ser maior ou igual a um. O motorista não é considerado no valor da capacidade.

tripTypes[]

enum (TripType)

Obrigatório. Representa o tipo de viagem proposta. É preciso incluir exatamente um tipo. A política UNKNOWN_TRIP_TYPE não é permitida. Restringe a pesquisa apenas aos veículos que são compatíveis com esse tipo de viagem.

maximumStaleness

string (Duration format)

Restringe a pesquisa apenas aos veículos que enviaram atualizações de localização ao Fleet Engine dentro do período especificado. Veículos parados que ainda transmitem suas localizações não são considerados desatualizados. Se este campo não for definido, o servidor usará cinco minutos como valor padrão.

Uma duração em segundos com até nove dígitos fracionários, terminando em "s". Exemplo: "3.5s".

vehicleTypes[]

object (VehicleType)

Obrigatório. Restringe a pesquisa a veículos com um dos tipos especificados. É necessário especificar pelo menos um tipo de veículo. Não são permitidos VehicleTypes com uma categoria de UNKNOWN.

requiredAttributes[]

object (VehicleAttribute)

Os autores da chamada podem formar operações lógicas complexas usando qualquer combinação dos campos requiredAttributes, requiredOneOfAttributes e requiredOneOfAttributeSets.

requiredAttributes é uma lista. O requiredOneOfAttributes usa uma mensagem que permite a criação de listas. Em combinação, os dois campos permitem a composição dessa expressão:

(requiredAttributes[0] AND requiredAttributes[1] AND ...)
AND
(requiredOneOfAttributes[0][0] OR requiredOneOfAttributes[0][1] OR
...)
AND
(requiredOneOfAttributes[1][0] OR requiredOneOfAttributes[1][1] OR
...)

Restringe a pesquisa apenas aos veículos com os atributos especificados. Este campo é uma operação conjunta/AND. São permitidos no máximo 50 requiredAttributes. Esse número corresponde ao número máximo de atributos permitidos em um veículo.

requiredOneOfAttributes[]

object (VehicleAttributeList)

Restringe a pesquisa apenas aos veículos com pelo menos um dos atributos especificados em cada VehicleAttributeList. Em cada lista, um veículo precisa corresponder a pelo menos um dos atributos. Este campo é uma operação inclusiva de disjunção/OU em cada VehicleAttributeList e uma operação de conjunção/E em toda a coleção de VehicleAttributeList.

requiredOneOfAttributeSets[]

object (VehicleAttributeList)

requiredOneOfAttributeSets oferece mais funcionalidades.

Assim como requiredOneOfAttributes, requiredOneOfAttributeSets usa uma mensagem que permite uma lista de listas, permitindo expressões como esta:

(requiredAttributes[0] AND requiredAttributes[1] AND ...)
AND
(
  (requiredOneOfAttributeSets[0][0] AND
  requiredOneOfAttributeSets[0][1] AND
  ...)
  OR
  (requiredOneOfAttributeSets[1][0] AND
  requiredOneOfAttributeSets[1][1] AND
  ...)
)

Restringe a pesquisa apenas aos veículos com todos os atributos em uma VehicleAttributeList. Em cada lista, um veículo precisa corresponder a todos os atributos. Este campo é uma operação de conjunção/AND em cada VehicleAttributeList e operação de disjunção/OR inclusiva em todo o conjunto de VehicleAttributeList.

orderBy

enum (VehicleMatchOrder)

Obrigatório. Especifica o critério de ordenação desejado para resultados.

includeBackToBack

boolean

Isso indica se veículos com uma única viagem ativa estão qualificados para a pesquisa. Esse campo só é usado quando currentTripsPresent não é especificado. Quando currentTripsPresent não for especificado e esse campo for false, os veículos com viagens atribuídas serão excluídos dos resultados da pesquisa. Quando currentTripsPresent não for especificado e o campo for true, os resultados da pesquisa poderão incluir veículos com uma viagem ativa com status ENROUTE_TO_DROPOFF. Quando currentTripsPresent é especificado, esse campo não pode ser definido como verdadeiro.

O valor padrão é false.

tripId

string

Indica a viagem associada a SearchVehicleRequest.

currentTripsPresent

enum (CurrentTripsPresent)

Isso indica se veículos com viagens ativas estão qualificados para essa pesquisa. Precisa ser definido como algo diferente de CURRENT_TRIPS_PRESENT_UNSPECIFIED se tripType incluir SHARED.

filter

string

Opcional. Uma consulta de filtro para aplicar ao pesquisar veículos. Consulte exemplos da sintaxe de filtro em http://aip.dev/160 (em inglês).

Esse campo foi projetado para substituir os campos requiredAttributes, requiredOneOfAttributes e required_one_of_attributes_sets. Se um valor não vazio for especificado aqui, os campos a seguir precisarão estar vazios: requiredAttributes, requiredOneOfAttributes e required_one_of_attributes_sets.

Esse filtro funciona como uma cláusula "E" com outras restrições, como minimumCapacity ou vehicleTypes.

As únicas consultas aceitas são em atributos do veículo (por exemplo, attributes.<key> = <value> ou attributes.<key1> = <value1> AND attributes.<key2> = <value2>). O número máximo de restrições permitido em uma consulta de filtro é 50.

Além disso, todos os atributos são armazenados como strings. Portanto, as únicas comparações compatíveis com os atributos são as de strings. Para comparar com valores numéricos ou booleanos, os valores precisam ser explicitamente citados para serem tratados como strings (por exemplo, attributes.<key> = "10" ou attributes.<key> = "true").

Corpo da resposta

vehicles.search mensagem de resposta.

Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:

Representação JSON
{
  "matches": [
    {
      object (VehicleMatch)
    }
  ]
}
Campos
matches[]

object (VehicleMatch)

Lista de veículos que correspondem aos critérios SearchVehiclesRequest, ordenados de acordo com o campo SearchVehiclesRequest.order_by.

VehicleAttributeList

Uma lista de tipos de dados de listas para atributos do veículo.

Representação JSON
{
  "attributes": [
    {
      object (VehicleAttribute)
    }
  ]
}
Campos
attributes[]

object (VehicleAttribute)

Uma lista de atributos nesta coleção.

VehicleMatchOrder

Especifica a ordem das correspondências de veículos na resposta.

Enums
UNKNOWN_VEHICLE_MATCH_ORDER Padrão, usado para veículos não especificados ou não reconhecidos correspondem ao pedido.
PICKUP_POINT_ETA Pedido crescente por tempo de direção do veículo até o ponto de embarque.
PICKUP_POINT_DISTANCE Ordem crescente por distância de carro até o ponto de embarque.
DROPOFF_POINT_ETA Ordem crescente por tempo de direção do veículo até o ponto de desembarque. Esse pedido só pode ser usado se o ponto de desembarque for especificado na solicitação.
PICKUP_POINT_STRAIGHT_DISTANCE Ordem crescente por distância em linha reta do último local informado do veículo até o ponto de embarque.
COST Ordem crescente pelo custo de correspondência configurado. O custo de correspondência é definido como um cálculo ponderado entre a distância em linha reta e o HEC. Os pesos são definidos com valores padrão e podem ser modificados por cliente. Entre em contato com o Suporte do Google se for preciso alterar esses pesos para o projeto.

CurrentTripsPresent

Especifica os tipos de restrições nas viagens atuais de um veículo.

Enums
CURRENT_TRIPS_PRESENT_UNSPECIFIED A disponibilidade de veículos com viagens presentes é regida pelo campo includeBackToBack.
NONE Veículos sem viagens podem aparecer nos resultados da pesquisa. Quando esse valor é usado, includeBackToBack não pode ser true.
ANY Veículos com no máximo cinco viagens e 10 waypoints atuais são incluídos nos resultados da pesquisa. Quando esse valor é usado, includeBackToBack não pode ser true.

VehicleMatch

Contém o veículo e as estimativas relacionadas que correspondem aos pontos de viagens ativas do veículo SearchVehiclesRequest.

Representação JSON
{
  "vehicle": {
    object (Vehicle)
  },
  "vehiclePickupEta": string,
  "vehiclePickupDistanceMeters": integer,
  "vehiclePickupStraightLineDistanceMeters": integer,
  "vehicleDropoffEta": string,
  "vehiclePickupToDropoffDistanceMeters": integer,
  "tripType": enum (TripType),
  "vehicleTripsWaypoints": [
    {
      object (Waypoint)
    }
  ],
  "vehicleMatchType": enum (VehicleMatchType),
  "requestedOrderedBy": enum (VehicleMatchOrder),
  "orderedBy": enum (VehicleMatchOrder)
}
Campos
vehicle

object (Vehicle)

Obrigatório. Um veículo que corresponde à solicitação.

vehiclePickupEta

string (Timestamp format)

O HEC de carro do veículo até o ponto de embarque especificado na solicitação. Um valor vazio indica uma falha no cálculo do HEC do veículo. Se o valor de SearchVehiclesRequest.include_back_to_back era true e esse veículo tem uma viagem ativa, o vehiclePickupEta inclui o tempo necessário para concluir a viagem ativa atual.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

vehiclePickupDistanceMeters

integer

A distância entre a localização atual do Veículo e o ponto de embarque especificado na solicitação, incluindo pontos intermediários de embarque ou desembarque de viagens atuais. Essa distância compreende a distância de carro (trajeto) calculada mais a distância em linha reta entre o ponto de destino da navegação e o ponto de embarque solicitado. A distância entre o ponto de destino da navegação e o ponto de embarque solicitado geralmente é pequena. Um valor vazio indica um erro no cálculo da distância.

vehiclePickupStraightLineDistanceMeters

integer

Obrigatório. A distância em linha reta entre o veículo e o ponto de embarque especificado na solicitação.

vehicleDropoffEta

string (Timestamp format)

O HEC completo do veículo até o ponto de desembarque especificado na solicitação. O HEC inclui uma parada em qualquer waypoint antes do dropoffPoint especificado na solicitação. O valor só será preenchido quando um ponto de desembarque for especificado na solicitação. Um valor vazio indica um erro no cálculo do HEC.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

vehiclePickupToDropoffDistanceMeters

integer

A distância de carro (em metros) do ponto de embarque até o ponto de desembarque especificado na solicitação. A distância é apenas entre os dois pontos e não inclui a localização do veículo ou qualquer outro ponto que precise ser visitado antes da visita do veículo ao ponto de embarque ou desembarque. O valor só será preenchido quando um dropoffPoint for especificado na solicitação. Um valor vazio indica uma falha no cálculo da distância entre o ponto de partida e o desembarque especificado na solicitação.

tripType

enum (TripType)

Obrigatório. O tipo de viagem da solicitação usado para calcular o HEC até o ponto de embarque.

vehicleTripsWaypoints[]

object (Waypoint)

A lista ordenada de waypoints usados para calcular o HEC. A lista inclui a localização do veículo, os pontos de embarque das viagens ativas e os pontos de embarque fornecidos na solicitação. Uma lista vazia indica uma falha no cálculo do HEC do veículo.

vehicleMatchType

enum (VehicleMatchType)

Tipo de correspondência do veículo.

requestedOrderedBy

enum (VehicleMatchOrder)

O pedido solicitado para classificar correspondências de veículo.

orderedBy

enum (VehicleMatchOrder)

O pedido real usado para este veículo. Normalmente, esse valor corresponderá ao campo "orderBy" da solicitação. No entanto, em determinadas circunstâncias, como em um erro interno do servidor, é possível usar um método diferente (por exemplo, PICKUP_POINT_STRAIGHT_DISTANCE).

Ponto de referência

Descreve pontos intermediários ao longo de um trajeto para um VehicleMatch em um SearchVehiclesResponse. Esse conceito é representado como TripWaypoint em todos os outros endpoints.

Representação JSON
{
  "latLng": {
    object (LatLng)
  },
  "eta": string
}
Campos
latLng

object (LatLng)

O local deste waypoint.

eta

string (Timestamp format)

O tempo estimado que o veículo chegará a esse waypoint.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

VehicleMatchType

Tipo de correspondência de veículo.

Enums
UNKNOWN Tipo de correspondência de veículo desconhecido
EXCLUSIVE O veículo não tem uma viagem atribuída e pode prosseguir até o ponto de embarque.
BACK_TO_BACK O veículo está atribuído a uma viagem, mas pode ir até o ponto de embarque depois de concluir a viagem em andamento. Os cálculos de HEC e distância consideram a viagem atual.
CARPOOL O veículo tem capacidade suficiente para uma viagem compartilhada.
CARPOOL_BACK_TO_BACK O veículo vai terminar a viagem atual antes de seguir para o ponto de embarque. Os cálculos de HEC e distância consideram a viagem atual.